Bug 55346 - Xorg crashed with SIGABRT in list_is_empty()
Summary: Xorg crashed with SIGABRT in list_is_empty()
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Chris Wilson
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-26 06:30 UTC by Timo Aaltonen
Modified: 2012-09-26 08:05 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Timo Aaltonen 2012-09-26 06:30:09 UTC
downstream bug from ubuntu, with several dupes:

https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1053836

we do have the autobind patch from Dave applied, but these machines are not all hybrid ones, and the crash can occur on resume from suspend so it's not related to how the xserver is initialized.

stacktrace:
#0  0x00007f8a16b1a405 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = 0
        pid = <optimized out>
        selftid = 4706
#1  0x00007f8a16b1db6b in __GI_abort () at abort.c:91
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x54, sa_sigaction = 0x54}, sa_mask = {__val = {140231098526174, 140231062760520, 140231096579296, 1, 96, 4294967295, 0, 4294967295, 140231098548268, 4294967295, 1, 4313384, 0, 140231101134304, 140231101134464, 140231096762368}}, sa_flags = 412358532, sa_restorer = 0x7f8a00000001}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007f8a18d06b9e in OsAbort () at ../../os/utils.c:1266
No locals.
#3  0x00007f8a18bedd7c in ddxGiveUp (error=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1096
        i = <optimized out>
#4  0x00007f8a18d0bb52 in AbortServer () at ../../os/log.c:652
No locals.
#5  0x00007f8a18d0c3ed in FatalError (f=f@entry=0x7f8a18d35668 "Caught signal %d (%s). Server aborting\n") at ../../os/log.c:793
        args = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff42ad6fa0, reg_save_area = 0x7fff42ad6ee0}}
        args2 = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7fff42ad6fa0, reg_save_area = 0x7fff42ad6ee0}}
        beenhere = 1
#6  0x00007f8a18d0494e in OsSigHandler (sip=<optimized out>, signo=11, unused=<optimized out>) at ../../os/osinit.c:146
No locals.
#7  OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at ../../os/osinit.c:107
No locals.
#8  <signal handler called>
No symbol table info available.
#9  list_is_empty (head=<optimized out>) at ../../src/intel_list.h:269
No locals.
#10 intel_mode_fini (intel=intel@entry=0x7f8a1a2ac880) at ../../src/intel_display.c:1774
        mode = 0x0
#11 0x00007f8a158872f5 in I830FreeScreen (arg=0x7f8a1a2abae0) at ../../src/intel_driver.c:1077
        scrn = 0x7f8a1a2abae0
        intel = 0x7f8a1a2ac880
#12 0x00007f8a18bf68b4 in xf86DeleteScreen (pScrn=0x7f8a1a2abae0) at ../../../../hw/xfree86/common/xf86Helper.c:237
        i = <optimized out>
        scrnIndex = 0
        is_gpu = 0
#13 0x00007f8a18befbc3 in InitOutput (pScreenInfo=pScreenInfo@entry=0x7f8a18f8eda0, argc=argc@entry=9, argv=argv@entry=0x7fff42ad7798) at ../../../../hw/xfree86/common/xf86Init.c:628
        i = -1
        j = <optimized out>
        k = <optimized out>
        scr_index = <optimized out>
        modulelist = <optimized out>
        optionlist = 0x7f8a1a29d920
        screenpix24 = <optimized out>
        pix24 = <optimized out>
        pix24From = X_DEFAULT
        pix24Fail = 0
        autoconfig = <optimized out>
        sigio_blocked = 0
        configured_device = <optimized out>
#14 0x00007f8a18b9c386 in main (argc=9, argv=0x7fff42ad7798, envp=<optimized out>) at ../../dix/main.c:204
        i = <optimized out>
        alwaysCheckForInput = {0, 1}
Comment 1 Timo Aaltonen 2012-09-26 06:30:39 UTC
kernel 3.5.4, ddx 2.20.8, xserver 1.13
Comment 2 Chris Wilson 2012-09-26 08:05:12 UTC
commit addfa653cf51fa45c7eae49be1fd722aaadf97d6
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Sep 26 08:59:18 2012 +0100

    uxa: Prevent attempting to call intel_mode_fini() before PreInit runs
    
    In the Ubuntu xserver it is apparently possible for the Screen to be
    deleted prior to being fully initialised. Make sure we don't crash in
    that situation!
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55346
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>


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.