On Thu, Oct 10, 2002 at 12:33:59AM +0200, Michel Dänzer wrote: > > What date is the DRM source you're using from?
I updated my dri HEAD cvs tree two hours ago, and I rebuilt the drm module too. Oct 10 00:53:32 dhcp7 kernel: [drm] Debug messages ON Oct 10 00:53:32 dhcp7 kernel: [drm] AGP 0.99 on AMD Irongate @ 0xe8000000 128MB Oct 10 00:53:32 dhcp7 kernel: [drm] Initialized radeon 1.6.0 20020828 on minor 0 Oct 10 00:53:33 dhcp7 kernel: [drm] Loading R200 Microcode > What's your IRQ setup? [root@dhcp7 root]# more /proc/interrupts CPU0 CPU1 0: 463862 0 XT-PIC timer 1: 412 0 XT-PIC keyboard 2: 0 0 XT-PIC cascade 3: 7274 0 XT-PIC eth0 5: 115148 0 XT-PIC aic7xxx, EMU10K1 8: 1 0 XT-PIC rtc 10: 44102 0 XT-PIC aic7xxx, radeon@PCI:1:5:0 11: 22 0 XT-PIC usb-ohci 12: 3431 0 XT-PIC PS/2 Mouse 14: 10141 0 XT-PIC ide0 NMI: 0 0 LOC: 463790 463789 ERR: 69 MIS: 0 Hmm, all the interrupts are routed to the same CPU ? the SCSI disk is on the first scsi0 controller (irq 5 I assume). > Does the interrupt count for the radeon increase > in /proc/interrupts after this happens? Does a single client work > afterwards? The previous trace finished with a complete machine hang, after both clients terminated with the drmRadeonIrqWait: -16 error. > > Does this work with R200_NO_IRQS? Setting R200_NO_IRQS=1 didn't change the behaviour. The machine crashed after both clients existed with r200WaitForFrameCompletion: drmRadeonIrqWait: -16 *** But I see another problematic behaviour, if I change the way I launch these processes : (The previous traces were obtained when X, fgfs and glxgears were all started from a remote machine, under the control of gdb. I had no window manager, and no other window on screen : just X, fgfs, and glxgears.) Now, if I do a startx from the console, like a regular user, lauches the gnome environment, and starts fgfs and glxgears from a gnome terminal, with R200_DEBUG unset, the machine no longer crashes. The X session becomes promptly unresponsive, once glxgears is launched, (the 2nd GL app). Remotely, I still can log in on the machine, and I notice that X is taking 100% CPU time. the drm log in full of : Oct 10 00:59:53 dhcp7 kernel: [drm:radeon_cp_idle] Oct 10 00:59:53 dhcp7 kernel: [drm:radeon_do_cp_idle] Oct 10 00:59:53 dhcp7 kernel: [drm:radeon_ioctl] pid=1564, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 Oct 10 00:59:53 dhcp7 kernel: [drm:radeon_cp_idle] Oct 10 00:59:53 dhcp7 kernel: [drm:radeon_do_cp_idle] Oct 10 00:59:53 dhcp7 kernel: [drm:radeon_ioctl] pid=1564, cmd=0x6444, nr=0x44, dev 0xe200, auth=1 1564 is the X server process. The backtrace of the X process is : (gdb) bt #0 0x420d3454 in ioctl () from /lib/i686/libc.so.6 #1 0xfffffc02 in ?? () #2 0x084593d8 in ?? () #3 0x0839a1c4 in ?? () #4 0x0864d450 in ?? () #5 0x08166e52 in miSpriteGlyphs (op=3 '\003', pSrc=0x87b1f50, pDst=0x8848670, maskFormat=0x84094d8, xSrc=0, ySrc=0, nlist=1, list=0xbffff2c0, glyphs=0xbfffeec0) at misprite.c:2098 #6 0x0813a85f in CompositeGlyphs (op=3 '\003', pSrc=0x87b1f50, pDst=0x8848670, maskFormat=0x84094d8, xSrc=0, ySrc=0, nlist=1, lists=0xbffff2c0, glyphs=0xbfffeec0) at picture.c:1062 #7 0x0813bbaa in ProcRenderCompositeGlyphs (client=0x87670f0) at render.c:1027 #8 0x0813bd6e in ProcRenderDispatch (client=0x0) at render.c:1080 #9 0x080ad7eb in Dispatch () at dispatch.c:462 #10 0x080bd630 in main (argc=2, argv=0xbffffaa4, envp=0xbffffab0) at main.c:454 #11 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6 and it looks like fgfs is locked in drmGetLock : (gdb) bt #0 0x420d3454 in ioctl () from /lib/i686/libc.so.6 #1 0xbffff118 in ?? () #2 0x4055c8b1 in r200GetLock (rmesa=Cannot access memory at address 0x3f800008 ) at r200_lock.c:86 #3 0x4055ae1b in r200FlushCmdBuf (rmesa=0x8a786a8, caller=0x405804ec "r200AllocCmdBuf") at r200_ioctl.c:148 #4 0x4055a4d3 in r200EmitVbufPrim (rmesa=0x8a786a8, primitive=527, vertex_nr=4) at r200_ioctl.h:175 #5 0x40560ac5 in EMIT_PRIM (ctx=0x87d75e0, prim=9, hwprim=15, start=0, count=142439904) at r200_tcl.c:195 #6 0x4056183a in tcl_render_poly_verts (ctx=0x8a8e100, start=145196712, count=0, flags=777) at ../../../../../../extras/Mesa/src/tnl_dd/t_dd_dmatmp2.h:493 #7 0x40562581 in r200EmitPrimitive (ctx=0x8a8e100, first=0, last=4, flags=142439904) at r200_tcl.c:237 #8 0x40566e06 in flush_prims (rmesa=0x8a786a8) at r200_vtxfmt.c:233 #9 0x4056960a in r200FlushVertices (ctx=0x8a8e100, flags=1) at r200_vtxfmt.c:940 and glxgears is blocked in the same function : (gdb) bt #0 0x420d3454 in ioctl () from /lib/i686/libc.so.6 #1 0xbffff6f8 in ?? () #2 0x403188b1 in r200GetLock (rmesa=Cannot access memory at address 0x8 ) at r200_lock.c:86 #3 0x40316e1b in r200FlushCmdBuf (rmesa=0x804f198, caller=0x4033ca09 "r200Flush") at r200_ioctl.c:148 #4 0x40318326 in r200Flush (ctx=0x804d4b8) at r200_ioctl.c:704 #5 0x403175a2 in r200CopyBuffer (dPriv=0x804f198) at r200_ioctl.c:379 #6 0x40071722 in glXSwapBuffers (dpy=0x804bc00, drawable=33554434) at glxcmds.c:578 #7 0x0804a519 in event_loop () #8 0x0804a6a5 in main () #9 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6 The apps did not crash this time. The radeon card is still generating interrupts : [root@dhcp7 root]# more /proc/interrupts CPU0 CPU1 0: 463862 0 XT-PIC timer 1: 412 0 XT-PIC keyboard 2: 0 0 XT-PIC cascade 3: 7274 0 XT-PIC eth0 5: 115148 0 XT-PIC aic7xxx, EMU10K1 8: 1 0 XT-PIC rtc 10: 44102 0 XT-PIC aic7xxx, radeon@PCI:1:5:0 11: 22 0 XT-PIC usb-ohci 12: 3431 0 XT-PIC PS/2 Mouse 14: 10141 0 XT-PIC ide0 NMI: 0 0 LOC: 463790 463789 ERR: 69 MIS: 0 -- fabrice ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel