Bug 435969

Summary: gnome (with compiz) crashes on Alt-Tab
Product: [Fedora] Fedora Reporter: Ralf Ertzinger <redhat-bugzilla>
Component: mesaAssignee: Adam Jackson <ajax>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: ascii79, bojan, caolanm, dcantrell, jarod, lists, maxx, mishu, mschick, otaylor, pbrobinson, tjb, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-18 10:44:21 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 235706, 441567    
Attachments:
Description Flags
Xorg.0.log with short stacktrace
none
xorg.conf
none
xorg.0.log from latest crash 4/10
none
Xorg.0.log from no compiz start with latest xorg server
none
xorg log with mesa and xorg-x11-server from kojo 15 Apr 2008 none

Description Ralf Ertzinger 2008-03-04 13:17:58 EST
Description of problem:
When running gnome (compiz enabled), pressing Alt-Tab when at least two windows
are active (may work with one, didn't test) causes X to crash.

Version-Release number of selected component (if applicable):
xorg-x11-drv-i810-2.2.1-4.fc9.i386


How reproducible:
Always

Steps to Reproduce:
1. start gnome, enable compiz
2. open two xterms
3. press Alt-Tab
  
Actual results:
X crashes

Expected results:
No crash

Additional info:
Comment 1 Ralf Ertzinger 2008-03-04 13:17:58 EST
Created attachment 296776 [details]
Xorg.0.log with short stacktrace
Comment 2 Ralf Ertzinger 2008-03-04 13:19:34 EST
Created attachment 296778 [details]
xorg.conf
Comment 3 Adam Jackson 2008-03-06 15:19:25 EST
Crash in DRI driver -> mesa bug.
Comment 4 Jesse Keating 2008-03-20 16:16:47 EDT
I also see this on my intel laptop.  Pretty easy to reproduce if you need me to
swing by and catch it in action.
Comment 5 Peter Robinson 2008-03-20 19:10:17 EDT
I'm seeing the same on my intel laptop too.
Comment 6 Peter Robinson 2008-03-30 09:14:26 EDT
Just an update on this with the intel driver. When I turned framebuffer
compression off as advised for the random flicker bug
(https://bugs.freedesktop.org/show_bug.cgi?id=13326) and that problem went away
at least in short term testing I thought I'd try compiz again and its a lot more
stable with the fbc turned off. Previously is would crash after 1-2 alt+tab
combinations. With it off i've been using it for a couple of hours now with no
crash.
Comment 7 Jesse Keating 2008-03-30 15:40:36 EDT
I tried that:

Section "Device"
        Identifier  "Videocard0"
        Driver      "intel"
        Option  "framebuffercompression" "off"
EndSection

It did indeed get more stable, but eventually crashed on alt-tab again.  Here is
the backtrace from the log:

(II) XAA: Evicting pixmaps

Backtrace:
0: /usr/bin/Xorg(xf86SigHandler+0x65) [0x492ee5]
1: /lib64/libc.so.6 [0x7ff260be8f80]
2: /lib64/libc.so.6(memcpy+0x15b) [0x7ff260c3af2b]
3: /usr/lib64/dri/i965_dri.so [0x7ff24d6329e1]
4: /usr/lib64/dri/i965_dri.so [0x7ff24d6328c8]
5: /usr/lib64/dri/i965_dri.so [0x7ff24d6328c8]
6: /usr/lib64/dri/i965_dri.so [0x7ff24d6328c8]
7: /usr/lib64/dri/i965_dri.so [0x7ff24d632bb4]
8: /usr/lib64/dri/i965_dri.so [0x7ff24d633387]
9: /usr/lib64/dri/i965_dri.so [0x7ff24d639439]
10: /usr/lib64/xorg/modules/extensions//libglx.so [0x7ff25fc61711]
11: /usr/lib64/xorg/modules/extensions//libglx.so [0x7ff25fc649e2]
12: /usr/bin/Xorg(Dispatch+0x364) [0x4462d4]
13: /usr/bin/Xorg(main+0x45d) [0x42c7bd]
14: /lib64/libc.so.6(__libc_start_main+0xfa) [0x7ff260bd440a]
15: /usr/bin/Xorg(FontFileCompleteXLFD+0x279) [0x42bb99]

Fatal server error:
Caught signal 11.  Server aborting

(II) Macintosh mouse button emulation: Close
(II) AIGLX: Suspending AIGLX clients for VT switch

Comment 8 Peter Robinson 2008-03-30 17:12:32 EDT
Very similar to what I'm seeing too.

(II) intel(0): Modeline "1680x1050"x0.0  119.00  1680 1728 1760 1840  1050 1053
1059 1080 -hsync -vsync (64.7 kHz)
(II) intel(0): EDID vendor "QDS", prod id 63
(II) intel(0): fbc disabled on plane a
(II) intel(0): fbc disabled on plane a
(II) intel(0): fbc disabled on plane a
(II) intel(0): fbc disabled on plane a
(II) XAA: Evicting pixmaps

Backtrace:
0: /usr/bin/Xorg(xf86SigHandler+0x65) [0x492ee5]
1: /lib64/libc.so.6 [0x3f8aa32f80]
2: /lib64/libc.so.6(memcpy+0x15b) [0x3f8aa84f2b]
3: /usr/lib64/dri/i915_dri.so [0x2b10b81]
4: /usr/lib64/dri/i915_dri.so [0x2b10a68]
5: /usr/lib64/dri/i915_dri.so [0x2b10d54]
6: /usr/lib64/dri/i915_dri.so [0x2b19137]
7: /usr/lib64/dri/i915_dri.so [0x2b2ec69]
8: /usr/lib64/xorg/modules/extensions//libglx.so [0xbdd711]
9: /usr/lib64/xorg/modules/extensions//libglx.so [0xbe09e2]
10: /usr/bin/Xorg(Dispatch+0x364) [0x4462d4]
11: /usr/bin/Xorg(main+0x45d) [0x42c7bd]
12: /lib64/libc.so.6(__libc_start_main+0xfa) [0x3f8aa1e40a]
13: /usr/bin/Xorg(FontFileCompleteXLFD+0x279) [0x42bb99]

Fatal server error:
Caught signal 11.  Server aborting

(II) Macintosh mouse button emulation: Close
(II) AIGLX: Suspending AIGLX clients for VT switch
Comment 9 Jarod Wilson 2008-04-01 10:20:04 EDT
Running Xorg under gdb:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ff0ef829780 (LWP 7942)]
0x0000003b26a84f2b in memcpy () from /lib64/libc.so.6
(gdb) bt full
#0  0x0000003b26a84f2b in memcpy () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007ff0df1a39e1 in dri_fake_reloc_and_validate_buffer
(bo=0x7ff0d4de5ab0)
    at /usr/include/bits/string3.h:52
        i = 0
        ret = <value optimized out>
        __PRETTY_FUNCTION__ = "dri_fake_reloc_and_validate_buffer"
#2  0x00007ff0df1a38c8 in dri_fake_reloc_and_validate_buffer
(bo=0x7ff0d1aef9c0)
    at ../common/dri_bufmgr_fake.c:1006
        r = (struct fake_buffer_reloc *) 0x7ff0d0f35350
        i = 0
        ret = <value optimized out>
        __PRETTY_FUNCTION__ = "dri_fake_reloc_and_validate_buffer"
#3  0x00007ff0df1a38c8 in dri_fake_reloc_and_validate_buffer
(bo=0x7ff0d1af0400)
    at ../common/dri_bufmgr_fake.c:1006
        r = (struct fake_buffer_reloc *) 0x7ff0d0f75390
        i = 1
        ret = <value optimized out>
        __PRETTY_FUNCTION__ = "dri_fake_reloc_and_validate_buffer"
#4  0x00007ff0df1a38c8 in dri_fake_reloc_and_validate_buffer
(bo=0x7ff0d337cd70)
    at ../common/dri_bufmgr_fake.c:1006
        r = (struct fake_buffer_reloc *) 0x7ff0d1738300
        i = 161
        ret = <value optimized out>
        __PRETTY_FUNCTION__ = "dri_fake_reloc_and_validate_buffer"
#5  0x00007ff0df1a3bb4 in dri_fake_process_relocs (batch_buf=0x7ff0d337cd70, 
    count_p=0x7ffff7854e44) at ../common/dri_bufmgr_fake.c:1045
        ret = <value optimized out>
        __PRETTY_FUNCTION__ = "dri_fake_process_relocs"
