Bug 427643 - Xorg segfaults immediately when Compiz is enabled (x86_64 +Intel GMA X3100)
Summary: Xorg segfaults immediately when Compiz is enabled (x86_64 +Intel GMA X3100)
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-drv-i810
Version: rawhide
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: ---
Assignee: Dave Airlie
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: HotIssue NeedsRetesting
: 443080 (view as bug list)
Depends On:
Blocks: f9-x-blocker
TreeView+ depends on / blocked
 
Reported: 2008-01-06 04:32 UTC by Simon Karpen
Modified: 2018-04-11 14:49 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-05-01 16:35:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
xorg.conf as requested (2.20 KB, text/plain)
2008-01-12 10:07 UTC, Simon Karpen
no flags Details
xorg log with xorg.conf (20.07 KB, text/plain)
2008-01-12 10:07 UTC, Simon Karpen
no flags Details
xorg log without xorg.conf (22.83 KB, application/octet-stream)
2008-01-12 10:08 UTC, Simon Karpen
no flags Details
new xorg log with crash (29.62 KB, text/plain)
2008-04-18 01:15 UTC, Simon Karpen
no flags Details
output of compiz with white screen, lspci -v, and Xorg.0.log after starting compiz several times (31.21 KB, text/plain)
2008-04-24 09:33 UTC, Andrew Farris
no flags Details
Xorg.0.log (38.90 KB, text/plain)
2008-04-28 17:23 UTC, Frank Middleton
no flags Details

Description Simon Karpen 2008-01-06 04:32:07 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9b3pre) Gecko/2008010314 Fedora/1.9-0.beta2.6.fc9 Minefield/3.0b3pre

Description of problem:
When I attempt to enable Desktop Effects (compiz, etc), X11 crashes with a segmentation fault. The Xorg log shows:

From the Xorg log: 

Backtrace:
0: X(xf86SigHandler+0x65) [0x4865e5]
1: /lib64/libc.so.6 [0x2aaaabd3f000]
2: /usr/lib64/xorg/modules/extensions//libglx.so [0x2aaaac906520]
3: /usr/lib64/xorg/modules/extensions//libglx.so [0x2aaaac907701]
4: /usr/lib64/xorg/modules/extensions//libglx.so [0x2aaaac8d606c]
5: /usr/lib64/xorg/modules/extensions//libglx.so [0x2aaaac8d51c2]
6: /usr/lib64/xorg/modules/extensions//libglx.so [0x2aaaac8d9182]
7: X(Dispatch+0x2f0) [0x4467b0]
8: X(main+0x465) [0x42eca5]
9: /lib64/libc.so.6(__libc_start_main+0xf4) [0x2aaaabd2b2b4]
10: X(FontFileCompleteXLFD+0x2b1) [0x42df69]

Fatal server error:
Caught signal 11.  Server aborting

(II) AIGLX: Suspending AIGLX clients for VT switch
(II) intel(0): xf86UnbindGARTMemory: unbind key 0
(II) intel(0): xf86UnbindGARTMemory: unbind key 1


Version-Release number of selected component (if applicable):
xorg-x11-server-Xorg-1.4.99.1-0.13.fc9

How reproducible:
Always


Steps to Reproduce:
1. Start X11 (via startx - my system boots to runlevel 3)
2. Open System -> Preferences -> Look and Feel -> Desktop Effects
3. Enable Desktop Effects

Actual Results:
X11 crashes with a segmentation fault

Expected Results:
Desktop effects enabled

Additional info:
Hardware is a stock Lenovo Thinkpad X61s, Intel X3100 graphics, 4GB RAM, just upgraded today (1/5/2008) from Fedora 8 to Rawhide. 

Desktop effects did work correctly in Fedora 8, so this is definitely a regression (no doubt related to the new X server)

Comment 1 Matěj Cepl 2008-01-10 12:43:06 UTC
Thanks for the bug report.  We have reviewed the information you have provided
above, and there is some additional information we require that will be helpful
in our diagnosis of this issue.

Please attach your X server config file (/etc/X11/xorg.conf) and X server log
file (/var/log/Xorg.*.log) to the bug report as individual uncompressed file
attachments using the bugzilla file attachment link below.

Could you please also try to run without any /etc/X11/xorg.conf whatsoever and
let X11 autodetect your display and video card? Attach to this bug
/var/log/Xorg.0.log from this attempt as well, please.

We will review this issue again once you've had a chance to attach this information.

