Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 347721 - xorg-server-1.9, mesa-7.9, xf86-video-vesa: segfault
Summary: xorg-server-1.9, mesa-7.9, xf86-video-vesa: segfault
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-04 14:11 UTC by Andrey Grozin
Modified: 2011-01-16 19:29 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Xorg.0.log (Xorg.0.log,71.98 KB, text/plain)
2010-12-04 14:12 UTC, Andrey Grozin
Details
emerge --info (emerge.info,4.08 KB, text/plain)
2011-01-02 19:44 UTC, Jan Nárovec
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Grozin gentoo-dev 2010-12-04 14:11:19 UTC
On my eeepc, the intel driver does not work (the screen is completely black), I don't know why. I used vesa 800x600, and it worked satisfactorily. Video in 800x600 resolution was OK.

After the recent upgrade to xorg-server-1.9 and mesa-7.9, video became untolerably slow - a few frames per second. This was with the default USE flags for mesa. I recompiled it with -gallium (to be on safa side, after that I recompiled xorg-server and the drivers). Then X refused to start:

Backtrace:
[ 44627.051] 0: /usr/bin/X (xorg_backtrace+0x3c) [0x80e8bfc]
[ 44627.051] 1: /usr/bin/X (0x8048000+0x60336) [0x80a8336]
[ 44627.051] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xb787040c]
[ 44627.051] 3: /usr/lib/xorg/modules/libfb.so (fbBltStip+0x74) [0xb727b384]
[ 44627.052] 4: /usr/lib/xorg/modules/libfb.so (fbGetImage+0x1a1) [0xb7280651]
[ 44627.052] 5: /usr/lib/xorg/modules/libshadow.so (0xb728b000+0x124d) [0xb728
c24d]
[ 44627.052] 6: /usr/bin/X (0x8048000+0x1619cf) [0x81a99cf]
[ 44627.052] 7: /usr/lib/xorg/modules/extensions/libglx.so (0xb743a000+0x3954c
) [0xb747354c]
[ 44627.052] 8: /usr/lib/dri/swrast_dri.so (0xb65f6000+0xf46e) [0xb660546e]
[ 44627.052] 9: /usr/lib/dri/swrast_dri.so (0xb65f6000+0xf4b8) [0xb66054b8]
[ 44627.052] 10: /usr/lib/xorg/modules/extensions/libglx.so (0xb743a000+0x394a
e) [0xb74734ae]
[ 44627.052] 11: /usr/lib/xorg/modules/extensions/libglx.so (0xb743a000+0x35b1
a) [0xb746fb1a]
[ 44627.052] 12: /usr/lib/xorg/modules/extensions/libglx.so (0xb743a000+0x3699
b) [0xb747099b]
[ 44627.052] 13: /usr/lib/xorg/modules/extensions/libglx.so (0xb743a000+0x38a6
0) [0xb7472a60]
[ 44627.052] 14: /usr/bin/X (0x8048000+0x2a767) [0x8072767]
[ 44627.052] 15: /usr/bin/X (0x8048000+0x1d665) [0x8065665]
[ 44627.052] 16: /lib/libc.so.6 (__libc_start_main+0xe6) [0xb7583cc6]
[ 44627.052] 17: /usr/bin/X (0x8048000+0x1d221) [0x8065221]
[ 44627.053] Segmentation fault at address (nil)
[ 44627.053] 
Fatal server error:
[ 44627.053] Caught signal 11 (Segmentation fault). Server aborting

