Bug 65938 - Dual Card Multi Head with radeon causes xorg to segfault
Summary: Dual Card Multi Head with radeon causes xorg to segfault
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: 7.4 (2008.09)
Hardware: Other All
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-19 16:38 UTC by Öyvind Saether
Modified: 2014-05-04 15:19 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
xorg log (41.76 KB, text/plain)
2013-06-19 16:38 UTC, Öyvind Saether
no flags Details
xorg.conf which fails (2.76 KB, text/plain)
2013-06-19 16:39 UTC, Öyvind Saether
no flags Details

Description Öyvind Saether 2013-06-19 16:38:40 UTC
Created attachment 81076 [details]
xorg log

Setup:
02:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Pitcairn PRO [Radeon HD 7850] two monitors connected to DVI

01:05.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RS780D [Radeon HD 3300] with one monitor connected to DVI

xorg crashes if I try use glamor as accelration for both the Radeon HD 7850 and Radeon HD 3300

xorg crashes if I tr to use glamor on 7850 and EXA on 3300.

The only way I can get this setup to work is without accelration for the 7850.

segfault with glameor:

[   215.109] (EE) Backtrace:
[   215.110] (EE) 0: /usr/bin/X (xorg_backtrace+0x36) [0x59a436]
[   215.110] (EE) 1: /usr/bin/X (0x400000+0x19e329) [0x59e329]
[   215.110] (EE) 2: /lib64/libpthread.so.0 (0x3b94e00000+0x10810) [0x3b94e10810]
[   215.110] (EE) 3: /usr/lib64/dri/r600_dri.so (radeon_drm_winsys_create+0xb0) [0x7fb2367360d0]
[   215.110] (EE) 4: /usr/lib64/dri/r600_dri.so (0x7fb23612f000+0x2cb2a9) [0x7fb2363fa2a9]
[   215.110] (EE) 5: /usr/lib64/dri/r600_dri.so (0x7fb23612f000+0x6029e4) [0x7fb2367319e4]
[   215.110] (EE) 6: /usr/lib64/dri/swrast_dri.so (0x7fb2309b8000+0x250828) [0x7fb230c08828]
[   215.110] (EE) 7: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fb2382f7000+0x3f1d4) [0x7fb2383361d4]
[   215.110] (EE) 8: /usr/lib64/xorg/modules/extensions/libglx.so (0x7fb2382f7000+0x3e98b) [0x7fb23833598b]
[   215.110] (EE) 9: /usr/bin/X (InitExtensions+0x39) [0x4b2419]
[   215.110] (EE) 10: /usr/bin/X (0x400000+0x2a2bb) [0x42a2bb]
[   215.110] (EE) 11: /lib64/libc.so.6 (__libc_start_main+0xec) [0x3b946224cc]
[   215.110] (EE) 12: /usr/bin/X (0x400000+0x29fc9) [0x429fc9]
Comment 1 Öyvind Saether 2013-06-19 16:39:10 UTC
Created attachment 81077 [details]
xorg.conf which fails
Comment 2 Michel Dänzer 2013-07-11 16:30:35 UTC
(In reply to comment #2)
> xorg crashes if I try use glamor as accelration for both the Radeon HD 7850
> and Radeon HD 3300
> 
> xorg crashes if I tr to use glamor on 7850 and EXA on 3300.

The log file you attached corresponds to neither of these but shows an attempt to use glamor on the 3300 and EXA on the 7850 (which isn't supported, so it fails to enable acceleration for the 7850).

Can you attach log files corresponding to the above cases?

Also, it would be great if you could get backtraces of the crashes with gdb, and make sure all involved binaries have debugging symbols.
Comment 3 Michael Mair-Keimberger 2013-11-17 14:46:05 UTC
I think i have the same issue with my two ati cards.

My setup:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970]
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Barts PRO [Radeon HD 6850]

(EE) 
(EE) Backtrace:
(EE) 0: /usr/bin/X (xorg_backtrace+0x36) [0x5867b6]
(EE) 1: /usr/bin/X (0x400000+0x18a4e9) [0x58a4e9]
(EE) 2: /lib64/libpthread.so.0 (0x7f44c9ae0000+0x10f30) [0x7f44c9af0f30]
(EE) 3: /usr/lib64/xorg/modules/libglamoregl.so (glamor_gl_dispatch_init+0x2d) [0x7f44c7a323cd]
(EE) 4: /usr/lib64/libglamor.so (glamor_init+0x175) [0x7f44c75d41b5]
(EE) 5: /usr/lib64/xorg/modules/drivers/radeon_drv.so (0x7f44c5288000+0x4bcbe) [0x7f44c52d3cbe]
(EE) 6: /usr/lib64/xorg/modules/drivers/radeon_drv.so (0x7f44c5288000+0xc460) [0x7f44c5294460]
(EE) 7: /usr/lib64/xorg/modules/drivers/radeon_drv.so (0x7f44c5288000+0x46242) [0x7f44c52ce242]
(EE) 8: /usr/bin/X (AddGPUScreen+0x7c) [0x43b33c]
(EE) 9: /usr/bin/X (InitOutput+0x284) [0x47c1c4]
(EE) 10: /usr/bin/X (0x400000+0x29d40) [0x429d40]
(EE) 11: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7f44c8954c35]
(EE) 12: /usr/bin/X (0x400000+0x2a2c1) [0x42a2c1]
(EE) 
(EE) Segmentation fault at address 0x8
(EE) 
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE) 
(EE) 