#6  0x00007ff0df1a4387 in _intel_batchbuffer_flush (batch=0x1e3acc0,
file=<value optimized out>, 
    line=<value optimized out>) at intel_batchbuffer.c:134
        intel = (struct intel_context *) 0x1af2830
        used = 3600
        was_locked = 0 '\0'
#7  0x00007ff0df1b8fb7 in intelTexImage (ctx=0x1af2830, dims=2, target=3553,
level=0, 
    internalFormat=6408, width=48, height=48, depth=1, border=0, format=32993,
type=5121, 
    pixels=0x7ff0d871e34c, unpack=0x1afed20, texObj=0x7ff0d354bdf0,
texImage=0x7ff0d354d590, 
    imageSize=0, compressed=0) at intel_tex_image.c:319
        intel = <value optimized out>
        intelImage = <value optimized out>
        postConvWidth = 48
        postConvHeight = 48
        texelBytes = <value optimized out>
        sizeInBytes = <value optimized out>
        dstRowStride = <value optimized out>
        srcRowStride = 48
        __FUNCTION__ = "intelTexImage"
        __PRETTY_FUNCTION__ = "intelTexImage"
#8  0x00007ff0df1b9f4d in intelTexImage2D (ctx=0x7ff0db1c2700, target=9216,
level=1152, 
    internalFormat=-128, width=0, height=<value optimized out>, border=0,
