Bug 16457

Summary: alt-ctrl-backspace crashes server
Product: xorg Reporter: Oswald Buddenhagen <ossi>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED WORKSFORME QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: randrik
Version: gitKeywords: NEEDINFO
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
typical crash log. none

Description Oswald Buddenhagen 2008-06-21 10:08:20 UTC
well, sure it does. :-D
anyway, seriously. when i switch to a text console and ctrl-c the server (or let kdm kill it), everything is fine. but if i zap it while it is active, it wedges in some unholy state. i *think* the same happens when the server is reset when the session exits cleanly, but i might have lost track between the ~5 reboots and ~15 server restarts ...
usually, i am able to recover text mode by sysreq-killing it and running mode3 in the console, but the hardware is messed up to the point where it won't be able to go into graphics mode properly until a reboot. not that i would consider this paragraph relevant ... :)
get the log from http://bugs.freedesktop.org/attachment.cgi?id=17282
Comment 1 Oswald Buddenhagen 2008-06-21 12:14:24 UTC
this might be actually the same as bug #16458 - the shutdown is clean if no xkb data could be loaded.
Comment 2 Peter Hutterer 2008-07-16 06:05:55 UTC
On Sat, Jun 21, 2008 at 10:08:20AM -0700, bugzilla-daemon@freedesktop.org wrote:
> anyway, seriously. when i switch to a text console and ctrl-c the server (or
> let kdm kill it), everything is fine. but if i zap it while it is active, it
> wedges in some unholy state. i *think* the same happens when the server is
> reset when the session exits cleanly, but i might have lost track between the
> ~5 reboots and ~15 server restarts ...

this may indicate a crash while shutting down devices (if the bug is input
releated)

> get the log from http://bugs.freedesktop.org/attachment.cgi?id=17282

do you have a log with a backtrace?
Comment 3 Andrew Randrianasulu 2008-09-04 16:04:28 UTC
I _think_ i hit something like this, but only after 

7c5ca85a9e6d49ab572831b3e0c08bb4cafb395e is first bad commit                                                       
commit 7c5ca85a9e6d49ab572831b3e0c08bb4cafb395e                                                                    
Author: Zhenyu Wang <zhenyu.z.wang@intel.com>                                                                      
Date:   Wed Sep 3 09:41:00 2008 +0800                                                                              
                                                                                                                   
    randr: fix user mode create initial reference count                                                            
                                                                                                                   
    Don't need extra reference count adding when creating user mode.                                               
    This fixes user mode destroy, otherwise we get BadAccess error.                                                
                                                                                                                   
:040000 040000 2b080beb108874742822f2586a70a85dff4ac34e 20e36acbca5981f9f39ab403a5643d9427b54a6e M      randr

in xserver master.

Symptoms - after ctral-alt-backspace salute screen go black (monitor still thinks it get signal - green light is on), but i can reboot/poweroff machine properly. Switching to another vt and kill X manually give me usable console.


under gdb (gdb -c core /usr/X11/bin/X -> bt full) it looks like 

  #0  0xb7a96c20 in malloc_consolidate () from /lib/libc.so.6
No symbol table info available.
#1  0xb7a98d3a in _int_malloc () from /lib/libc.so.6
No symbol table info available.
#2  0xb7a9ab2d in malloc () from /lib/libc.so.6
No symbol table info available.
#3  0xb7977d05 in drmMalloc (size=2076) at xf86drm.c:146
	pt = <value optimized out>
#4  0xb79798ee in drmHashCreate () at xf86drmHash.c:162
	table = <value optimized out>
	i = <value optimized out>
#5  0xb7978377 in drmGetEntry (fd=12) at xf86drm.c:210
	key = 57856
	value = <value optimized out>
	entry = (drmHashEntry *) 0x9abf780
#6  0xb79a3652 in drmRemoveSIGIOHandler (fd=12) at dri.c:2477
	entry = <value optimized out>
#7  0xb79a6575 in DRICloseScreen (pScreen=0x9a95ce8) at dri.c:679
	pDRIPriv = (DRIScreenPrivPtr) 0x9abdfd8
	pDRIInfo = (DRIInfoPtr) 0x9abdeb0
	reserved = <value optimized out>
	reserved_count = <value optimized out>
	pScrn = <value optimized out>
	pDRIEntPriv = (DRIEntPrivPtr) 0x9a92d30
	closeMaster = <value optimized out>
#8  0xb7948699 in RADEONDRICloseScreen (pScreen=0x9a95ce8) at radeon_dri.c:1851
	pScrn = <value optimized out>
	info = (RADEONInfoPtr) 0x9a89d78
	drmInfo = {func = RADEON_CLEANUP_CP, sarea_priv_offset = 0, 
  is_pci = 0, cp_mode = 0, gart_size = 0, ring_size = 0, usec_timeout = 0, 
  fb_bpp = 0, front_offset = 0, front_pitch = 0, back_offset = 0, 
  back_pitch = 0, depth_bpp = 0, depth_offset = 0, depth_pitch = 0, 
  fb_offset = 0, mmio_offset = 0, ring_offset = 0, ring_rptr_offset = 0, 
  buffers_offset = 0, gart_textures_offset = 0}
#9  0xb7948848 in RADEONDRIDoCloseScreen (scrnIndex=0, pScreen=0x9a95ce8)
    at radeon_dri.c:1615
	info = (RADEONInfoPtr) 0x9a89d78
#10 0xb7806fdf in exaXorgCloseScreen (i=0, pScreen=0x9a95ce8) at examodule.c:85
No locals.
#11 0xb78083e6 in exaCloseScreen (i=0, pScreen=0x9a95ce8) at exa.c:758
	pExaScr = (ExaScreenPrivPtr) 0x9abfca0
	ps = (PictureScreenPtr) 0x9abf658