This is on a gentoo box. I already open a bug at bugs.gentoo.org [1] where are additional information. 
Usually i'm using my hd7970 only for xen, but recently i wanted to try it out on gentoo too. However i couldn't get it to work yet.

[1] https://bugs.gentoo.org/show_bug.cgi?id=484374


I've also tried to create an bt. Below is what i got. For this backtrace i've rebuild mesa, xorg-server, glamor and xf86-video-ati with following settings: "-O1 -pipe -ggdb". I also wanted to build mesa with debug symbols, however it failed to build.

The backtrace was done from another machine. (Is there a way todo it on the machine itself? Because when i try it starts X but never stops - and i couldn't do anything)
I was testing via "gdb /usb/bin/X"

This is what i got:
#0  do_winsys_init (ws=0xf4fca0) at radeon_drm_winsys.c:212
#1  radeon_drm_winsys_create (fd=-1) at radeon_drm_winsys.c:617
#2  0x00007fe36429125c in create_screen (fd=<optimized out>) at target.c:11
#3  0x00007fe36453d998 in dri2_init_screen (sPriv=0x85b5b0) at dri2.c:877
#4  0x00007fe3606ab1ad in driCreateNewScreen (scrn=0, 
    extensions=0x7fe3658a4b70 <loader_extensions>, driver_configs=0xf4f1b0, 
    data=0xf4f110) at ../../../../src/mesa/drivers/dri/common/drisw_util.c:70
#5  0x00007fe3656777a7 in __glXDRIscreenProbe (pScreen=0xe78f50)
    at /var/tmp/portage/x11-base/xorg-server-1.14.4/work/xorg-server-1.14.4/glx/glxdriswrast.c:458
#6  0x00007fe365676d69 in GlxExtensionInit ()
    at /var/tmp/portage/x11-base/xorg-server-1.14.4/work/xorg-server-1.14.4/glx/glxext.c:355
#7  0x00000000004a7efe in InitExtensions (argc=argc@entry=1, 
    argv=argv@entry=0x7fffe91b9ee8)
    at /var/tmp/portage/x11-base/xorg-server-1.14.4/work/xorg-server-1.14.4/mi/miinitext.c:337
#8  0x00000000004281fa in main (argc=1, argv=0x7fffe91b9ee8, 
    envp=<optimized out>)
    at /var/tmp/portage/x11-base/xorg-server-1.14.4/work/xorg-server-1.14.4/dix/main.c:208
A debugging session is active.

	Inferior 1 [process 3504] will be killed.

Quit anyway? (y or n) 


I hope this can help somehow, if not i would need some assistance in how to create an proper backtrace for X :)
Comment 4 Michael Mair-Keimberger 2014-05-04 13:47:11 UTC
I think this bug got fixed in the meantime. I didn't had any problems for quite some time building both radeon and radeonsi...
Comment 5 Öyvind Saether 2014-05-04 15:19:14 UTC
I no longer have this system and there has been a whole lot of progress on glamour/mesa since this bug was opened. My guess is that this would work now. I am thinking the right thing to do is to close the bug since I can no longer test if this motherboard/IGP+radeon works or not.


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.