On Sat, Oct 12, 2013 at 09:46:14PM +0100, Chris Wilson wrote: > On Fri, Oct 11, 2013 at 09:24:54PM +0200, Bas Wijnen wrote: > > Hello, > > > > My X server was crashing when playing video, and I wrote a patch to fix > > it. Please find the background and the patch at > > http://bugs.debian.org/724944 . > > The patch is a shotgun solution, putting NULL pointer checks where the > pointer is explicitly not allowed to be NULL. I need an actual > stacktrace to find the root cause. > -Chris Sure thing; you can find it attached. Of course it shows when the segfault is triggered, not when the data became NULL. And that should be fixed, because even though the server doesn't crash with the patch, it also doesn't play video. If you need any more information (like debug statements in the set_pixmap_private?), please let me know how I can generate it. Thanks, Bas
#0 0xb758f424 in __kernel_vsyscall () #1 0xb719380f in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #2 0xb7196cc3 in __GI_abort () at abort.c:90 #3 0xb77574a9 in OsAbort () at ../../os/utils.c:1299 #4 0xb7630d07 in ddxGiveUp (error=error@entry=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1063 #5 0xb7630da3 in AbortDDX (error=error@entry=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1107 #6 0xb775cc41 in AbortServer () at ../../os/log.c:767 #7 0xb775d6be in FatalError ( f=f@entry=0xb7785084 "Caught signal %d (%s). Server aborting\n") at ../../os/log.c:908 #8 0xb7754d84 in OsSigHandler (signo=11, sip=0xbfbe0f0c, unused=0xbfbe0f8c) at ../../os/osinit.c:147 #9 <signal handler called> #10 0xb6f26d79 in intel_pixmap_tiled (pixmap=0xb8945808) at ../../../src/uxa/intel.h:138 #11 I915DisplayVideoTextured (scrn=0xb83f2f08, adaptor_priv=0xb83eed70, id=808596553, dstRegion=0xbfbe14a8, width=352, height=288, video_pitch=176, video_pitch2=352, src_w=352, src_h=288, drw_w=384, drw_h=288, pixmap=0xb8425d98) at ../../../src/uxa/i915_video.c:156 #12 0xb6f22215 in I830PutImageTextured (scrn=0xb83f2f08, src_x=0, src_y=0, drw_x=1308, drw_y=192, src_w=352, src_h=288, drw_w=384, drw_h=288, id=808596553, buf=0xb3140000 <Address 0xb3140000 out of bounds>, width=352, height=288, sync=0, clipBoxes=0xbfbe14a8, data=0xb83eed70, drawable=0xb88fad78) at ../../../src/uxa/intel_video.c:1584 #13 0xb764877c in xf86XVPutImage (client=0xb8906010, pDraw=0xb88fad78, pPort=0xb840ce58, pGC=0xb89206d8, src_x=0, src_y=0, src_w=352, src_h=288, drw_x=0, drw_y=0, drw_w=384, drw_h=288, format=0xb840ccd0, data=0xb3140000 <Address 0xb3140000 out of bounds>, sync=0, width=352, height=288) at ../../../../hw/xfree86/common/xf86xv.c:1827 #14 0xb769304c in XvdiPutImage (client=client@entry=0xb8906010, pDraw=0xb88fad78, pPort=0xb840ce58, pGC=0xb89206d8, src_x=0, src_y=0, src_w=352, src_h=288, drw_x=0, drw_y=0, drw_w=384, drw_h=288, image=image@entry=0xb840ccd0, data=0xb3140000 <Address 0xb3140000 out of bounds>, sync=0, width=width@entry=352, height=288) at ../../Xext/xvmain.c:673 #15 0xb7694648 in ProcXvShmPutImage (client=0xb8906010) at ../../Xext/xvdisp.c:1025 #16 0xb7696dae in ProcXvDispatch (client=0xb8906010) at ../../Xext/xvdisp.c:1212 #17 0xb75ed35d in Dispatch () at ../../dix/dispatch.c:432 #18 0xb75db38a in main (argc=13, argv=0xbfbe1774, envp=0xbfbe17ac) at ../../dix/main.c:298 #0 0xb758f424 in __kernel_vsyscall () No symbol table info available. #1 0xb719380f in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 resultvar = <optimized out> resultvar = <optimized out> pid = -1221525504 selftid = 29720 #2 0xb7196cc3 in __GI_abort () at abort.c:90 save_stage = 2 act = {__sigaction_handler = {sa_handler = 0xbfbe0db0, sa_sigaction = 0xbfbe0db0}, sa_mask = {__val = {3078486656, 3073441792, 171515904, 3076194304, 3076196648, 5, 3078438944, 3076120729, 3076197088, 3071376880, 1, 5, 0, 0, 0, 0, 0, 0, 0, 3076259256, 0, 0, 0, 3071717608, 0, 0, 0, 3078438912, 1, 3078475476, 3078475380, 3076146208}}, sa_flags = -1216480640, sa_restorer = 0xb7196b80 <__GI_abort>} sigs = {__val = {32, 0 <repeats 31 times>}} #3 0xb77574a9 in OsAbort () at ../../os/utils.c:1299 No locals. #4 0xb7630d07 in ddxGiveUp (error=error@entry=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1063 i = <optimized out> #5 0xb7630da3 in AbortDDX (error=error@entry=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1107 i = <optimized out> #6 0xb775cc41 in AbortServer () at ../../os/log.c:767 No locals. #7 0xb775d6be in FatalError ( f=f@entry=0xb7785084 "Caught signal %d (%s). Server aborting\n") at ../../os/log.c:908 args = 0xbfbe0ee4 "\v" args2 = 0xbfbe0ee4 "\v" beenhere = 1 #8 0xb7754d84 in OsSigHandler (signo=11, sip=0xbfbe0f0c, unused=0xbfbe0f8c) at ../../os/osinit.c:147 unused = 0xbfbe0f8c sip = 0xbfbe0f0c signo = 11 #9 <signal handler called> No symbol table info available. #10 0xb6f26d79 in intel_pixmap_tiled (pixmap=0xb8945808) at ../../../src/uxa/intel.h:138 No locals. #11 I915DisplayVideoTextured (scrn=0xb83f2f08, adaptor_priv=0xb83eed70, id=808596553, dstRegion=0xbfbe14a8, width=352, height=288, video_pitch=176, video_pitch2=352, src_w=352, src_h=288, drw_w=384, drw_h=288, pixmap=0xb8425d98) at ../../../src/uxa/i915_video.c:156 ms3 = <optimized out> s5 = <optimized out> tiling = <optimized out> pbox = 0xbfbe14a8 nbox_total = 0 nbox_this_time = 1 dxo = 1308 dyo = 192 pix_xoff = -1308 pix_yoff = -192 target = 0xb8945808 #12 0xb6f22215 in I830PutImageTextured (scrn=0xb83f2f08, src_x=0, src_y=0, drw_x=1308, drw_y=192, src_w=352, src_h=288, drw_w=384, drw_h=288, id=808596553, buf=0xb3140000 <Address 0xb3140000 out of bounds>, width=352, height=288, sync=0, clipBoxes=0xbfbe14a8, data=0xb83eed70, drawable=0xb88fad78) at ../../../src/uxa/intel_video.c:1584 adaptor_priv = 0xb83eed70 dstPitch = 176 dstPitch2 = 352 dstBox = {x1 = 1308, y1 = 192, x2 = 1692, y2 = 480} crtc = 0xb83e8930 top = 0 left = 0 npixels = 352 nlines = 288 #13 0xb764877c in xf86XVPutImage (client=0xb8906010, pDraw=0xb88fad78, pPort=0xb840ce58, pGC=0xb89206d8, src_x=0, src_y=0, src_w=352, src_h=288, drw_x=0, drw_y=0, drw_w=384, drw_h=288, format=0xb840ccd0, data=0xb3140000 <Address 0xb3140000 out of bounds>, sync=0, width=352, height=288) at ../../../../hw/xfree86/common/xf86xv.c:1827 portPriv = 0xb83ecde8 WinRegion = {extents = {x1 = 1308, y1 = 192, x2 = 1692, y2 = 480}, data = 0x0} ClipRegion = {extents = {x1 = 1308, y1 = 192, x2 = 1692, y2 = 480}, data = 0x0} WinBox = {x1 = 1308, y1 = 192, x2 = 1692, y2 = <optimized out>} ret = <optimized out> clippedAway = 0 #14 0xb769304c in XvdiPutImage (client=client@entry=0xb8906010, pDraw=0xb88fad78, pPort=0xb840ce58, pGC=0xb89206d8, src_x=0, src_y=0, src_w=352, src_h=288, drw_x=0, drw_y=0, drw_w=384, drw_h=288, image=image@entry=0xb840ccd0, data=0xb3140000 <Address 0xb3140000 out of bounds>, sync=0, width=width@entry=352, height=288) at ../../Xext/xvmain.c:673 No locals. #15 0xb7694648 in ProcXvShmPutImage (client=0xb8906010) at ../../Xext/xvdisp.c:1025 shmdesc = 0xb8932e98 pDraw = 0xb88fad78 pPort = 0xb840ce58 pImage = 0xb840ccd0 pGC = 0xb89206d8 status = <optimized out> size_needed = <optimized out> i = <optimized out> width = 352 height = 288 stuff = 0xb891f0b8 #16 0xb7696dae in ProcXvDispatch (client=0xb8906010) at ../../Xext/xvdisp.c:1212 stuff = 0xb891f0b8 #17 0xb75ed35d in Dispatch () at ../../dix/dispatch.c:432 clientReady = 0xb85d0d88 result = <optimized out> client = 0xb8906010 nready = 0 icheck = 0xb77e1438 <checkForInput> start_tick = 1540 #18 0xb75db38a in main (argc=13, argv=0xbfbe1774, envp=0xbfbe17ac) at ../../dix/main.c:298 i = <optimized out> alwaysCheckForInput = {0, 1}
Attachment:
signature.asc
Description: Digital signature
_______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx