Bug 40439 - X core dump related ot intel driver
Summary: X core dump related ot intel driver
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.6 (2010.12)
Hardware: Other All
: medium normal
Assignee: Chris Wilson
QA Contact: Xorg Project Team
URL: http://bugs.winehq.org/show_bug.cgi?i...
Whiteboard:
Keywords:
: 40440 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-08-28 14:06 UTC by Toralf Förster
Modified: 2011-10-30 02:35 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
valgrind output for mesa classic (sw and i965 module) (160.81 KB, application/octet-stream)
2011-08-29 04:08 UTC, Toralf Förster
no flags Details

Description Toralf Förster 2011-08-28 14:06:05 UTC
While running a wine test suite (valgrind traces are here : http://bugs.winehq.org/show_bug.cgi?id=28198) I got a core dump at a ThinkPad T400 with integrated intel graphic GM45, mesa 7.11, intel driver 2.16.0, xorg server 1.11.0, kernel 2.6.39.4, gdb give :

(gdb) bt                                                                                                                                                                                                       
#0  0xb775b424 in ?? () from /usr/lib/dri/swrast_dri.so                                                                                                                                                        
#1  0xb7458872 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64                                                                                                                                  
#2  0xb7459fe0 in abort () at abort.c:92                                                                                                                                                                       
#3  0x081c397d in OsAbort () at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/os/utils.c:1230
#4  0x080b7ccd in ddxGiveUp (error=EXIT_ERR_ABORT) at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/hw/xfree86/common/xf86Init.c:936                                                                                  
#5  0x080b7d7a in AbortDDX (error=EXIT_ERR_ABORT) at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/hw/xfree86/common/xf86Init.c:982                                                                                   
#6  0x081cadb5 in AbortServer () at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/os/log.c:416                                                                                                                        
#7  0x081cb48e in FatalError (f=0x81ed8bc "Caught signal %d (%s). Server aborting\n")                                                                                                                                                        
    at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/os/log.c:547
#8  0x081c2e71 in OsSigHandler (signo=11, sip=0xbfcc956c, unused=0xbfcc95ec) at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/os/osinit.c:146
#9  <signal handler called>
#10 do_bo_emit_reloc (bo=0xbaf5710, offset=4, target_bo=0x0, target_offset=0, read_domains=4, write_domain=0, need_fence=0)
    at /var/tmp/portage/x11-libs/libdrm-2.4.26/work/libdrm-2.4.26/intel/intel_bufmgr_gem.c:1340
#11 0xb72a4ce5 in drm_intel_bo_emit_reloc (bo=0xbaf5710, offset=4, target_bo=0x0, target_offset=0, read_domains=4, write_domain=0)
    at /var/tmp/portage/x11-libs/libdrm-2.4.26/work/libdrm-2.4.26/intel/intel_bufmgr.c:181
#12 0xb72588aa in intel_emit_reloc (scrn=0x967bcb8, pixmap=0xb5c68008, surf_bo=0xbaf5710, offset=0)
    at /var/tmp/portage/x11-drivers/xf86-video-intel-2.16.0/work/xf86-video-intel-2.16.0/src/intel.h:690
#13 i965_create_dst_surface_state (scrn=0x967bcb8, pixmap=0xb5c68008, surf_bo=0xbaf5710, offset=0)
    at /var/tmp/portage/x11-drivers/xf86-video-intel-2.16.0/work/xf86-video-intel-2.16.0/src/i965_video.c:438
#14 0xb72595a5 in I965DisplayVideoTextured (scrn=0x967bcb8, adaptor_priv=0xad572e0, id=842094169, dstRegion=0xbfcc9cf0, width=704, height=576, video_pitch=352, 
    video_pitch2=704, src_w=704, src_h=576, drw_w=1024, drw_h=576, pixmap=0xb5c68008)
    at /var/tmp/portage/x11-drivers/xf86-video-intel-2.16.0/work/xf86-video-intel-2.16.0/src/i965_video.c:1187
#15 0xb724f9a7 in I830PutImageTextured (scrn=0x967bcb8, src_x=<value optimized out>, src_y=<value optimized out>, drw_x=<value optimized out>, 
    drw_y=<value optimized out>, src_w=704, src_h=576, drw_w=1024, drw_h=576, id=842094169, 
    buf=0xb6aed000 "\022\020\017\017\022\027\023\a\r\022\027\022\020\025\021\021\022\025\r\r\021\016\024\022\r\025\021\n\020\020\b\021\017\021\r\016\022\n\030\021\016\b\016\n\t\017\020\020\022\022\022\023\023\023\023\022\023\022\020\020\020\021\022\022\n\017\022\016\017\023\022\017\r\v\016\016\017\022\017\020\017\023\020\023\025\025\022\020\023\022\022\021\021\022\021\021\020\017\017\016\017\021\022\023\021\021\020\020\021\024\026\027\017\020\n\017\016\022\001\026\017\016\f\021\020\f\024\026\026\025\024\022\021\017\016\r\017\020\020\020\020\021\021\021\016\016\016\016\016\020\021\021\020\020\020\020\020\020\021\026\023\024\023\021\017\017\020\020\024\021\016\021\022\022\023\025\025\024\023\017\v\020\024\v\021\021\021\022\024\024\020\f\031\023\016\016\021\r\v\023"..., width=704, height=576, sync=0, 
    clipBoxes=0xbfcc9cf0, data=0xad572e0, drawable=0xb73f898)
    at /var/tmp/portage/x11-drivers/xf86-video-intel-2.16.0/work/xf86-video-intel-2.16.0/src/intel_video.c:1591
