How can urxvt crash the X.Org server? (Yes, it does that.)
![]()
Unbelievable, but true. I haven’t experienced this before, and definitely not with the “Mini LiveCD” installation of Scientific Linux 5.3. But now, I have installed it by using Anaconda, to have an officially-screwed configured system (the Mini LiveCD installs a modified set of configuration files).
I have used urxvt (rxvt-unicode) from EPEL, and it worked perfectly with SL 5.2 and 5.3, both on a live system and on an installed system. But again, installing from a LiveCD is not the same as installing with Anaconda.
Yesterday, I performed a netinstall of SL 5.3, with IceWM and GNOME. Then I installed yum-conf-epel, and I retrieved rxvt-unicode.
When you launch urxvt, it works. When you close it, the whole X Server crashes, and the system is frozen, with a non-functional keyboard and mouse!
The crash is reproducible. It always happens this way with both GNOME and IceWM. I had to use SSH from a different computer to retrieve the errors from Xorg.0.log:
Backtrace: 0: /usr/bin/Xorg(xf86SigHandler+0x81) [0x80c5061] 1: [0xd19420] 2: /usr/lib/dri/savage_dri.so(savageGetLock+0x76) [0xfe0e26] 3: /usr/lib/dri/savage_dri.so(savageFlushCmdBuf+0xb3) [0x100b073] 4: /usr/lib/dri/savage_dri.so [0xfdfe54] 5: /usr/lib/dri/savage_dri.so [0xfdc1a7] 6: /usr/lib/xorg/modules/extensions/libglx.so [0x2c3487] 7: /usr/lib/xorg/modules/extensions/libglx.so(__glXFreeContext+0x55) [0x29eb85] 8: /usr/lib/xorg/modules/extensions/libglx.so [0x29ebc7] 9: /usr/bin/Xorg(FreeClientResources+0x85) [0x8071085] 10: /usr/bin/Xorg(CloseDownClient+0x1aa) [0x8081cca] 11: /usr/bin/Xorg(Dispatch+0x2b9) [0x8088279] 12: /usr/bin/Xorg(main+0x485) [0x806fab5] 13: /lib/libc.so.6(__libc_start_main+0xdc) [0xd46e8c] 14: /usr/bin/Xorg(FontFileCompleteXLFD+0x1ed) [0x806edb1] Fatal server error: Caught signal 11. Server aborting (II) AIGLX: Suspending AIGLX clients for VT switch
So it’s AIGLX! I didn’t ask for AIGLX, this was just a default! I suppose this is a default in RHEL5 too.
Sure thing, this is on the 8-y.o. HP Omnibook XE3, therefore the video card is absolutely basic: an old Savage (86C270-294 Savage/IX-MV) with only 8 MB of RAM!
It can display 1024×768 at 16-bit depth with good results though. Really. Here’s my xorg.conf and Xorg.0.log before the crash.
Until a Red Hat clone proved how urxvt can crash the X.Org server!
What should I do? There is no “aiglx” option in xorg.conf! Should I comment out “glx”? But why? Both “glx” and “dri” were working with the “savage” driver in the past!
Why am I still wasting my time with Linux? (Note that the BSDs are using the same shit called X.Org.)
UPDATE: Indeed, to prevent this crash I have to disable “glx”, but this way I’m left with no acceleration!









Apr 3, 2009 at 17:30
>Why am I still wasting my time with Linux?
Because it beats writing about anti-virus?
Linux is great for bloggers and journos because you can find stuff to complain about for free
Apr 3, 2009 at 20:21
> Why am I still wasting my time with Linux?
No idea. I deleted my Linux partition last week, and since then I'm "rootnoverify (hd0,0); chainloader +1; boot" because I'm too lazy to "fixmbr", but even so I'm glad I got rid of it. It's not worth wasting time with all the bugs and annoyances.
Apr 4, 2009 at 08:50
Well, AFAIK the netinstall method in Centos (and probably SL) is pretty much fucked up, broken, so do it old school way.
Apr 4, 2009 at 11:46
This is absolutely not true! The only difference is that the RPMs are retrieved from a FTP location instead of the CD-ROMs/DVD.
Otherwise, there are the same RPMs, installed by the same code.
Apr 4, 2009 at 12:15
CORRECTION: it was not a netinstall in the official meaning. I've used CD1 with askmethod and entered a FTP server.
Apr 4, 2009 at 13:14
Right. You are incompetent. If you did a bit of research, you'd know that disabling AIGLX is not that hard.
http://lmgtfy.com/?q=disable+aiglx+xorg
Apr 4, 2009 at 14:48
AIGLX: Suspending AIGLX clients for VT switch
Sooner DRI2 gets here the better. I am 100 percent sick of it.
That is the dicey as hell memory swap between Virtual terminals. Sure you did not hit ctrl+alt+f1 at some point. Or that application is doing equal for some reason.
Nvidia drivers are more resistant to it. I guess you had Nvidia when it used to work.
Due to lack of in kernel memory management of video cards before DRI2+GEM+KMS was invented. What happens is programs loss track of who video card memory is whos leading to these problems.
If you had SAK enabled in kernel that still would have worked to restore access. Ok lossing work but restored access.
I don't say faults don't exist in Linux.
Apr 4, 2009 at 20:16
Well, I tried once a Centos netinstall and crashed on me at finish, then I saw this:
http://wiki.centos.org/HowTos/PXE/InternetInstallation?highlight=%28netinstall%29
"…poor installation environment" is just an euphemism.
Apr 4, 2009 at 21:10
@PeterKraus: you are a jerk. If this is the criteria for being a FSF member…
Why should I disable something I have never enabled? Because the pieces of shit at the X.Org thought so?
I have had for years these options in xorg.conf:
Load "glx"
Load "dbe"
Load "dri"
but they did *not* mean anything like AIGLX or other modern shit until in recent times!
Now, what do I need to do?
Section "ServerFlags"
Option "AIGLX" "off"
EndSection
Why do I *have* to set OFF something I have never set ON?
—
@oiaohm:
> Sure you did not hit ctrl+alt+f1 at some point. Or that application is doing equal for some reason.
No. Just launch urxvt, and click on its close button. This is all you have to do to crash X on a "savage" card.
—
@ g.ray:
> I tried once a Centos netinstall
In the meantime I clarified that it was not a netinstall in the meaning of "minimal boot disk", but a FTP install using CD1 and its Anaconda with "askmethod" to be able to specify a FTP server as the install media.
Everything was just fine otherwise. Same RPMs, but from a server, not the CD-set.
Apr 5, 2009 at 13:59
»@PeterKraus: you are a jerk. If this is the criteria for being a FSF member…«
No, it's criteria for being Me. You are coming pretty close to perfection in this aspect, to be honest
Apr 6, 2009 at 10:13
Savage card driver evil bits of work. They don't really have Load "glx" support. You ask for that you get AIGLX software replacement for glx.
Just added urxvt to my list of applications not to install due to doing switching of virtual terminals.
Apr 6, 2009 at 10:25
glxgears give 100…130 fps on that antique Savage, but for this to work the "glx" extension and "dri" have to be loaded. Otherwise…
So, I assume they *do* exist. They were this way long before AIGLX was invented.
And, needless to say, Xfree86 and X.Org never crashed on that laptop before — at least, not this way.
I'm not interested in the various ways of 2-D, 3-D, 1*E^6-D acceleration, I just want that fucking video card to work! When an application uses a certain API call, it must work, regardless of the place where most of the computation is made (hardware, software).
Apr 6, 2009 at 16:58
glx for Savage is AIGLX. Always has been. You are thinking about a different flag that is xgl yes the difference between x at the start and end makes a big difference.
The assume is your problem. xgl existed before glx. xgl is the deprecated interface for providing opengl support.
Apr 6, 2009 at 17:04
Can’t be. Wikipedia:
“GLX was created by Silicon Graphics and is currently at version 1.4. GLX, with both DRI and Mesa, is included in the X.Org Foundation’s version of the X Window System since X11R6.7.0, and in The XFree86 Project’s version since version 4.0.”
So it’s old like hell and heaven. I had DRI and Mesa support since ages!
Now, for the Red Hat project that was “required for OpenGL compositing window managers (such as Compiz Fusion) to function with hardware acceleration”:
“The AIGLX project has been merged into X.Org and is available as of X.Org 7.1.”
Apr 6, 2009 at 17:20
I should have been more clear. Ever since AIGLX has merged its been part of the GLX driver of savage.
AIGLX is not independent to GLX. Its a segment of the GLX spec. Option "AIGLX" "off" is just tell server not to use segment of GLX spec. There are other options to turn it off.
Option "AIGLX" "off" works on all video cards with GLX support including Nvidia that don't use any redhat code.
Apr 6, 2009 at 17:25
OK then. I was happier when AIGLX was outside GLX. I don't need the Compiz shit anyway. And in the past I didn't need to manually disable AIGLX to have a stable system, dammit! (Oh, I hate everybody, including Red Hat!)
Apr 7, 2009 at 03:54
Also AIGLX crashing X11 is not really AIGLX crashing X11.
It VT switching. For some reason the program you have is using it. Xterm GTerminal… lot of other terminal don't do it.
Even turning AIGLX off only reduces the risk of the race condition. Two applications trying to interface with video card at the same time. Sorry true stability will come with DRI2 drivers for X11 that uses a shared kernel based memory manager gem to stop applications stepping on each other.
This is the X11/posix Video nightmare reason why freebsd and other posix are also taking up the DRI2 and kernel based memory manager for video cards.
[console] own video card memory manager.
[vt] each application with there own video card manager.
X11 is on a vt so it has it own.
And that application is using a vt so it has it own. So X11 and that application has to do pass overs of video card control. Problem is when it gets out of order splat. Basically the applications hand back of control of that section of memory is defective or X11 user-space take back control is defective so leaving you with splat.
Most terminal programs using pty pseudo-terminal interfaces so avoiding these mothers of stuff-ups.
Apr 7, 2009 at 08:51
Race condition? In 2009, this is still an unsolved problem? If locking is rocket science, then DRI was never production-ready, and only the morons released it to be used on millions of computers!
At least, nobody can blame Microsoft for that. It's not their product.