Bug 36184 - crash in drmmode_output_detect() on console switch
Summary: crash in drmmode_output_detect() on console switch
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: 7.6 (2010.12)
Hardware: x86-64 (AMD64) Linux (All)
: medium critical
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL: http://bugs.debian.org/cgi-bin/bugrep...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-12 13:47 UTC by Yann Dirson
Modified: 2011-05-20 13:09 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Yann Dirson 2011-04-12 13:47:15 UTC
If I open a second X server, close it, reopen one, re-close it, then
my original X server segfault with (remotely attached gdb):

Program received signal SIGSEGV, Segmentation fault.
drmmode_output_detect (output=<value optimized out>)
    at ../../src/drmmode_display.c:1709
1709    ../../src/drmmode_display.c: No such file or directory.
        in ../../src/drmmode_display.c
(gdb) bt
#0  drmmode_output_detect (output=<value optimized out>)
    at ../../src/drmmode_display.c:1709
#1  0x000000000048ca83 in xf86ProbeOutputModes (scrn=0x9c9e80,
    maxX=<value optimized out>, maxY=<value optimized out>)
    at ../../../../hw/xfree86/modes/xf86Crtc.c:1580
#2  0x0000000000491f74 in xf86RandR12GetInfo12 (pScreen=0x9d6150,
    rotations=<value optimized out>)
    at ../../../../hw/xfree86/modes/xf86RandR12.c:1552
#3  0x00000000004c8251 in RRGetInfo (pScreen=0x9d6150,
    force_query=<value optimized out>) at ../../randr/rrinfo.c:202
#4  0x00007f8c28fa5c4c in glxDRIEnterVT (index=0, flags=0)
    at ../../glx/glxdri2.c:617
#5  0x0000000000476a12 in xf86VTSwitch (blockData=<value optimized out>,
    err=<value optimized out>, pReadmask=<value optimized out>)
    at ../../../../hw/xfree86/common/xf86Events.c:531
#6  xf86Wakeup (blockData=<value optimized out>, err=<value optimized out>,
    pReadmask=<value optimized out>)
    at ../../../../hw/xfree86/common/xf86Events.c:284
#7  0x000000000042a7db in WakeupHandler (result=-1, pReadmask=0x7e2b20)
    at ../../dix/dixutils.c:419
#8  0x000000000045f087 in WaitForSomething (
    pClientsReady=<value optimized out>) at ../../os/WaitFor.c:232
#9  0x0000000000448602 in Dispatch () at ../../dix/dispatch.c:368
#10 0x00000000004257ab in main (argc=9, argv=0x7fffa9e42ad8,
    envp=<value optimized out>) at ../../dix/main.c:291

Never seen this before today, with an upgrade yesterday night to the
recently-migrated-to-wheezy xorg and gcc.  Though, my own X server had
been running for quite some time before the upgrade, and segfaulted
this morning.  Presumably when the kids switched between their
sessions, which seem to imply things can get wrong without even
closing an X server, but just by switching.

What's strange is that all of the 3 sessions that were present at the time of the first recorded crash were at respectively 6-, 5-, and 3-days old (and there have been numerous console switches and opengl apps used with no issue).  I'm a bit puzzled by how an upgrade would impact those.

See URL for the Debian bugreport with logs for hardware detail.  Just ask for more.
Comment 1 Yann Dirson 2011-04-12 13:48:06 UTC
The package upgrade mentionned involved:

[UPGRADE] lib32gcc1 1:4.5.2-4 -> 1:4.6.0-2
[UPGRADE] libgcc1 1:4.5.2-4 -> 1:4.6.0-2
[UPGRADE] libgl1-mesa-dri 7.7.1-4 -> 7.10-4
[UPGRADE] libgl1-mesa-glx 7.7.1-4 -> 7.10-4
[UPGRADE] libglu1-mesa 7.7.1-4 -> 7.10-4
[UPGRADE] x11-common 1:7.5+8 -> 1:7.6+6
[UPGRADE] xbase-clients 1:7.5+8 -> 1:7.6+6
[UPGRADE] xorg 1:7.5+8 -> 1:7.6+6
Comment 2 Yann Dirson 2011-04-24 13:05:33 UTC
(In reply to comment #1)
> The package upgrade mentionned involved:
> 
> [UPGRADE] libgl1-mesa-dri 7.7.1-4 -> 7.10-4
> [UPGRADE] libgl1-mesa-glx 7.7.1-4 -> 7.10-4
> [UPGRADE] libglu1-mesa 7.7.1-4 -> 7.10-4

After upgrading those to 7.10.2-1 packages from unstable, I could not reproduce
the problem, and X has run pretty stable since then.
Comment 3 Yann Dirson 2011-05-20 13:09:47 UTC
Fixed by mesa upgrade


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.