Thanks in advance.

Comment 2 Simon Karpen 2008-01-12 10:07:16 UTC
Created attachment 291454 [details]
xorg.conf as requested

Default except for "virtual" line to allow xrandr to have enough memory to use
multihead

Comment 3 Simon Karpen 2008-01-12 10:07:56 UTC
Created attachment 291455 [details]
xorg log with xorg.conf

This is the xorg log when started with the xorg.conf attached

Comment 4 Simon Karpen 2008-01-12 10:08:30 UTC
Created attachment 291456 [details]
xorg log without xorg.conf

This is the xorg log without any xorg.conf - the behavior does not change.

Comment 5 Simon Karpen 2008-01-12 10:09:25 UTC
Also note that this was NOT fixed with xorg-x11-drv-i810-2.2.0-3.fc9 and
xorg-x11-server-Xorg-1.4.99.1-0.15.20080107.fc9

Comment 6 Mohd Izhar Firdaus Ismail 2008-02-06 16:22:57 UTC
I'm getting a similar problem with i386 arch.

Xorg also crashes when trying to start glxgears

Comment 7 Simon Karpen 2008-02-06 17:58:00 UTC
I can actually run glxgears without a problem on x86_64 (but not compiz)

Comment 8 Tom London 2008-02-14 15:38:58 UTC
Compiz started working for me again (Thinkpad X60, i810) with
kernel-2.6.24.1-28.fc9.i686.


Comment 9 Simon Karpen 2008-02-14 20:36:59 UTC
It still won't work for me (X61s, intel, x86_64, same kernel). 

Comment 10 Matěj Cepl 2008-02-15 12:03:07 UTC
Simon, did you try i810?

Comment 11 Simon Karpen 2008-02-15 14:17:31 UTC
i810 has no support for my chipset (GMA X3100)

Comment 12 Matěj Cepl 2008-02-15 21:46:29 UTC
Sorry, silly mistake.

Comment 14 Will Woods 2008-02-20 15:55:56 UTC
This works for me as of.. sometime in the past week. Simon, any luck trying
compiz in current rawhide?

Comment 15 Simon Karpen 2008-02-20 18:08:11 UTC
I just updated, same problem. Note that this is x86_64 and not i686. 

Please let me know if you need any more information.

Comment 16 Simon Karpen 2008-03-06 14:53:58 UTC
Latest behavior, rawhide current as of today, is that hardware GLX rendering is
not enabled. (I did try with and without an xorg.conf, and with both kernels
kernel-2.6.24.1-31.fc9.x86_64 and kernel-2.6.25-0.93.rc4.fc9.x86_64)



Comment 17 Jarod Wilson 2008-04-01 14:20:41 UTC
Nb: this looks like possibly a dupe of 435969.

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 18 Jesse Keating 2008-04-06 13:47:50 UTC
We recently fixed some things with glx and crashing, can everybody involved
please retest with rawhide from 2008 04-05 or later?

Comment 19 Simon Karpen 2008-04-06 15:24:07 UTC
With Rawhide 20080405, the behavior is different - GLX (3d/AIGLX/DRI) is not enabled at all. This is true 
with or without an xorg.conf. 

Please let me know what info you need. Thinkpad X61s, Rawhide upgraded from F8 (would it be beneficial 
to do a clean install from a snapshot?), Intel X3100, x86_64. 

 

Comment 20 Simon Karpen 2008-04-09 21:48:37 UTC
Just as a small update - rawhide updated last night, while compiz and glxinfo
still aren't happy I can get etracer (extreme tuxracer) to notice that there is
3d support.

However, a couple of screens in (I can select a course but can't get as far as
testing it), I get a complete graphics lockup. The only way to shutdown is to
hit the (thankfully ACPI controlled, so soft shutdown) power button. 

No crash/debug reports that I can find (i.e. no trace in xorg.0.log), but I can
try to get a better trace on things if somebody can point me to a howto or
similar. (and I did turn framebuffer compression off before getting this far, as
per some of the other bugs on this or related issues)

Comment 21 Simon Karpen 2008-04-18 01:14:54 UTC
Latest rawhide, as of today, I do have something that claims to be DRI. I can
run a couple of the demos (i.e. glxgears), but only at about the same speed as
unaccelerated 3D (i.e. 350fps in glxgears on an X3100). 

However, after I run a couple of the demos, Xorg crashes. Compiz also still
doesn't work - white screen (control-c will get you back though if run as compiz
--replace in a terminal) with the following errors:
[skarpen@localhost ~]$ compiz --replace
Failed to initialize TTM buffer manager.  Falling back to classic.
failed to create drawable
failed to create drawable
failed to create drawable

The crash has the following backtrace (I will attach the full Xorg log):

0: X(xf86SigHandler+0x65) [0x479f55]
1: /lib64/libc.so.6 [0x3b2a2322a0]
2: /usr/lib64/xorg/modules/extensions//libdri.so(DRIUnlock+0x4f) [0x7faf968456af]
3: /usr/lib64/xorg/modules/drivers//intel_master_drv.so(I830WaitLpRing+0x18a)
[0x7faf95fc22fa]
4: /usr/lib64/xorg/modules/drivers//intel_master_drv.so(I830Sync+0x115)
[0x7faf95fc2565]
5: /usr/lib64/xorg/modules//libxaa.so [0x7faf948987c2]
6: X(AbortDDX+0x8d) [0x460a3d]
7: X(AbortServer+0x18) [0x4f5f78]
8: X(FatalError+0xd5) [0x4f6645]
9: /usr/lib64/xorg/modules/drivers//intel_master_drv.so(I830WaitLpRing+0x1c1)
[0x7faf95fc2331]
10: /usr/lib64/xorg/modules/drivers//intel_master_drv.so(I830Sync+0x115)
[0x7faf95fc2565]
11: /usr/lib64/xorg/modules//libxaa.so [0x7faf948a17db]
12: /usr/lib64/xorg/modules//libxaa.so [0x7faf948eb210]
13: X [0x530240]
14: X(miPaintWindow+0x1f6) [0x4cb086]
15: X(miWindowExposures+0x132) [0x4cb3e2]
16: /usr/lib64/xorg/modules/extensions//libdri.so(DRIWindowExposures+0xaf)
[0x7faf96845fcf]
17: X [0x48f13f]
18: X(miHandleValidateExposures+0x2b) [0x4e389b]
19: X(miMoveWindow+0x277) [0x4e2b67]
20: X(compMoveWindow+0xb5) [0x4fcd75]
21: X(ConfigureWindow+0x5ac) [0x432bdc]
22: X(ProcConfigureWindow+0x8d) [0x445a0d]
23: X(Dispatch+0x364) [0x446394]
24: X(main+0x45d) [0x42c87d]
25: /lib64/libc.so.6(__libc_start_main+0xfa) [0x3b2a21e32a]
26: X(FontFileCompleteXLFD+0x279) [0x42bc59]

Again, this is x86_64. 

Comment 22 Simon Karpen 2008-04-18 01:15:44 UTC
Created attachment 302831 [details]
new xorg log with crash

Comment 24 Bill Nottingham 2008-04-18 14:49:43 UTC
Can you try the mesa packages available at:
http://koji.fedoraproject.org/packages/mesa/7.1/0.28.fc9/ ?

Comment 25 Simon Karpen 2008-04-18 18:30:32 UTC
Definitely better. I can now run the glx demos (glxgears, geartrain, fire, etc)
for a while without an X server crash. Still can't run compiz though - "compiz
--replace" still gives me the same drawtable errors and white screen (but clean
recovery once I kill it off). 

etracer (extreme tuxracer) gives me a DRI error that I'll try to capture (again,
better than the old behavior of crashing the X server)

Comment 26 Simon Karpen 2008-04-18 18:31:08 UTC
Oh, and performance is WAY down - less than 150fps in glxgears, engine is down
to around 60fps from 80fps. This on an X3100...

Comment 27 Simon Karpen 2008-04-18 18:33:28 UTC
Looks like etracer is getting an assertion failure in the DRI code somewhere...

Extreme TuxRacer SVN Development --  http://www.extremetuxracer.com 
(c) 2007 The ETRacer team
(c) 2004-2005 The PPRacer team
(c) 1999-2001 Jasmin F. Patry<jfpatry>
ETRacer comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
See http://www.gnu.org/copyleft/gpl.html for details.

Failed to initialize TTM buffer manager.  Falling back to classic.
%%% etracer warning: Attempt to bind to Texture unloaded texture:
`b-herring_run_icon'

etracer: ../common/dri_bufmgr_fake.c:982: dri_fake_emit_reloc: Assertion
`target_fake->is_static || target_fake->size_accounted' failed.


