[Bug 728964] New: Xorg crashes with SIGSEGV in librecord.so
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c0 Summary: Xorg crashes with SIGSEGV in librecord.so Classification: openSUSE Product: openSUSE 12.1 Version: RC 1 Platform: x86-64 OS/Version: SuSE Other Status: NEW Severity: Critical Priority: P5 - None Component: X.Org AssignedTo: bnc-team-xorg-bugs@forge.provo.novell.com ReportedBy: torvalds@linux-foundation.org QAContact: xorg-maintainer-bugs@forge.provo.novell.com Found By: --- Blocker: --- Created an attachment (id=460965) --> (http://bugzilla.novell.com/attachment.cgi?id=460965) Possible workaround patch User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2 The current OpenSUSE Xorg binary (zypper updated yesterday) crashes occasionally resulting in lost work, user logout and new login screen. This seems to have started after the zypper update, I didn't get it with the Xorg that was on the OpenSUSE 12.1 RC1 install DVD. The backtrace looks like this: Backtrace: [ 17060.975] 0: /usr/bin/Xorg (xorg_backtrace+0x26) [0x462396] [ 17060.975] 1: /usr/bin/Xorg (0x400000+0x66919) [0x466919] [ 17060.975] 2: /lib64/libpthread.so.0 (0x7f6e8c3e1000+0xfd00) [0x7f6e8c3f0d00] [ 17060.975] 3: /usr/lib64/xorg/modules/extensions/librecord.so (0x7f6e8a1e8000+0x2838) [0x7f6e8a [ 17060.975] 4: /usr/bin/Xorg (_CallCallbacks+0x34) [0x4379b4] [ 17060.975] 5: /usr/bin/Xorg (WriteToClient+0x21a) [0x4653ca] [ 17060.975] 6: /usr/lib64/xorg/modules/extensions/libdri2.so (ProcDRI2WaitMSCReply+0x52) [0x7f6e [ 17060.975] 7: /usr/lib64/xorg/modules/extensions/libdri2.so (DRI2WaitMSCComplete+0x53) [0x7f6e8 [ 17060.975] 8: /usr/lib64/xorg/modules/drivers/intel_drv.so (0x7f6e89979000+0x266a4) [0x7f6e8999 [ 17060.975] 9: /usr/lib64/libdrm.so.2 (drmHandleEvent+0xa3) [0x7f6e89dd8cd3] [ 17060.975] 10: /usr/bin/Xorg (WakeupHandler+0x6b) [0x4371bb] [ 17060.975] 11: /usr/bin/Xorg (WaitForSomething+0x1b6) [0x45fe36] [ 17060.975] 12: /usr/bin/Xorg (0x400000+0x33032) [0x433032] [ 17060.975] 13: /usr/bin/Xorg (0x400000+0x272ce) [0x4272ce] [ 17060.975] 14: /lib64/libc.so.6 (__libc_start_main+0xed) [0x7f6e8b35823d] [ 17060.975] 15: /usr/bin/Xorg (0x400000+0x275bd) [0x4275bd] [ 17060.975] Segmentation fault at address 0x7f6e8d061010 [ 17060.975] Fatal server error: [ 17060.975] Caught signal 11 (Segmentation fault). Server aborting This *seems* to be upstream bug https://bugs.freedesktop.org/show_bug.cgi?id=36930 which doesn't have a resolution yet afaik, but Keith Packard suggests this workaround that isn't a real fix, but will fix it for all relevant use cases (cut-and-paste from email, so the patch is whitespace-damaged): "If you aren't using the Record extension (and you aren't), you can work around the bug by moving the code which accesses the (non-existant) request buffer inside the loop looking at the recording contexts (of which there should be none):" diff --git a/record/record.c b/record/record.c index 68311ac..9e36103 100644 --- a/record/record.c +++ b/record/record.c @@ -603,12 +603,10 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata) RecordContextPtr pContext; RecordClientsAndProtocolPtr pRCAP; int eci; - int majorop; ReplyInfoRec *pri = (ReplyInfoRec *)calldata; ClientPtr client = pri->client; REQUEST(xReq); - majorop = stuff->reqType; for (eci = 0; eci < numEnabledContexts; eci++) { pContext = ppAllContexts[eci]; @@ -616,6 +614,7 @@ RecordAReply(CallbackListPtr *pcbl, pointer nulldata, pointer calldata) NULL); if (pRCAP) { + int majorop = stuff->reqType; if (pContext->continuedReply) { RecordAProtocolElement(pContext, client, XRecordFromServer, Reproducible: Sometimes Steps to Reproduce: 1. Use X 2. Do something random (google-chrome seems to trigger it on some sites more easily) 3. Crash Actual Results: X crash: screen goes black, two seconds afterwards you get the Login screen. All unsaved work lost. Expected Results: Working desktop Please do try to merge this, it makes the current OpenSUSE setup very fragile. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c1 Stefan Dirsch <sndirsch@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P3 - Medium Status|NEW |ASSIGNED AssignedTo|bnc-team-xorg-bugs@forge.pr |sndirsch@suse.com |ovo.novell.com | --- Comment #1 from Stefan Dirsch <sndirsch@suse.com> 2011-11-08 17:28:11 UTC --- Thanks for the report and attached patch, Linus! -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c2 --- Comment #2 from Stefan Dirsch <sndirsch@suse.com> 2011-11-09 17:09:05 UTC --- The reason why you likely don't see this issue on different Linux distributions is that these take the upstream default to no longer enable the record extension. I was wondering, why SUSE enables the record extension, which is disabled upstream meanwhile, at all. No answer given in the RPM changelog: ------------------------------------------------------------------- Tue Sep 6 15:55:01 UTC 2011 - sndirsch@suse.com - removed obsolete patches [...] * record-avoid-crash-when-calling-RecordFlushReplyBuff.patch ------------------------------------------------------------------- Thu Mar 17 13:35:55 UTC 2011 - sndirsch@novell.com - record-avoid-crash-when-calling-RecordFlushReplyBuff.patch * record: avoid crash when calling RecordFlushReplyBuffer recursively (bnc #673575) ------------------------------------------------------------------- Wed Mar 17 06:20:25 CET 2010 - sndirsch@suse.de - update to 1.7.6 * reintrocued record extension [...] ------------------------------------------------------------------- Tue Aug 5 10:29:46 CEST 2008 - sndirsch@suse.de - enabled build of record extension, which has been disabled upstream for whatever reason Then I asked Matthias Hopf (previously working for SUSE) at lunch and he told me that this has likely been a customer request, since some custom application still needs it directly (or another extension, which again depends on the record extension). I'm afraid we can't figure out any longer why we reenabled it. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c3 --- Comment #3 from Stefan Dirsch <sndirsch@suse.com> 2011-11-09 17:50:51 UTC --- (In reply to comment #2)
The reason why you likely don't see this issue on different Linux distributions is that these take the upstream default to no longer enable the record extension.
I was wondering, why SUSE enables the record extension, which is disabled upstream meanwhile, at all. No answer given in the RPM changelog:
I was wrong. You're supposed to see this issue on any Linux distribution. commit 65a2c09549d2372c23b155addff428177708c910 Author: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Date: Thu Apr 8 21:55:45 2010 -0500 Revert "Disable Record by default." Record was broken during the pre-1.6 development cycle and was not fixed until 1.7.6. Now that it is fixed, re-enable it by default. Anyway, I'm going to apply the patch now to our xorg-x11-server package. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c4 Stefan Dirsch <sndirsch@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED CC| |coolo@suse.com Resolution| |FIXED Flag| |SHIP_STOPPER? --- Comment #4 from Stefan Dirsch <sndirsch@suse.com> 2011-11-09 17:56:19 UTC --- Fixed for obs://X11:XOrg and submitrequested for openSUSE:Factory. Coolo needs to decide, whether this is still something for our Goldmaster. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c5 --- Comment #5 from Linus Torvalds <torvalds@linux-foundation.org> 2011-11-09 18:34:46 UTC --- Please do consider it a show-stopper.. It may not be hugely common, but it happens once or twice a day for me, and when it does happen it's kind of a major issue.. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c6 Stephan Kulow <coolo@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | --- Comment #6 from Stephan Kulow <coolo@suse.com> 2011-11-10 09:42:41 CET --- Two days ago I would have taken it with a kiss, but today I rather spend the time we have left with testing the build we have instead of waiting for another one. But we'll make updates with this and other fixes we collected this week, so that people get the fix right after installation (or through their zypper dup from 11.X) Stefan, I reopen for maintenance workflow -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c7 Stephan Kulow <coolo@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |NEEDINFO InfoProvider| |maintenance@opensuse.org --- Comment #7 from Stephan Kulow <coolo@suse.com> 2011-11-10 09:43:21 CET --- BTW: the upstream report is for ubuntu 11.04 - this _might_ mean 11.4 is affected too. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c8 Stephan Kulow <coolo@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |RESOLVED InfoProvider|maintenance@opensuse.org | Resolution| |FIXED --- Comment #8 from Stephan Kulow <coolo@suse.com> 2011-11-10 16:08:50 CET --- lucky you, we were not yet done -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c9 Stefan Dirsch <sndirsch@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |znmeb@borasky-research.net --- Comment #9 from Stefan Dirsch <sndirsch@suse.com> 2011-11-14 20:57:31 UTC --- *** Bug 730274 has been marked as a duplicate of this bug. *** http://bugzilla.novell.com/show_bug.cgi?id=730274 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c10 --- Comment #10 from M. Edward Ed Borasky <znmeb@borasky-research.net> 2011-11-15 00:10:55 UTC --- Hmmm ... why didn't the Bugzilla search show me this? I searched for all bugs with Xorg. Is there a repository where I can get a fix? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=728964 https://bugzilla.novell.com/show_bug.cgi?id=728964#c11 --- Comment #11 from Stefan Dirsch <sndirsch@suse.com> 2011-11-15 04:44:57 UTC --- (In reply to comment #10)
Is there a repository where I can get a fix?
You're asking for a repository. See my comment #4. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com