I had to return to mesa-7.8.2 abd xorg-server-1.7.7-r1 which at least work on this eeepc.
Comment 1 Andrey Grozin gentoo-dev 2010-12-04 14:12:44 UTC
Created attachment 256317 [details]
Xorg.0.log
Comment 2 Tomáš Chvátal (RETIRED) gentoo-dev 2010-12-04 14:19:18 UTC
Tbh gallium useflag HAS no effect on performance unless you select the engine by hand.
Comment 3 Chí-Thanh Christopher Nguyễn gentoo-dev 2010-12-04 14:19:46 UTC
Does switching between classic and gallium sw driver (with eselect mesa) make a difference?
Comment 4 Andrey Grozin gentoo-dev 2010-12-08 17:00:26 UTC
(In reply to comment #3)
> Does switching between classic and gallium sw driver (with eselect mesa) make a
> difference?
OK, I again emerged mesa-7.9, xorg-server-1.9.2.902, and re-emerged xf86-video-vesa-2.3.0, xf86-input-evdev-2.5.0 (these things take quite considerable time on eeepc!).

If I eselect mesa set sw gallium, kde starts; I get a message from kwin that desktop effects are too slow and have been disabled; video (800x600 resilution) is impossibly slow.

Is I eselect mesa set sw classic, X crashes:
Backtrace:
[ 77077.199] 0: /usr/bin/X (xorg_backtrace+0x3c) [0x80e8ecc]
[ 77077.199] 1: /usr/bin/X (0x8048000+0x60376) [0x80a8376]
[ 77077.199] 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xb77c840c]
[ 77077.200] 3: /usr/lib/xorg/modules/libfb.so (fbBltStip+0x74) [0xb71d3384]
[ 77077.200] 4: /usr/lib/xorg/modules/libfb.so (fbGetImage+0x1a1) [0xb71d8651]
[ 77077.200] 5: /usr/lib/xorg/modules/libshadow.so (0xb71e3000+0x124d) [0xb71e
424d]
[ 77077.200] 6: /usr/bin/X (0x8048000+0x161d2f) [0x81a9d2f]
[ 77077.200] 7: /usr/lib/xorg/modules/extensions/libglx.so (0xb7392000+0x3954c
) [0xb73cb54c]
[ 77077.200] 8: /usr/lib/dri/swrast_dri.so (0xb654e000+0xf46e) [0xb655d46e]
[ 77077.200] 9: /usr/lib/dri/swrast_dri.so (0xb654e000+0xf4b8) [0xb655d4b8]
[ 77077.200] 10: /usr/lib/xorg/modules/extensions/libglx.so (0xb7392000+0x394a
e) [0xb73cb4ae]
[ 77077.200] 11: /usr/lib/xorg/modules/extensions/libglx.so (0xb7392000+0x35b1
a) [0xb73c7b1a]
[ 77077.200] 12: /usr/lib/xorg/modules/extensions/libglx.so (0xb7392000+0x3699
b) [0xb73c899b]
[ 77077.200] 13: /usr/lib/xorg/modules/extensions/libglx.so (0xb7392000+0x38a6
0) [0xb73caa60]
[ 77077.200] 14: /usr/bin/X (0x8048000+0x2a767) [0x8072767]
[ 77077.200] 15: /usr/bin/X (0x8048000+0x1d665) [0x8065665]
[ 77077.200] 16: /lib/libc.so.6 (__libc_start_main+0xe6) [0xb74dbcc6]
[ 77077.200] 17: /usr/bin/X (0x8048000+0x1d221) [0x8065221]
[ 77077.201] Segmentation fault at address (nil)
[ 77077.201] 
Fatal server error:
[ 77077.201] Caught signal 11 (Segmentation fault). Server aborting

Going back to mesa-7.8.2 and xorg-server-1.7.7-r1, the latest version which works...

Comment 5 Jan Nárovec 2010-12-28 06:00:33 UTC
Similar behaviour here, but on completely different hardware (amd64/radeon):

Backtrace:
[  3042.661] 0: /usr/bin/X (xorg_backtrace+0x28) [0x49feb8]
[  3042.661] 1: /usr/bin/X (0x400000+0x62d69) [0x462d69]
[  3042.661] 2: /lib/libpthread.so.0 (0x7fdb72a6f000+0xee90) [0x7fdb72a7de90]
[  3042.661] 3: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fdb70afd000+0x37c21) [0x7fdb70b34c21]
[  3042.661] 4: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fdb70afd000+0x3f66a) [0x7fdb70b3c66a]
[  3042.661] 5: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fdb70afd000+0x36aff) [0x7fdb70b33aff]
[  3042.661] 6: /usr/bin/X (FreeResource+0x143) [0x44d5e3]
[  3042.661] 7: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fdb70afd000+0x33bb9) [0x7fdb70b30bb9]
[  3042.661] 8: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fdb70afd000+0x36922) [0x7fdb70b33922]
[  3042.661] 9: /usr/bin/X (0x400000+0x2ef49) [0x42ef49]
[  3042.662] 10: /usr/bin/X (0x400000+0x248fa) [0x4248fa]
[  3042.662] 11: /lib/libc.so.6 (__libc_start_main+0xfd) [0x7fdb71c67bad]
[  3042.662] 12: /usr/bin/X (0x400000+0x24499) [0x424499]
[  3042.662] Segmentation fault at address 0x290
[  3042.662] 
Fatal server error:
[  3042.662] Caught signal 11 (Segmentation fault). Server aborting

media-libs/mesa-7.9
x11-base/xorg-server-1.9.2

Previous version of xorg was rock stable at my machine.
Comment 6 Jan Nárovec 2010-12-28 10:02:22 UTC
Now, after reverting back to x11-base/xorg-server-1.7.7-r1 and x11-apps/xinit-1.2.0-r4, is my X session running for more than three hours without any sign of instability.
Comment 7 Jan Nárovec 2011-01-02 19:44:33 UTC
Created attachment 258668 [details]
emerge --info
Comment 8 R Bar-On 2011-01-03 23:12:15 UTC
I have a very similar problem with xf86-videe-intel.  Had to go back to mesa 7.8.2.  Any update on this?
Comment 9 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-01-03 23:18:55 UTC
(In reply to comment #8)
If you get a crash with a stacktrace containing libshadow on intel, then something is very wrong.

Regarding xf86-video-vesa, I doubt that anybody at freedesktop.org still cares enough to have it fixed.

Radeon crashes have mostly been due to vesafb/uvesafb/radeonfb (bug 350326) or strange things happening with gallium (bug 350280).
Comment 10 R Bar-On 2011-01-03 23:21:01 UTC
My backtrace from kdm.log is as follows:

Backtrace:
0: /usr/bin/X (xorg_backtrace+0x28) [0x4a1c58]
1: /usr/bin/X (0x400000+0x643f9) [0x4643f9]
2: /lib/libpthread.so.0 (0x7fcb73c72000+0xf410) [0x7fcb73c81410]
3: /lib/libc.so.6 (memcpy+0x15b) [0x7fcb72ebdddb]
4: /usr/lib64/xorg/modules/libfb.so (fbBlt+0x100) [0x7fcb70a3cbc0]
5: /usr/lib64/xorg/modules/libfb.so (fbBltStip+0x40) [0x7fcb70a3d8f0]
6: /usr/lib64/xorg/modules/libfb.so (fbGetImage+0x20a) [0x7fcb70a4251a]
7: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7fcb71062000+0x28fc5) [0x7fcb7108afc5]
8: /usr/bin/X (0x400000+0x1573c0) [0x5573c0]
9: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fcb71ad5000+0x36c5a) [0x7fcb71b0bc5a]
10: /usr/lib64/dri/swrast_dri.so (0x7fcb704be000+0x2590a) [0x7fcb704e390a]
11: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fcb71ad5000+0x36bf8) [0x7fcb71b0bbf8]
12: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fcb71ad5000+0x32d7d) [0x7fcb71b07d7d]
13: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fcb71ad5000+0x320e2) [0x7fcb71b070e2]
14: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fcb71ad5000+0x367e2) [0x7fcb71b0b7e2]
15: /usr/bin/X (0x400000+0x30119) [0x430119]
16: /usr/bin/X (0x400000+0x257da) [0x4257da]
17: /lib/libc.so.6 (__libc_start_main+0xfd) [0x7fcb72e5bd2d]
18: /usr/bin/X (0x400000+0x25379) [0x425379]
Segmentation fault at address (nil)


Different problem?
Comment 11 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-01-03 23:22:11 UTC
Then your issue is not the one described in the bug.
Comment 12 Hugo Mildenberger 2011-01-07 14:14:01 UTC
(In reply to comment #5)

> Similar behaviour here, but on completely different hardware (amd64/radeon):

libglx has still a double-free and a use-after-free problem. You may try the patch attached to

https://bugs.freedesktop.org/show_bug.cgi?id=32822

Recently, someone described here a quick method to check patches:

  1.) create a directory /etc/portage/patches/x11-base/xorg-server 
      ( or, e.g., /etc/portage/patches/x11-base/xorg-server-1.9.2.902 )
  2.) put the patch into this directory 
  3.) emerge x11-base/xorg-server 
  4.) Watch for the message that your patch had been applied