Comment 28 Bill Nottingham 2008-04-18 19:10:53 UTC
Just to be clear, when this is happening, what versions of kernel,
xorg-x11-server-Xorg, and driver do you have (to go with the newer mesa)

Comment 29 Jarod Wilson 2008-04-18 19:23:28 UTC
Performance is absolutely miserable for me with this combo:

xorg-x11-server-Xorg-1.4.99.901-22.20080415.fc9.x86_64
mesa-libGL-7.1-0.28.fc9.x86_64
kernel-2.6.25-1.fc9.x86_64

(Seems the bug I opened about that this morning is a dupe of what this has
evolved into -- bug #443080)

Comment 30 Simon Karpen 2008-04-18 19:57:33 UTC
versions here are 

xorg-x11-server-Xorg-1.4.99.901-22.20080415.fc9.x86_64
xorg-x11-drv-i810-2.2.1-20.fc9.x86_64
kernel-2.6.25-0.234.rc9.git1.fc9.x86_64

(as in, latest rawhide as of last night)

Comment 31 Mohd Izhar Firdaus Ismail 2008-04-19 01:09:55 UTC
(In reply to comment #25)
> Definitely better. I can now run the glx demos (glxgears, geartrain, fire, etc)
> for a while without an X server crash. Still can't run compiz though - "compiz
> --replace" still gives me the same drawtable errors and white screen (but clean
> recovery once I kill it off). 

try running 

LIBGL_ALWAYS_INDIRECT=1 compiz --replace --indirect-rendering 




Comment 32 Matěj Cepl 2008-04-19 07:56:03 UTC
*** Bug 443080 has been marked as a duplicate of this bug. ***

Comment 33 Simon Karpen 2008-04-19 22:36:53 UTC
LIBGL_ALWAYS_INDIRECT=1 compiz --replace --indirect-rendering 

is different but still not quite working - I at least get my screen back, but
compiz doesn't start. (control-c'ing does quit, and restarting metacity isn't a
problem)



Comment 34 Andrew Farris 2008-04-24 08:13:43 UTC
Failed to initialize TTM buffer manager.  Falling back to classic.

I see this as well on Macbook 2,1 (blackbook) with Intel GMA950.  Compiz will work, sometimes, for a 
short period, then the screen will go completely WHITE.  The mouse cursor can still be moved, and 
commands can still be typed into terminals that were running and focused.  Killing compiz or using 
metacity --replace works fine, X is not frozen.

When I install compiz-fusion, or try using the external compiz repo it never manages to work at all.  
With only compiz installed I can sometimes work with the menus for awhile before the white happens.

Using indirect rendering does nothing useful to help, and glxinfo reports direct rendering is enabled 
anyway.  Some 3D games work with metacity running so the hardware is working somewhat.

Comment 35 Andrew Farris 2008-04-24 09:33:28 UTC
Created attachment 303605 [details]
output of compiz with white screen, lspci -v, and Xorg.0.log after starting compiz several times

Comment 36 Frank Middleton 2008-04-28 17:23:53 UTC
Created attachment 304010 [details]
Xorg.0.log

Comment 37 Frank Middleton 2008-04-28 17:26:33 UTC
Comment on attachment 304010 [details]
Xorg.0.log

This seems to be the same problem, different platform

# uname -a
Linux apogee8.apogeect.com 2.6.24.3-50.fc8 #1 SMP Thu Mar 20 14:47:10 EDT 2008
i686 athlon i386 GNU/Linux

Occurs when running Firefox and nothing else

Comment 38 Will Woods 2008-04-28 18:24:29 UTC
If it's not causing Xorg to segfault immediately anymore, then this bug should
be closed. The white-screen problem is a separate issue.

Is compiz still making Xorg segfault or not?

Comment 39 Jarod Wilson 2008-04-28 18:34:29 UTC
No more segfault here, just miserable rendering performance (even after the
libpciaccess update a few days ago).

Comment 40 Andrew Farris 2008-04-28 18:43:53 UTC
Yeah you're right its a separate issue, but is the white screen and TTM buffer issue reported in another 
bug yet or does a clone need done?  I don't see that issue specifically in another bug  but maybe I'm 
missing it.

Comment 41 Simon Karpen 2008-04-28 20:37:13 UTC
No more segfault here either, just the miserable rendering performance and the
white screen. 

Comment 42 Bill Nottingham 2008-05-01 16:35:30 UTC
Please report the white screen + render issues as another bug/cloned bug. Thanks!


Note You need to log in before you can comment on or make changes to this bug.