#16 0x080d1927 in xf86XVPutImage (client=0xbe1c668, pDraw=0xb73f898, pPort=0xad58660, pGC=0xb005860, src_x=0, src_y=0, src_w=<value optimized out>, 
    src_h=<value optimized out>, drw_x=0, drw_y=0, drw_w=<value optimized out>, drw_h=<value optimized out>, format=0xad58400, 
    data=0xb6aed000 "\022\020\017\017\022\027\023\a\r\022\027\022\020\025\021\021\022\025\r\r\021\016\024\022\r\025\021\n\020\020\b\021\017\021\r\016\022\n\030\021\016\b\016\n\t\017\020\020\022\022\022\023\023\023\023\022\023\022\020\020\020\021\022\022\n\017\022\016\017\023\022\017\r\v\016\016\017\022\017\020\017\023\020\023\025\025\022\020\023\022\022\021\021\022\021\021\020\017\017\016\017\021\022\023\021\021\020\020\021\024\026\027\017\020\n\017\016\022\001\026\017\016\f\021\020\f\024\026\026\025\024\022\021\017\016\r\017\020\020\020\020\021\021\021\016\016\016\016\016\020\021\021\020\020\020\020\020\020\021\026\023\024\023\021\017\017\020\020\024\021\016\021\022\022\023\025\025\024\023\017\v\020\024\v\021\021\021\022\024\024\020\f\031\023\016\016\021\r\v\023"..., sync=0, width=<value optimized out>, 
    height=<value optimized out>) at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/hw/xfree86/common/xf86xv.c:1865
#17 0xb7340f7e in XvdiPutImage (client=0xbe1c668, pDraw=0xb73f898, pPort=0xad58660, pGC=0xb005860, src_x=<value optimized out>, src_y=<value optimized out>, 
    src_w=<value optimized out>, src_h=<value optimized out>, drw_x=<value optimized out>, drw_y=<value optimized out>, drw_w=<value optimized out>, drw_h=576, 
    image=0xad58400, 
    data=0xb6aed000 "\022\020\017\017\022\027\023\a\r\022\027\022\020\025\021\021\022\025\r\r\021\016\024\022\r\025\021\n\020\020\b\021\017\021\r\016\022\n\030\021\016\b\016\n\t\017\020\020\022\022\022\023\023\023\023\022\023\022\020\020\020\021\022\022\n\017\022\016\017\023\022\017\r\v\016\016\017\022\017\020\017\023\020\023\025\025\022\020\023\022\022\021\021\022\021\021\020\017\017\016\017\021\022\023\021\021\020\020\021\024\026\027\017\020\n\017\016\022\001\026\017\016\f\021\020\f\024\026\026\025\024\022\021\017\016\r\017\020\020\020\020\021\021\021\016\016\016\016\016\020\021\021\020\020\020\020\020\020\021\026\023\024\023\021\017\017\020\020\024\021\016\021\022\022\023\025\025\024\023\017\v\020\024\v\021\021\021\022\024\024\020\f\031\023\016\016\021\r\v\023"..., sync=0, width=<value optimized out>, 
---Type <return> to continue, or q <return> to quit---
    height=<value optimized out>) at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/Xext/xvmain.c:709
#18 0xb73451b2 in llvm::BranchFolder::OptimizeBlock(llvm::MachineBasicBlock*) (client=0xbe1c668)
    at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/Xext/xvdisp.c:1091
#19 0xb734619b in ProcXvDispatch (client=0xbe1c668) at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/Xext/xvdisp.c:1273
#20 0x08077a77 in Dispatch () at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/dix/dispatch.c:432
#21 0x0806581a in main (argc=8, argv=0xbfcca034, envp=0xbfcca058) at /var/tmp/portage/x11-base/xorg-server-1.11.0/work/xorg-server-1.11.0/dix/main.c:287
Comment 1 Chris Wilson 2011-08-29 02:49:31 UTC
commit 0a74cd77a3f462d5d2707bf1f35663279bcb9be5
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Aug 29 10:41:26 2011 +0100

    video: check that the pixmap exists before use
    
    Now, the pixmap being used is meant to the Screen pixmap and by rights
    that has to exists in a GPU buffer! Evidence contrary to the above
    exists and so we had better check that we have a bo before using...
    
    Reported-by: Toralf Förster <toralf.foerster@gmx.de>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40439
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

That should stop the crash (I believe), I just don't understand how that was possible in the first place...
Comment 2 Toralf Förster 2011-08-29 04:08:46 UTC
Created attachment 50654 [details]
valgrind output for mesa classic (sw and i965 module)

I re-run with intel 2.16.0-15-g0ac4b97 the given wine test case, the valgrind output is attached here.

So far no crash observed nor occurred (monitor configuration is different from the original report however, currently I've a dual-head (LVDS+VGA) , whereas the bug occured w/ an external attached DVI monitor).
:-)
Comment 3 Toralf Förster 2011-08-29 12:22:07 UTC
*** Bug 40440 has been marked as a duplicate of this bug. ***
Comment 4 Toralf Förster 2011-08-30 00:58:28 UTC
Just for the record :

Thx Chris,

that patch solves few more crashes under wine too (eg. :within d3d8 and d3d9 directory) - now those test cases do only fail instead crash

;)


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.