Bug 20697 - xorg 1.6 caught a signal 11 when dri is enabled
Summary: xorg 1.6 caught a signal 11 when dri is enabled
Status: RESOLVED NOTABUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: DRI git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-16 12:34 UTC by Jimmy Jazz
Modified: 2009-03-19 15:48 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg log file (38.92 KB, text/plain)
2009-03-16 12:34 UTC, Jimmy Jazz
no flags Details
xorg log file with radeonhd driver (28.29 KB, text/plain)
2009-03-16 12:45 UTC, Jimmy Jazz
no flags Details
Xorg log with better results (49.88 KB, text/plain)
2009-03-19 15:06 UTC, Jimmy Jazz
no flags Details

Description Jimmy Jazz 2009-03-16 12:34:58 UTC
Created attachment 23927 [details]
Xorg log file

I'm testing the r6xx-r7xx-branch git branch and xorg 1.6 but the server is unable to activate its drm/dri code and crashes. It is still possible to access the computer from a remote console. The issue concerns both xf86-video-radeonhd and xf86-video-ati drivers. Without DRI support, the server works pretty well.

Here is the drm debug messages returned during the crash:

PM: Adding info for No Bus:vcs2
PM: Adding info for No Bus:vcsa2
[drm:drm_stub_open] 
[drm:drm_open_helper] pid = 836, minor = 0
[drm:radeon_driver_open] 
[drm:drm_addmap_core] offset = 0xfdee0000, size = 0x00010000, type = 1
[drm:drm_addmap_core] offset = 0xd0000000, size = 0x10000000, type = 0
mtrr: 0xd0000000,0x10000000 overlaps existing 0xd0000000,0x1000000
[drm:drm_addmap_core] offset = 0x00000000, size = 0x00002000, type = 2
[drm:drm_addmap_core] 8192 13 ffffc20000679000
[drm:drm_setup] 
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0406400, nr=0x00, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0406400, nr=0x00, dev 0xe200, auth=1
[drm:drm_release] open_count = 1
[drm:drm_release] pid = 836, device = 0xe200, open_count = 1
[drm:drm_fasync] fd = -1, device = 0xe200
[drm:drm_lastclose] 
[drm:r600_do_cleanup_cp] 
[drm:drm_lastclose] driver lastclose completed
[drm:drm_lastclose] lastclose completed
[drm:drm_stub_open] 
[drm:drm_open_helper] pid = 836, minor = 0
[drm:radeon_driver_open] 
[drm:drm_addmap_core] offset = 0xfdee0000, size = 0x00010000, type = 1
[drm:drm_addmap_core] offset = 0xd0000000, size = 0x10000000, type = 0
mtrr: 0xd0000000,0x10000000 overlaps existing 0xd0000000,0x1000000
[drm:drm_addmap_core] offset = 0x00000000, size = 0x00002000, type = 2
[drm:drm_addmap_core] 8192 13 ffffc20000679000
[drm:drm_setup] 
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0106407, nr=0x07, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0106401, nr=0x01, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0106401, nr=0x01, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0406400, nr=0x00, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0406400, nr=0x00, dev 0xe200, auth=1
[drm:drm_release] open_count = 1
[drm:drm_release] pid = 836, device = 0xe200, open_count = 1
[drm:drm_fasync] fd = -1, device = 0xe200
[drm:drm_lastclose] 
[drm:r600_do_cleanup_cp] 
[drm:drm_lastclose] driver lastclose completed
[drm:drm_lastclose] lastclose completed
[drm:drm_stub_open] 
[drm:drm_open_helper] pid = 836, minor = 0
[drm:radeon_driver_open] 
[drm:drm_addmap_core] offset = 0xfdee0000, size = 0x00010000, type = 1
[drm:drm_addmap_core] offset = 0xd0000000, size = 0x10000000, type = 0
mtrr: 0xd0000000,0x10000000 overlaps existing 0xd0000000,0x1000000
[drm:drm_addmap_core] offset = 0x00000000, size = 0x00002000, type = 2
[drm:drm_addmap_core] 8192 13 ffffc20000679000
[drm:drm_setup] 
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0406400, nr=0x00, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0406400, nr=0x00, dev 0xe200, auth=1
[drm:drm_release] open_count = 1
[drm:drm_release] pid = 836, device = 0xe200, open_count = 1
[drm:drm_fasync] fd = -1, device = 0xe200
[drm:drm_lastclose] 
[drm:r600_do_cleanup_cp] 
[drm:drm_lastclose] driver lastclose completed
[drm:drm_lastclose] lastclose completed
[drm:drm_stub_open] 
[drm:drm_open_helper] pid = 836, minor = 0
[drm:radeon_driver_open] 
[drm:drm_addmap_core] offset = 0xfdee0000, size = 0x00010000, type = 1
[drm:drm_addmap_core] offset = 0xd0000000, size = 0x10000000, type = 0
mtrr: 0xd0000000,0x10000000 overlaps existing 0xd0000000,0x1000000
[drm:drm_addmap_core] offset = 0x00000000, size = 0x00002000, type = 2
[drm:drm_addmap_core] 8192 13 ffffc20000679000
[drm:drm_setup] 
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0406400, nr=0x00, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0406400, nr=0x00, dev 0xe200, auth=1
[drm:drm_release] open_count = 1
[drm:drm_release] pid = 836, device = 0xe200, open_count = 1
[drm:drm_fasync] fd = -1, device = 0xe200
[drm:drm_lastclose] 
[drm:r600_do_cleanup_cp] 
[drm:drm_lastclose] driver lastclose completed
[drm:drm_lastclose] lastclose completed
[drm:drm_stub_open] 
[drm:drm_open_helper] pid = 836, minor = 0
[drm:radeon_driver_open] 
[drm:drm_addmap_core] offset = 0xfdee0000, size = 0x00010000, type = 1
[drm:drm_addmap_core] offset = 0xd0000000, size = 0x10000000, type = 0
mtrr: 0xd0000000,0x10000000 overlaps existing 0xd0000000,0x1000000
[drm:drm_addmap_core] offset = 0x00000000, size = 0x00002000, type = 2
[drm:drm_addmap_core] 8192 13 ffffc20000679000
[drm:drm_setup] 
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0106407, nr=0x07, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0106401, nr=0x01, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0106401, nr=0x01, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0106407, nr=0x07, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0286415, nr=0x15, dev 0xe200, auth=1
[drm:drm_addmap_core] offset = 0x00000000, size = 0x00002000, type = 2
[drm:drm_mmap_locked] start = 0x7f5a9a5d3000, end = 0x7f5a9a5d5000, page offset = 0x1efff
[drm:drm_vm_open_locked] 0x7f5a9a5d3000,0x00002000
[drm:drm_do_vm_shm_fault] shm_fault 0x0
[drm:drm_do_vm_shm_fault] shm_fault 0x1000
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0286415, nr=0x15, dev 0xe200, auth=1
[drm:drm_addmap_core] offset = 0xd0000000, size = 0x0fff0000, type = 0
[drm:drm_addmap_core] Matching maps of type 0 with mismatched sizes, (268369920 vs 268435456)
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0106426, nr=0x26, dev 0xe200, auth=1
[drm:drm_unlocked_ioctl] pid=836, cmd=0xc0106426, nr=0x26, dev 0xe200, auth=1
PM: Removing info for No Bus:vcs2
PM: Removing info for No Bus:vcsa2
[drm:drm_vm_shm_close] 0x7f5a9a5d3000,0x00002000
[drm:drm_release] open_count = 1
[drm:drm_release] pid = 836, device = 0xe200, open_count = 1
[drm:drm_fasync] fd = -1, device = 0xe200
[drm:drm_lastclose] 
[drm:r600_do_cleanup_cp] 
[drm:drm_lastclose] driver lastclose completed
[drm:drm_lastclose] lastclose completed
Comment 1 Jimmy Jazz 2009-03-16 12:45:37 UTC
Created attachment 23928 [details]
xorg log file with radeonhd driver
Comment 2 Jimmy Jazz 2009-03-16 16:50:42 UTC
As opposed to what one can read in the log file,
(II) RADEON(0): DRIScreenInit for fglrx driver
i'm using the open source radeon module.
Comment 3 Alex Deucher 2009-03-16 17:32:56 UTC
Do you have old fglrx libs still lying around?  Make sure to fully uninstall it before using the open source drivers.
Comment 4 Jimmy Jazz 2009-03-19 13:53:53 UTC
(In reply to comment #3)
> Do you have old fglrx libs still lying around?  Make sure to fully uninstall it
> before using the open source drivers.
> 
No, I really checked twice before reporting. I'm more open source friendly. Also I tried for a while to get the closed source working but without success. :)

I have just found a non existent link to //usr/lib32/opengl/ati/extensions/libdri.so 
and
strings /usr/lib64/xorg/modules/extensions/libdri.so | grep -i fglrx
DRIScreenInit for fglrx driver

but that's all.

I will check it again.
Comment 5 Jimmy Jazz 2009-03-19 15:05:27 UTC
(In reply to comment #3)

This time the culprit wasn't the closed source ati libs... 

In gentoo, /usr/lib64/xorg/modules/extensions/libdri.so is a link to /usr/lib64/opengl/xorg-x11/extensions/libdri.so. That ease the switching between the closed and the open sources with the eselect tool. 
Also when I upgraded xorg-server to 1.6.0 or to the git sources with emerge tool  the real libdri.so file was never deleted and replaced with the new library. 

The lesson is, always perform a ls -l and take time to check the creation date and the type of the object.

Reinstalling the server after removing /usr/lib64/xorg/modules/extensions/libdri.so as well as /usr/lib64/opengl/xorg-x11/extensions/libdri.so has done it.

Little report,
glgears reports 400FPS, EXA is smooth enough during scrolling but compiz 8.2 gives me a stupid white screen.
Also AIGLX still complains about a missing /usr/lib64/dri/r600_dri.so file. Probably due to the fact that it is not r6xx or r7xx ready right now.

Thanks for the hint 

Comment 6 Jimmy Jazz 2009-03-19 15:06:44 UTC
Created attachment 24053 [details]
Xorg log with better results
Comment 7 Alex Deucher 2009-03-19 15:48:51 UTC
(In reply to comment #5)
> 
> Little report,
> glgears reports 400FPS, EXA is smooth enough during scrolling but compiz 8.2
> gives me a stupid white screen.
> Also AIGLX still complains about a missing /usr/lib64/dri/r600_dri.so file.
> Probably due to the fact that it is not r6xx or r7xx ready right now.
> 

GL will not be accelerated and compiz won't work yet since there is no 3D driver yet for r6xx/r7xx chips.  We just have Xv and EXA support right now.

> Thanks for the hint 
> 

No problem.


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.