Comment 13 Jan Nárovec 2011-01-07 16:20:57 UTC
(In reply to comment #12)

Thank you. I've "solved" the issue by turning on KMS. Now, with vanilla kernel 2.6.37, KMS on, xorg-server-1.9.2, mesa-7.9 and rendering set to "classic", everything works as expected.
Comment 14 Andrey Grozin gentoo-dev 2011-01-13 18:29:37 UTC
I've read that the kernel 2.6.37 fixes regression - black screen on some Intel graphics hardware. Regression indeed - the screen became black still in the text mode, when the kernel (with KMS) decided to switch to the native 1024x600 resolution during boot (and it remained black if I blindly log in and say startx). So, I installed 2.6.37 with KMS and intel kernel driver, and, indeed, the screen is no longer black. X (I use kde-4.5) started in the 1024x600 mode, but at first it was very unstable - after some usual actions (like closing a window) the mouse pointer moves, but clicks have no effect; keyboard input also does not work (perhaps thare is no focus window), except ctrl-alt-f1, and I had to kill X by ctrl-c. But after the recent upgrade of xf86-video-intel, xf86-input-evdev, xorg-server, mesa these effects disappeared. And I have a normally working kde on my eeepc with the intel driver and KMS. So, closing as WORKSFORME.

However, on another computer, also with Intel graphics (but a different one), the X server always segfaults when I exit kde. This does not interfere with the normal work, but still shows that xorg-server-1.9 (or maybe xf86-video-intel, or mesa) is fragile and unstable.
Comment 15 Jan Nárovec 2011-01-14 15:26:45 UTC
(In reply to comment #14)
> 
> However, on another computer, also with Intel graphics (but a different one),
> the X server always segfaults when I exit kde. This does not interfere with the
> normal work, but still shows that xorg-server-1.9 (or maybe xf86-video-intel,
> or mesa) is fragile and unstable.
> 

I have the same experience, here is the end of Xorg.log (Radeon HD3300, KMS, vanilla 2.6.37, classic driver - r600, xorg-server-1.9.2):

[ 13053.262] (II) RADEON(0): Modeline "1280x960"x0.0  108.00  1280 1376 1488 1800  960 961 964 1000 +hsync +vsync (60.0 kHz)
[ 13053.262] (II) RADEON(0): Modeline "1680x1050"x0.0  119.00  1680 1728 1760 1840  1050 1053 1059 1080 +hsync -vsync (64.7 kHz)
[ 13263.847] 
Backtrace:
[ 13263.894] 0: /usr/bin/X (xorg_backtrace+0x28) [0x49feb8]
[ 13263.894] 1: /usr/bin/X (0x400000+0x62d69) [0x462d69]
[ 13263.894] 2: /lib/libpthread.so.0 (0x7f192046f000+0xee90) [0x7f192047de90]
[ 13263.894] 3: /usr/lib64/xorg/modules/extensions/libglx.so (0x7f191e4fd000+0x36a68) [0x7f191e533a68]
[ 13263.894] 4: /usr/bin/X (FreeClientResources+0xe6) [0x44d116]
[ 13263.894] 5: /usr/bin/X (FreeAllResources+0x3e) [0x44d1ce]
[ 13263.894] 6: /usr/bin/X (0x400000+0x2492e) [0x42492e]
[ 13263.895] 7: /lib/libc.so.6 (__libc_start_main+0xfd) [0x7f191f667bad]
[ 13263.895] 8: /usr/bin/X (0x400000+0x24499) [0x424499]
[ 13263.895] Segmentation fault at address 0x4
[ 13263.895] 
Fatal server error:
[ 13263.895] Caught signal 11 (Segmentation fault). Server aborting
[ 13263.895] 
[ 13263.907] 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
[ 13263.908] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 13263.908] 
[ 13263.932] (II) Power Button: Close
[ 13263.954] (II) UnloadModule: "evdev"
[ 13263.996] (II) Power Button: Close
[ 13263.996] (II) UnloadModule: "evdev"
[ 13264.028] (II) HID 04cf:0022: Close
[ 13264.028] (II) UnloadModule: "evdev"
[ 13264.060] (II) HID 04cf:0022: Close
[ 13264.060] (II) UnloadModule: "evdev"
[ 13264.124] (II) Logitech USB-PS/2 Optical Mouse: Close
[ 13264.124] (II) UnloadModule: "evdev"
[ 13264.124] (II) AIGLX: Suspending AIGLX clients for VT switch
Comment 16 Hugo Mildenberger 2011-01-14 15:43:25 UTC
(In reply to comment #15)
> (In reply to comment #14)

did you try the patch I proposed to test in comment #12?
Comment 17 Jan Nárovec 2011-01-14 17:37:59 UTC
(In reply to comment #16)

Not yet. After applying those patches (four in total), the problem with segmentation faults when exiting X-server seems to be gone. Thank you.
Comment 18 Jan Nárovec 2011-01-15 07:55:47 UTC
(In reply to comment #17)
> (In reply to comment #16)
> 
> Not yet. After applying those patches (four in total), the problem with
> segmentation faults when exiting X-server seems to be gone. Thank you.
> 

Well, I was too fast. Yesterday, when turning off the computer, the segfault was there again, so the patches didn't help.
Comment 19 Jan Nárovec 2011-01-16 19:15:40 UTC
After a hour of debugging, I found the line, where the X server crashes:

Program received signal SIGSEGV, Segmentation fault.
0x00007fd774e98a68 in DrawableGone (glxPriv=0x398e2a0, xid=0) at glxext.c:133

Unfortunately, I didn't manage to get a full backtrace from gdb, but better than nothing.

Another observation: the segfault appears always when quitting KDE session during which the compositing effects were disabled and enabled again.
Comment 20 Hugo Mildenberger 2011-01-16 19:29:36 UTC
(In reply to comment #19)
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007fd774e98a68 in DrawableGone (glxPriv=0x398e2a0, xid=0) at glxext.c:133

Same symptoms, same line, same xid. See: https://bugs.freedesktop.org/show_bug.cgi?id=32822

>Unfortunately, I didn't manage to get a full backtrace from gdb, but 
>better than nothing.

You probably don't get a full backtrace, because eselect opengl (or may be also eselect mesa) shuffles around libglx.so and friends (libdri,libdri2) while not caring about to sym-link libglx.so.debug too. Hence gdb usually does not find them.