format=32993, type=5121, 
    pixels=0x7ff0d871e34c, unpack=0x1afed20, texObj=0x7ff0d354bdf0,
texImage=0x7ff0d354d590)
    at intel_tex_image.c:564
No locals.
#9  0x00007ff0df2484a6 in _mesa_TexImage2D (target=3553, level=0,
internalFormat=6408, width=48, 
    height=48, border=0, format=32993, type=5121, pixels=0x7ff0d871e34c) at
main/teximage.c:2564
        texObj = (struct gl_texture_object *) 0x7ff0d354bdf0
        texImage = (struct gl_texture_image *) 0x7ff0d354d590
        face = 0
        postConvWidth = 48
---Type <return> to continue, or q <return> to quit---
        postConvHeight = 48
        ctx = (GLcontext *) 0x7ff0db1c2700
#10 0x0000000000e24cd3 in __glXDisp_TexImage2D (pc=0x7ff0d871e318 "") at
indirect_dispatch.c:1153
No locals.
#11 0x0000000000e0ac0d in __glXDisp_RenderLarge (cl=0x1b26dd8,
pc=0x7ff0d01122a0 "")
    at glxcmds.c:1979
        client = (ClientPtr) 0x1b26c80
        dataBytes = 9216
        glxc = (__GLXcontext *) 0x1adf480
        error = <value optimized out>
        opcode = 110
        sw = <value optimized out>
#12 0x0000000000e0e9e2 in __glXDispatch (client=0x1b26c80) at glxext.c:492
        stuff = (xGLXSingleReq *) 0x7ff0d0112290
        opcode = <value optimized out>
        cl = (__GLXclientState *) 0x1b26dd8
        retval = 1
#13 0x00000000004462d4 in Dispatch () at dispatch.c:454
        clientReady = <value optimized out>
        result = <value optimized out>
        client = (ClientPtr) 0x1b26c80
        nready = 0
        start_tick = 46220
