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.