#12 0x080c03db in DPMSClose (i=0, pScreen=0x9a95ce8) at xf86DPMS.c:138
	pDPMS = <value optimized out>
#13 0x0810c2dc in miDCCloseScreen (index=0, pScreen=0x9a95ce8)
    at midispcur.c:175
No locals.
#14 0x081755a4 in damageCloseScreen (i=0, pScreen=0x9a95ce8) at damage.c:1803
No locals.
#15 0x0811884c in miPointerCloseScreen (index=0, pScreen=0x9a95ce8)
    at mipointer.c:162
No locals.
#16 0x0811f6fc in miSpriteCloseScreen (i=0, pScreen=0x9a95ce8)
    at misprite.c:320
No locals.
#17 0x080bf737 in DGACloseScreen (i=0, pScreen=0x9a95ce8) at xf86DGA.c:268
	pScreenPriv = (DGAScreenPtr) 0x9abf890
#18 0xb7a08f94 in XvCloseScreen (ii=0, pScreen=0x9a95ce8) at xvmain.c:317
No locals.
#19 0xb791e785 in RADEONCloseScreen (scrnIndex=0, pScreen=0x9a95ce8)
    at radeon_driver.c:5643
	pScrn = (ScrnInfoPtr) 0x9a89810
	info = (RADEONInfoPtr) 0x9a89d78
#20 0x0816b2be in RRCloseScreen (i=0, pScreen=0x9a95ce8) at randr.c:105
	pScrPriv = (rrScrPrivPtr) 0x9acd248
	j = <value optimized out>
#21 0x080c823e in CMapCloseScreen (i=0, pScreen=0x9a95ce8) at xf86cmap.c:230
No locals.
#22 0x080c4e63 in VidModeClose (i=0, pScreen=0x9a95ce8) at xf86VidMode.c:116
No locals.
#23 0x08144d2d in CursorCloseScreen (index=0, pScreen=0x9a95ce8)
    at cursor.c:201
	cs = (CursorScreenPtr) 0x9adaa98
	ret = <value optimized out>
#24 0x081698ac in AnimCurCloseScreen (index=0, pScreen=0x9a95ce8)
    at animcur.c:136
	ret = <value optimized out>
#25 0x0813ea9b in compCloseScreen (index=0, pScreen=0x9a95ce8) at compinit.c:84
	ret = 2031616
#26 0xb79e4e0a in glxCloseScreen (index=0, pScreen=0x9a95ce8)
    at glxscreens.c:222
	pGlxScreen = <value optimized out>
#27 0x0806c66c in main (argc=1, argv=0xbf8fd924, envp=
Cannot access memory at address 0xb811
) at main.c:422
	i = 0
	xauthfile = <value optimized out>
	alwaysCheckForInput = {0, 1}

and i will attach typical x log without NoTrapSignals option ...

Playing with AIGLX off and DRI 0 (for radeon) give me too confusing results, probably others (unmasked now) bugs.
Comment 4 Andrew Randrianasulu 2008-09-04 18:16:46 UTC
Created attachment 18682 [details]
typical crash log.


at the end:

Backtrace:
0: /usr/X11/bin/X(xf86SigHandler+0x79) [0x80c0b09]
1: [0xffffe400]
2: /lib/libc.so.6 [0xb7bf8d3a]
3: /lib/libc.so.6(__libc_malloc+0x8d) [0xb7bfab2d]
4: /usr/X11R7/lib/libdrm.so.2(drmMalloc+0x25) [0xb7ad7d05]
5: /usr/X11R7/lib/libdrm.so.2(drmHashCreate+0x1e) [0xb7ad98ee]
6: /usr/X11R7/lib/libdrm.so.2(drmGetEntry+0xa7) [0xb7ad8377]
7: /usr/X11R7/lib/xorg/modules/extensions//libdri.so(drmRemoveSIGIOHandler+0x22) [0xb7b03652]
8: /usr/X11R7/lib/xorg/modules/extensions//libdri.so(DRICloseScreen+0x325) [0xb7b06575]
9: /usr/X11R7/lib/xorg/modules/drivers//nouveau_drv.so(NVDRICloseScreen+0x3b) [0xb7a9529b]
10: /usr/X11R7/lib/xorg/modules/drivers//nouveau_drv.so [0xb7a9a840]
11: /usr/X11/bin/X [0x80c4e63]
12: /usr/X11/bin/X [0x8144d2d]
13: /usr/X11/bin/X [0x81698ac]
14: /usr/X11/bin/X [0x813ea9b]
15: /usr/X11R7/lib/xorg/modules/extensions//libglx.so [0xb7b44e0a]
16: /usr/X11/bin/X(main+0x47c) [0x806c66c]
17: /lib/libc.so.6(__libc_start_main+0xe0) [0xb7ba3390]
18: /usr/X11/bin/X [0x806ba61]


very similar backtrace was from radeon driver. Vesa and radeon with DRI off has different backtraces.

All this on x86, slackware-current, gcc-4.3.1 for X, gcc 4.2.3 (default) for kernel and other bits. 

xserver - bf333c2f9833a178887e7bdd7fc338f1e09c387f
drm - 99f8cce3eae79c9cf5e9897ef1af8eac24b38c09
nouveau - 6dd8ad4ed3f89c6ed9e61708a587d417c8d984fe (+ suspend patch)
radeon - 38aa450fce6a91b35c191fd07112490a62cc29c6
Comment 5 Oswald Buddenhagen 2010-05-30 02:38:50 UTC
haven't seen this for quite some time, so ...

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.