Bug 701199

Summary: intel [945GM] Combination of desktop settings causes Xserver crash
Product: [openSUSE] openSUSE 12.1 Reporter: Casual J. Programmer <casualprogrammer>
Component: X.OrgAssignee: Stefan Dirsch <sndirsch>
Status: RESOLVED FIXED QA Contact: E-mail List <xorg-maintainer-bugs>
Severity: Major    
Priority: P3 - Medium CC: abonilla, badshah400, casualprogrammer, forgotten_KjUTH09OjI, glin, jeffm, Jeshiideru, lestat.baeza, rwooninck, simon.crute, vuntz
Version: Factory   
Target Milestone: ---   
Hardware: i686   
OS: SUSE Other   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 701131    
Attachments: .xsession-errors & .xsession-errors.old
.xsession-errors created during problem situation
/var/log/Xorg.0.*
Fresh Xorg logs
.xsession-errors created during most recent problem situation

Description Casual J. Programmer 2011-06-21 09:24:48 UTC
The summary isn't very enlightening, so feel free to come up with a more picturesque alternative.

As it happens a combination of setting a background picture, (System Settings/Background) having startup application remember running applications on logout (Activities/Applications/Other/Startup Applications/Options) and having File Manager control the desktop (Activities/Applications/Accessories/Tweak Advanced Settings/File Manager) causes an infinite loop on logout and login.

Gnome shell starts, loads the desktop, then crashes and comes back with the login screen.

The only solution I found so far, is deleting $HOME/.config/dconf/user from a terminal.

One sequence of events to reproduce the behaviour is:

1. Log in
2. Select a background image (User/System Settings/Background)
3. Have startup applications remember running applications on logout (Activities/Applications/Other/Startup Applications/Options)
4. Set File Manager to control the Desktop (Activities/Applications/Accesories/Tweak Advanced Settings/File Manager check the checkbox)
5. Log out
6. Log back in
7. Loop

gnome-desktop2-2.32.1-10.2.i586
gnome-tweak-tool-3.0.4-1.1.noarch
gnome-settings-daemon-3.1.1-1.1.i586
Comment 1 Gary Ching-Pang Lin 2011-06-24 10:09:18 UTC
I found this issue didn't exist in fedora 15, and also found the backtrace log in Xorg.0.log.old after crash.

Backtrace:
[ 10854.440] 0: /usr/bin/Xorg (xorg_backtrace+0x37) [0x80addc7]
[ 10854.440] 1: /usr/bin/Xorg (0x8048000+0x5ce8a) [0x80a4e8a]
[ 10854.440] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xffffe410]
[ 10854.441] 3: /usr/lib/xorg/modules/extensions/libglx.so (0xb7161000+0x35fac) [0xb7196fac]
[ 10854.441] 4: /usr/bin/Xorg (FreeClientResources+0xee) [0x8098a6e]
[ 10854.441] 5: /usr/bin/Xorg (CloseDownClient+0x6b) [0x8070f5b]
[ 10854.441] 6: /usr/bin/Xorg (0x8048000+0x291be) [0x80711be]
[ 10854.441] 7: /usr/bin/Xorg (0x8048000+0x29ad7) [0x8071ad7]
[ 10854.441] 8: /usr/bin/Xorg (0x8048000+0x1e895) [0x8066895]
[ 10854.441] 9: /lib/libc.so.6 (__libc_start_main+0xfe) [0xb72dbc2e]
[ 10854.441] 10: /usr/bin/Xorg (0x8048000+0x1e471) [0x8066471]
[ 10854.441] Segmentation fault at address 0x5a7
[ 10854.441] 
Fatal server error:
[ 10854.441] Caught signal 11 (Segmentation fault). Server aborting

Compared with fedora 15, they uses xorg-server 1.10.1 while op12.1 is using 1.9.3. Perhaps we can try a newer xorg and see whether this issue persists or not.
Comment 2 Casual J. Programmer 2011-06-25 08:14:41 UTC
installation of gnome-shell-extension-xrandr-indicator causes the problem too.

gnome-shell-extension-xrandr-indicator-3.0.2-2.1.noarch
Comment 3 Forgotten User KjUTH09OjI 2011-06-25 08:19:01 UTC
(In reply to comment #2)
> installation of gnome-shell-extension-xrandr-indicator causes the problem too.
> 
> gnome-shell-extension-xrandr-indicator-3.0.2-2.1.noarch

This issue is something completely different, has been fixed upstream and is already on GNOME:Factory.

NM
Comment 4 Forgotten User KjUTH09OjI 2011-06-25 08:22:57 UTC
And please if you can provide on attachment ~/.xsession-errors* would be awesome.
Comment 5 Casual J. Programmer 2011-06-25 08:34:19 UTC
Created attachment 436634 [details]
.xsession-errors & .xsession-errors.old
Comment 6 Forgotten User KjUTH09OjI 2011-06-25 09:27:37 UTC
I wonder if the cause why it's crashing isn't Compiz being enabled... Could you please try with Compiz disabled?
Comment 7 Casual J. Programmer 2011-06-25 10:14:36 UTC
Compiz isn't enabled, enabling it causes a crash in it's own right (Bug 691113). But traces of that may still be present in the .xsession errors.

I will delete the .xsession-error files and go through the reproduction steps afresh, then attach the resulting files.
Comment 8 Casual J. Programmer 2011-06-25 10:35:22 UTC
Created attachment 436649 [details]
.xsession-errors created during problem situation
Comment 9 Gary Ching-Pang Lin 2011-07-04 07:07:35 UTC
*** Bug 703484 has been marked as a duplicate of this bug. ***
Comment 10 Gary Ching-Pang Lin 2011-07-04 07:08:03 UTC
*** Bug 687374 has been marked as a duplicate of this bug. ***
Comment 11 Vincent Untz 2011-07-07 11:37:49 UTC
Based on .xsession-errors, I believe that X is crashing. Can you also attach the log from Xorg?
Comment 12 Casual J. Programmer 2011-07-07 12:40:03 UTC
Created attachment 438774 [details]
/var/log/Xorg.0.*
Comment 13 Vincent Untz 2011-07-07 13:16:04 UTC
Hrm, I don't see any crash there. Are those logs from a crashed session?
Comment 14 Casual J. Programmer 2011-07-07 13:51:32 UTC
Created attachment 438782 [details]
Fresh Xorg logs

Well, to make sure, I went through the procedure again. I deleted the Xorg logs from runlevel 3, then went to runlevel 5 into the login / dropout loop.

I am attaching the resulting Xorg logs for you.

P.S. it might be noteworthy that on login the desktop becomes visible, then applications and only then the session crashes.
Comment 15 Casual J. Programmer 2011-07-07 14:03:43 UTC
Created attachment 438787 [details]
.xsession-errors created during most recent problem situation

For good measure adding the most recent .xsession-errors
Comment 16 Vincent Untz 2011-07-07 14:34:28 UTC
Here we go, a crash in Xorg:

Backtrace:
[ 26743.859] 0: /usr/bin/Xorg (xorg_backtrace+0x37) [0x80ee0d7]
[ 26743.859] 1: /usr/bin/Xorg (0x8048000+0x63b5a) [0x80abb5a]
[ 26743.859] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xffffe40c]
[ 26743.859] 3: (vdso) (__kernel_rt_sigreturn+0x843461c) [0x8432a28]
[ 26743.859] Segmentation fault at address 0x8432a28
[ 26743.859] 
Fatal server error:
[ 26743.859] Caught signal 11 (Segmentation fault). Server aborting

This confirms what Gary mentioned in comment #1. So moving to our xorg friends.
Comment 17 Raymond Wooninck 2011-07-22 11:51:43 UTC
I would like to add that this is also happening with the KDE desktop. In the Xorg.0.log file the following can be found : 


[  8055.231] 0: /usr/bin/Xorg (xorg_backtrace+0x26) [0x4a4cd6]
[  8055.231] 1: /usr/bin/Xorg (0x400000+0x65c09) [0x465c09]
[  8055.231] 2: /lib64/libc.so.6 (0x7fa4f0f71000+0x34d60) [0x7fa4f0fa5d60]
[  8055.231] 3: /usr/lib64/libdrm_intel.so.1 (drm_intel_bo_emit_reloc+0x0) [0x7fa4ef18bfc0]
[  8055.231] 4: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fa4ef396000+0x23614) [0x7fa4ef3b9614]
[  8055.231] 5: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fa4ef396000+0xacdb) [0x7fa4ef3a0cdb]
[  8055.231] 6: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fa4ef396000+0x2e92a) [0x7fa4ef3c492a]
[  8055.231] 7: /usr/bin/Xorg (0x400000+0xdc116) [0x4dc116]
[  8055.231] 8: /usr/bin/Xorg (0x400000+0xd6ec4) [0x4d6ec4]
[  8055.231] 9: /usr/bin/Xorg (0x400000+0x32f49) [0x432f49]
[  8055.231] 10: /usr/bin/Xorg (0x400000+0x271de) [0x4271de]
[  8055.232] 11: /lib64/libc.so.6 (__libc_start_main+0xed) [0x7fa4f0f9200d]
[  8055.232] 12: /usr/bin/Xorg (0x400000+0x274d1) [0x4274d1]
[  8055.232] Segmentation fault at address 0x79000022
[  8055.232]
Fatal server error:
[  8055.232] Caught signal 11 (Segmentation fault). Server aborting
[  8055.232]
[  8055.232]

This crash might be Intel driver related, but I am not sure if the original reporter also runs with Intel Graphics.
Comment 18 Casual J. Programmer 2011-07-22 15:06:51 UTC
#hwinfo --gfxcard

