Bug 15404

Summary: DRI stops to work after libpciaccess enable xorg-server upgrade
Product: DRI Reporter: Marcin Kurek <morgoth6>
Component: GeneralAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: medium CC: morgoth6
Version: XOrg git   
Hardware: PowerPC   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Full Xorg.0.log
none
lspci -nn for this system
none
xorg.conf
none
/proc/interrupts
none
log with backtrace from glxinfo none

Description Marcin Kurek 2008-04-08 08:42:21 UTC
As I wanted to test is libpciaccess fixed bug #7248 I upgraded my xorg-server to recent git snapshot. The bug was fixed, but it seems that DRI stops to work here at all (mesa was upgraded to git too of coz).

I tired with both XAA and EXA using drm modules from 2.6.24 and from git with same results. Starting any GL app cause server crash (glxinfo command produce this crash too)

Looking in the logs I see:

(II) RADEON(0): [drm] failure adding irq handler, there is a device already using that irq
[drm] falling back to irq-free operation

I remember there was a similar problem before (I mean the symptoms of coz)

Also I wonder why card0 is opened so many times ?

drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
drmOpenByBusid: Searching for BusID pci:0001:01:08.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: drmOpenMinor returns 7
drmOpenByBusid: drmGetBusid reports pci:0000:01:08.0

It seems it opens card0 twice and the second one is successfull, but later:

drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: Searching for BusID pci:0001:01:08.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: drmOpenMinor returns 7
drmOpenByBusid: drmGetBusid reports pci:0000:01:08.0

And later:

drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenByBusid: Searching for BusID pci:0001:01:08.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenByBusid: drmOpenMinor returns 8
drmOpenByBusid: drmGetBusid reports pci:0000:01:08.0
...
(EE) AIGLX error: drmOpenOnce failed (Operation not permitted)
Comment 1 Marcin Kurek 2008-04-08 08:43:13 UTC
Created attachment 15760 [details]
Full Xorg.0.log
Comment 2 Marcin Kurek 2008-04-08 08:44:23 UTC
Created attachment 15761 [details]
lspci -nn for this system

Also I forgot to mention that my machine is Pegasos 2 1GHz G4 with 1GB of ram running kernel 2.6.24.
Comment 3 Marcin Kurek 2008-04-08 08:44:49 UTC
Created attachment 15762 [details]
xorg.conf
Comment 4 Marcin Kurek 2008-04-08 08:45:27 UTC
Created attachment 15763 [details]
/proc/interrupts

Not sure is this important in this case.
Comment 5 Marcin Kurek 2008-04-08 08:53:13 UTC
Created attachment 15764 [details]
log with backtrace from glxinfo

The console output was:

libGL error: open DRM failed (Operation not permitted)
libGL error: reverting to (slow) indirect rendering
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  5 (X_GLXMakeCurrent)
  Serial number of failed request:  26
  Current serial number in output stream:  26
name of display: :0.0

And backtrace for crash:

Backtrace:
0: /usr/bin/X(xf86SigHandler+0x94) [0x100916d0]
1: [0x100364]
2: [(nil)]
3: /usr/lib/xorg/modules/extensions//libglx.so(__glXContextDestroy+0x30) [0xe74f
4: /usr/lib/xorg/modules/extensions//libglx.so [0xe753710]
5: /usr/lib/xorg/modules/extensions//libglx.so(__glXFreeContext+0xb8) [0xe752700
6: /usr/lib/xorg/modules/extensions//libglx.so [0xe752764]
7: /usr/bin/X(FreeClientResources+0x104) [0x1002a4d0]
8: /usr/bin/X(CloseDownClient+0x8c) [0x1003dd5c]
9: /usr/bin/X(Dispatch+0x308) [0x1004461c]
10: /usr/bin/X(main+0x494) [0x100276d4]
11: /lib/libc.so.6 [0xf32e740]
12: /lib/libc.so.6 [0xf32e8dc]

Fatal server error:
Caught signal 11.  Server aborting
Comment 6 Michel Dänzer 2008-04-08 10:17:04 UTC

*** This bug has been marked as a duplicate of bug 7770 ***

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.