Bug 6359 - Spontaneous segmentation faults of Xorg
Summary: Spontaneous segmentation faults of Xorg
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: 6.9.0
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Xorg Project Team
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-23 07:45 UTC by Mario Trams
Modified: 2007-02-22 14:26 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Logfile of a crashed X (93.14 KB, text/plain)
2006-03-26 02:37 UTC, Mario Trams
no flags Details
/etc/X11/xorg.conf of the installation in question (3.03 KB, text/plain)
2006-03-26 02:38 UTC, Mario Trams
no flags Details

Description Mario Trams 2006-03-23 07:45:06 UTC
Hello,

I've some strange effect with spontaneous crashes of Xorg.
I'm using Mandriva 2006.0. The problem appears with the original 
Version of Xorg supplied by Mandriva (xorg-x11-6.9-1.cvs20050915.2mdk)
as well as with the latest update (xorg-x11-6.9.0-5.3.20060mdk).

The graphics system is an ATI Mobility FireGL V5000. However, because of other
troubles with the ATI Xserver (spontaneous kernel panics) I have reverted to the
plain Xserver so far. But perhaps these problems are related to the crashes of X
I'm describing here.

It seems, that the crashes are caused by special X applications. xfig appears
to be such one, for instance. Perhaps these applications generate sometimes
some scenarios where Xorg reacts a little bit "allergic".

The last relevant messages of Xorg.0.log are as following:

  Backtrace:
  0: /etc/X11/X(xf86SigHandler+0x88) [0x8089a78]
  1: [0xffffe420]
  2: /etc/X11/X(ProcFreePixmap+0x7b) [0x80c5bfb]
  3: /etc/X11/X(Dispatch+0x15e) [0x80cab6e]
  4: /etc/X11/X(main+0x407) [0x80d7d47]
  5: /lib/tls/libc.so.6(__libc_start_main+0xd0) [0xb7e56e40]
  6: /etc/X11/X [0x8070321]

  Fatal server error:
  Caught signal 11.  Server aborting

If desired, I can provide the whole Xorg.0.log with all initialization
messages as well as more information about the settings.

Thanks for any help!

With best Regards,
Mario
Comment 1 Erik Andren 2006-03-26 02:16:53 UTC
Please post your xorg log and your xorg.conf
The best thing you could do is to log in from a remote SSH and do backtrace on
the X process after a crash. Then post it here. 
Comment 2 Mario Trams 2006-03-26 02:37:22 UTC
Created attachment 5059 [details]
Logfile of a crashed X
Comment 3 Mario Trams 2006-03-26 02:38:29 UTC
Created attachment 5060 [details]
/etc/X11/xorg.conf of the installation in question
Comment 4 Mario Trams 2006-03-26 02:42:23 UTC
(In reply to comment #1)
> Please post your xorg log and your xorg.conf
> The best thing you could do is to log in from a remote SSH and do backtrace on
> the X process after a crash. Then post it here. 

Erik, 
please see the files that I have attached.

As for the backtrace, can you tell me shortly how can I do this?
(SSH is no problem).

Thanks,
Mario
Comment 5 Mario Trams 2006-04-02 08:25:47 UTC
Just as additional information I found out:

It appears that the problem is somehow related to my favourite window manager
Enlightenment (in particular e16-0.16.8.1 that I've build without special 
options). Normally I'm using the Gnome desktop with Enlightenment.
Just for testing, I switched to KDE with the standard KDE WM and there was 
not a single problem over a couple of days. Then I set up KDE to use 
Enlightenment, and the problem was there again.
I'm not very deep into the relations between the window manager and X itself,
but I think in case the window manager is faulty then X should not cause 
segmentation faults. But perhaps this is wrong.

It is also interesting to note that the problem is coming seamingly out of 
nothing. I.e. once a "critical" application (such as xfig) has been startet,
one can leave the system untouched and then it crashes after some 
(nondeterministic) time. So neither the mousepointer is moved, nor a key is 
pressed, and nor the "critical" application is active in terms of changing 
the content of a window. 

Mario 
Comment 6 Erik Andren 2006-04-02 16:58:09 UTC
A remote backtrace is performed by remotely logging in to your problem computer.
Find out which pid the X process has
Fire up gdb.
Attach gdb to the X process by issuing the command gdb> attach <PID>
Wait for the error to happen.
type "bt", post this error here.

Good luck!
Comment 7 Mario Trams 2006-04-03 06:48:34 UTC
Ok, here is the result of the gdb backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x080c5997 in dixDestroyPixmap ()
(gdb) bt
#0  0x080c5997 in dixDestroyPixmap ()
#1  0x080c5bfb in ProcFreePixmap ()
#2  0x080cab6e in Dispatch ()
#3  0x080d7d47 in main ()
(gdb)

So the problem is somewhere in dixDestroyPixmap()

Mario
Comment 8 Igor Bogomazov 2006-04-12 17:59:02 UTC
Hmmhm, it seems I have the same problem:

Backtrace:
0: /usr/bin/X11/X(xf86SigHandler+0x88) [0x8089898]
1: [0xffffe420]
2: /usr/X11R6/lib/modules/libfb.so(fbTile+0x8c) [0xb7cd489c]
3: /usr/X11R6/lib/modules/libfb.so(fbFill+0x2b3) [0xb7cccca3]
4: /usr/X11R6/lib/modules/libfb.so(fbPolyFillRect+0x1f1) [0xb7ccd201]
5: /usr/X11R6/lib/modules/libxaa.so [0xb7c67f9e]
6: /usr/bin/X11/X [0x8171d07]
7: /usr/bin/X11/X(ProcPolyFillRectangle+0x181) [0x80c5f81]
8: /usr/bin/X11/X(Dispatch+0x15e) [0x80c9a7e]
9: /usr/bin/X11/X(main+0x415) [0x80d6785]
10: /lib/tls/libc.so.6(__libc_start_main+0xd0) [0xb7e28eb0]
11: /usr/bin/X11/X [0x8070131]

I cannot predict when does it occures exactly... sometimes...
I use Debian/testing (and do partial update almost daily)
My WM is Ion3, I already removed many modules from loading, these left:
freetype, record and type1.

Ehhmhm,

Igor Bogomazov

Comment 9 Erik Andren 2006-04-12 19:37:47 UTC
Igor, could you also please perform a remote backtrace?
Comment 10 Mario Trams 2006-04-13 05:26:44 UTC
Igors snapshot from the Xorg.0.log is looking really similar to mine.
There are various coincidences but also differences.

Meanwhile I could isolate the problem further and it seems to appear only
in junction with the Enlightenment DR16 window manager (versions 0.16.8.1
and 0.16.8.2). With other window managers (including Enlightenment DR17) I 
have not seen it. This Ion3 WM I have not tried yet.

I have risen the problem also in the Enlightenment community. So far, the 
consensus is that this is not a bug of Enlightenment - it just triggers the
bug somehow.

As for this dixDestroyPixmap(), there is not much to find:

int
dixDestroyPixmap(pointer value, XID pid)
{
    PixmapPtr pPixmap = (PixmapPtr)value;
    return (*pPixmap->drawable.pScreen->DestroyPixmap)(pPixmap);
}

(xc/programs/Xserver/dix/dispatch.c)

I'm not sure whether the gdb is capable of backtracing
such function pointer and the segmentation fault happens somewhere
inside the function behind the pointer, or whether it happens really 
here due to a wrong funcion pointer.

Regards,
Mario

  
Comment 11 Timo Jyrinki 2007-02-22 14:26:31 UTC
Marking broken (status null/blank) bugs in xorg with no activity in a long time as fixed. Please reopen if you think it's necessary, but first do a search if a similar bug report is already filed and in a NEW/ASSIGNED state. These bugs do not currently show in most search results as they do not have any status.

Sorry for this janitorial spam, you know where to send hate mails to when your inbox gets full of bugs you're subscribed to.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.