| Summary: | i810 driver segfault in I830DRIDoMappings() | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | xorg | Reporter: | Konstantin A. Lepikhov <lakostis> | ||||||||||||
| Component: | Driver/intel | Assignee: | Alan Hourihane <alanh> | ||||||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||||||
| Severity: | normal | ||||||||||||||
| Priority: | high | CC: | dri-devel, shrek | ||||||||||||
| Version: | git | Keywords: | have-backtrace | ||||||||||||
| Hardware: | x86 (IA32) | ||||||||||||||
| OS: | Linux (All) | ||||||||||||||
| Whiteboard: | |||||||||||||||
| i915 platform: | i915 features: | ||||||||||||||
| Attachments: | 
            
  | 
      ||||||||||||||
| 
 
        
          Description
        
        
          Konstantin A. Lepikhov
        
        
        
        
          2006-03-24 04:42:13 UTC
        
       
    Created attachment 5034 [details]
Xorg.crash.i810.1.5.2.log.gz
Xorg.0.log crash log w/ backtrace
    Created attachment 5035 [details]
dmesg.gz
    Created attachment 5036 [details]
xorg.conf.gz
    Created attachment 5038 [details]
lspci.gz
lspci -v log
    cc'ed dri-devel for additional help. You might want to try the latest CVS. I'll add that the current CVS works for me. Still segfaults. some info about installed packages: $ rpm -qa|egrep "xorg\-x11\-(server|drv|dri)" xorg-x11-dri-i810-6.5-alt0.cvs20060418 xorg-x11-server-1.0.2-alt3 xorg-x11-drv-intel-1.6.0-alt0.git20060417 xorg-x11-server-common-1.0.2-alt3 I don't change drm modules, looks like it's not changed. Created attachment 5349 [details]
Xorg.crash.intel.1.6.0.git20060417.log.gz
    This has been reported to Debian at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363451 . Looks like a 64 bit specific issue? I had the same issue on a Gentoo ~amd64 box:
$ uname -a
Linux tc9 2.6.16-gentoo-r2 #1 Thu Apr 13 11:43:48 BST 2006 x86_64 Intel(R)
Pentium(R) 4 CPU 3.20GHz GNU/Linux
$ /usr/sbin/lspci | grep Graphics
00:02.0 VGA compatible controller: Intel Corporation 945G/GZ Express Integrated
Graphics Controller (rev 02)
00:02.1 Display controller: Intel Corporation 945G/GZ Express Integrated
Graphics Controller (rev 02)
I don't pretend to understand the code, but tracked down the crash to a null
pointer dereference within i830_dri.c.  The following patch fixed it for me:
**************
*** 771,777 ****
--- 771,779 ----
     sarea->depth_handle = 0;
     sarea->tex_handle = 0;
+    xf86DrvMsg(pScreen->myNum, X_INFO, "[drm] Setting pScreen.  pScreen:
0x%08x, pScrn: 0x%08x, pScrn->pScreen: 0x%08x\n",pScreen,pScrn,pScrn->pScreen);
     /* Need to initialize pScreen now to let RandR know. */
+    pScrn->pScreen=pScreen;
     pScrn->pScreen->width = pScrn->virtualX;
     pScrn->pScreen->height = pScrn->virtualY;
...I'm guessing what pScrn->pScreen should actually be set to, but this seems to
work OK.
    Thanks Kevin! This patch also fix segfault on my EMT64 box. Alan, could you commit it into mainline? Done.  | 
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.