#14 0x000000000042c7bd in main (argc=8, argv=0x7ffff78552b8, envp=<value
optimized out>)
    at main.c:441
        i = 1
        error = 0
        xauthfile = <value optimized out>
        alwaysCheckForInput = {0, 1}
Comment 10 Jesse Keating 2008-04-03 18:00:59 EDT
I'm putting this on the blocker to get some attention.  Intel used to be our
rock solid compiz platform :(
Comment 11 Brian Pepple 2008-04-03 19:24:09 EDT
With the most recent version, I'm not seeing this bug anymore on my lappy.
xorg-x11-drv-i810-2.2.1-19.fc9.i386
Comment 12 Jesse Keating 2008-04-03 20:56:26 EDT
For me it's still crashing nearly instantly.
Comment 13 Jesse Keating 2008-04-06 09:50:56 EDT
*** Bug 440070 has been marked as a duplicate of this bug. ***
Comment 14 Andrew Duggan 2008-04-07 09:42:07 EDT
Still crashes, a lot, plus always within a few seconds of a resume from
hibernate.  I can get through the gnome-screensaver unlock dialog, but as soon
as I try to do anything in the desktop X crashes.  +1 on comment #10
Comment 15 Andrew Duggan 2008-04-10 13:03:20 EDT
Created attachment 302022 [details]
xorg.0.log from latest crash 4/10

with the latest....

mesa-debuginfo-7.1-0.22.fc9.i386
mesa-libGL-7.1-0.22.fc9.i386
mesa-libGL-devel-7.1-0.22.fc9.i386
mesa-libGLU-7.1-0.22.fc9.i386
mesa-libGLU-devel-7.1-0.22.fc9.i386
mesa-libGLw-6.5.1-5.fc9.i386
mesa-libGLw-debuginfo-6.5.1-5.fc9.i386
mesa-libOSMesa-7.1-0.22.fc9.i386
xorg-x11-drv-i810-2.2.1-20.fc9.i386
xorg-x11-drv-i810-debuginfo-2.2.1-20.fc9.i386
xorg-x11-server-common-1.4.99.901-18.20080401.fc9.i386
xorg-x11-server-debuginfo-1.4.99.901-18.20080401.fc9.i386
xorg-x11-server-devel-1.4.99.901-18.20080401.fc9.i386
xorg-x11-server-utils-7.3-3.fc9.i386
xorg-x11-server-utils-debuginfo-7.3-3.fc9.i386
xorg-x11-server-Xorg-1.4.99.901-18.20080401.fc9.i386
Comment 16 Andrew Duggan 2008-04-10 14:23:31 EDT
Compiz won't even start with 

xorg-x11-server-Xorg-1.4.99.901-21.20080407.fc9.i386
xorg-x11-server-common-1.4.99.901-21.20080407.fc9.i386
xorg-x11-server-debuginfo-1.4.99.901-21.20080407.fc9.i386
xorg-x11-server-devel-1.4.99.901-21.20080407.fc9.i386

 ... executing: compiz --replace --sm-disable --ignore-desktop-hints ccp
--indirect-rendering
compiz (core) - Fatal: No GLXFBConfig for default depth, this isn't going to work.
compiz (core) - Error: Failed to manage screen: 0
compiz (core) - Fatal: No manageable screens found on display :0.0
Comment 17 Andrew Duggan 2008-04-10 14:28:57 EDT
Created attachment 302043 [details]
Xorg.0.log from no compiz start with latest xorg server

FWIW I also tried it without an xorg.conf file too, this log is from the
attempt without the xorg.conf file in place.
Comment 18 Andrew Duggan 2008-04-10 17:57:39 EDT
For me bug is triggered when mouse is positioned over an awn
(avant-window-navigator [build from upstream trunk]) icon which then pops a
widget with the window/icon/applet title.  It can be triggered every time by
suspending or hibernating then resuming, then hover over an icon in awn.  Just
the first part of the background of the title widget starts to draw when the X
crashes. 
On a fresh boot this takes usually a couple of hours, but always happens the
first time after a resume, even if awn is started after the resume.   

Comment 19 Andrew Duggan 2008-04-10 21:46:07 EDT
Further update: the Compiz window preview plugin was enabled, if that is
disabled, then X is much more stable. AWN can present the window title (happens
at the same time as the window preview would be shown).  I could get the crash
with the normal gnome-panel and window list with the Compiz window previews.
Comment 20 Jesse Keating 2008-04-11 14:00:08 EDT
(In reply to comment #19)
> Further update: the Compiz window preview plugin was enabled, if that is
> disabled, then X is much more stable. AWN can present the window title (happens
> at the same time as the window preview would be shown).  I could get the crash
> with the normal gnome-panel and window list with the Compiz window previews.

What is the name of that plugin?  I don't see it in the set I have installed, or
in gconf.
Comment 21 Ralf Ertzinger 2008-04-12 08:38:41 EDT
While I don't know that special plugin, either, I can see a common
point:

both this plugin and Alt-Tab try to display a smaller view of one or
more windows.
Comment 22 Andrew Duggan 2008-04-12 13:12:00 EDT
(In reply to comment #20)
> What is the name of that plugin?  I don't see it in the set I have installed, or
> in gconf.

Its called thumbnail in the package 

$ rpm -qlp /home/andrew/Desktop/compiz-fusion-0.7.2-2.fc9.i386.rpm  | grep thumb
/usr/lib/compiz/libthumbnail.so
/usr/share/compiz/thumbnail.xml

FWIW, I've built compiz-fusion 0.7.4 just to see if there is any difference with
the lastest upstream compiz[-fusion] and there isn't. 

Comment 23 Andrew Duggan 2008-04-12 14:47:07 EDT
Is this bug the same as http://bugs.freedesktop.org/show_bug.cgi?id=13723
The big thing that does not seem to fit in my case is TTM. glx{info,gears} both
report "Failed to initialize TTM buffer manager.  Falling back to classic"

How do things run if you disable mipmaps everywhere in ccsm?

Comment 24 Andrew Duggan 2008-04-15 08:26:26 EDT
Created attachment 302442 [details]
xorg log with mesa and xorg-x11-server from kojo 15 Apr 2008

Still crashes on demand with the 15 Apr 2008 updates from koji.

mesa-libOSMesa-7.1-0.25.fc9.i386
mesa-libGLU-devel-7.1-0.25.fc9.i386
mesa-libGL-devel-7.1-0.25.fc9.i386
mesa-libOSMesa-devel-7.1-0.25.fc9.i386
mesa-libGLU-7.1-0.25.fc9.i386
mesa-debuginfo-7.1-0.25.fc9.i386
mesa-libGL-7.1-0.25.fc9.i386
xorg-x11-server-Xorg-1.4.99.901-22.20080415.fc9.i386
xorg-x11-server-debuginfo-1.4.99.901-22.20080415.fc9.i386
xorg-x11-server-common-1.4.99.901-22.20080415.fc9.i386
xorg-x11-server-devel-1.4.99.901-22.20080415.fc9.i386
Comment 25 Dave Airlie 2008-04-18 00:47:17 EDT
okay I've got mesa-7.1-0.26 building in koji at the moment, when it appears it
should fix this problem.
Comment 26 Andrew Duggan 2008-04-18 08:25:44 EDT
That is much,much better.  I could always trigger it immediately after a
hibernate/resume cycle, and I've done two of those, and VT switches and so far
so good.  -- Thank you!

mesa-libGLU-7.1-0.28.fc9.i386
mesa-libOSMesa-devel-7.1-0.28.fc9.i386
mesa-libOSMesa-7.1-0.28.fc9.i386
mesa-debuginfo-7.1-0.28.fc9.i386
mesa-libGL-7.1-0.28.fc9.i386
mesa-libGL-devel-7.1-0.28.fc9.i386
mesa-libGLU-devel-7.1-0.28.fc9.i386
Comment 27 Jesse Keating 2008-04-18 10:44:21 EDT
Things are better for me, and other people as well.  Going to tag this and close
it rawhide.  AWESOME!