09: PCI 02.0: 0300 VGA compatible controller (VGA)              
  [Created at pci.318]
  Unique ID: _Znp.nzpclT4aQ34
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Model: "Intel 945 GM"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x27a2 "945 GM"
  SubVendor: pci 0x1734 "Fujitsu Technology Solutions"
  SubDevice: pci 0x10ad 
  Revision: 0x03
  Driver: "i915"
  Driver Modules: "drm"
  Memory Range: 0xdc100000-0xdc17ffff (rw,non-prefetchable)
  I/O Ports: 0x1800-0x1807 (rw)
  Memory Range: 0xc0000000-0xcfffffff (ro,non-prefetchable)
  Memory Range: 0xdc200000-0xdc23ffff (rw,non-prefetchable)
  IRQ: 16 (142140 events)
  I/O Ports: 0x3c0-0x3df (rw)
  Module Alias: "pci:v00008086d000027A2sv00001734sd000010ADbc03sc00i00"
  Driver Info #0:
    XFree86 v4 Server Module: intel
  Driver Info #1:
    XFree86 v4 Server Module: intel
    3D Support: yes
    Extensions: dri
  Config Status: cfg=no, avail=yes, need=no, active=unknown

10: PCI 02.1: 0380 Display controller
  [Created at pci.318]
  Unique ID: ruGf.rf0V51kLHqA
  SysFS ID: /devices/pci0000:00/0000:00:02.1
  SysFS BusID: 0000:00:02.1
  Hardware Class: graphics card
  Model: "Intel Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x27a6 "Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller"
  SubVendor: pci 0x1734 "Fujitsu Technology Solutions"
  SubDevice: pci 0x10ad 
  Revision: 0x03
  Memory Range: 0xdc180000-0xdc1fffff (rw,non-prefetchable)
  Module Alias: "pci:v00008086d000027A6sv00001734sd000010ADbc03sc80i00"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
Comment 19 Raymond Wooninck 2011-07-25 08:03:44 UTC
I wonder if this bug is related to this one :  https://bugzilla.novell.com/show_bug.cgi?id=704052
Comment 20 Gary Ching-Pang Lin 2011-08-15 09:04:43 UTC
After installing related debuginfo, I got this backtrace of Xorg:

Program received signal SIGSEGV, Segmentation fault.
0xb72077ac in DrawableGone (glxPriv=0x84f57d0, xid=14680065) at glxext.c:133
133	    if (glxPriv->drawId != glxPriv->pDraw->id) {
(gdb) bt
#0  0xb72077ac in DrawableGone (glxPriv=0x84f57d0, xid=14680065) at glxext.c:133
#1  0x08094608 in FreeClientResources (client=0x83a2e28) at resource.c:242
#2  0x08074abb in CloseDownClient (client=0x83a2e28) at dispatch.c:3490
#3  0x08074d1e in ProcKillClient (client=0x8514fe0) at dispatch.c:3271
#4  0x080755f7 in Dispatch () at dispatch.c:432
#5  0x0806864c in main (argc=11, argv=0xbf8be184, envp=0xbf8be1b4) at main.c:291
(gdb) l
128	
129	    /* If this drawable was created using glx 1.3 drawable
130	     * constructors, we added it as a glx drawable resource under both
131	     * its glx drawable ID and it X drawable ID.  Remove the other
132	     * resource now so we don't a callback for freed memory. */
133	    if (glxPriv->drawId != glxPriv->pDraw->id) {
134		if (xid == glxPriv->drawId)
135		    FreeResourceByType(glxPriv->pDraw->id, __glXDrawableRes, TRUE);
136		else
137		    FreeResourceByType(glxPriv->drawId, __glXDrawableRes, TRUE);
(gdb) q

Then I found this upstream patch for xorg-x11-server:
http://cgit.freedesktop.org/xorg/xserver/commit/?id=6a433b67ca15fd1ea58334e607f867554f227451

I applied the patch to xorg-x11-server and installed the packages in a 12.1 M4 machine, and the issue is solved!

The nautilus desktop works well and never crashes now :-)

For anyone who wants to test the patch:
11.4: http://download.opensuse.org/repositories/home:/gary_lin:/branches:/X11:/XOrg/openSUSE_11.4/
12.1: http://download.opensuse.org/repositories/home:/gary_lin:/branches:/X11:/XOrg/openSUSE_Factory/
Comment 21 Stefan Dirsch 2011-08-25 13:21:05 UTC
*** Bug 708509 has been marked as a duplicate of this bug. ***
Comment 22 Gary Ching-Pang Lin 2011-08-30 09:49:03 UTC
*** Bug 713923 has been marked as a duplicate of this bug. ***
Comment 23 Stefan Dirsch 2011-08-30 14:23:30 UTC
patch added now for openSUSE:Factory (SR #80236).
Comment 24 Bernhard Wiedemann 2011-08-30 15:00:11 UTC
This is an autogenerated message for OBS integration:
This bug (701199) was mentioned in
https://build.opensuse.org/request/show/80236 Factory / xorg-x11-server
Comment 25 Simon Crute 2011-09-26 12:49:23 UTC
I found this problem in opensuse 12.1 ms5 also, (again on  intel gfx chipset) 

I updated the Xorg server to the version refered to in comment 20, and it fixed the problem.