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.