During the Mesa CPU detection code testing I have stopped and restarted X (the new version) from time to time.
After some (two or three) X restarts my system (dual Athlon MP) hangs. Sometimes I could kill the current WM (KDE) session with SYSRQ+k, turn the FS into a save state (SYSRQ+S|U) but sometimes only SYSRQ+b or a RESET brought it back to live. I've checked with 32 and 64 MB of AGP memory. Here comes what's in the logs: Jan 9 03:10:43 SunWave1 kernel: SysRq : Emergency Sync Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:03 ... OK Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:02 ... OK Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:05 ... OK Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:06 ... OK Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:07 ... OK Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:08 ... OK Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:11 ... OK Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:15 ... OK Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:16 ... OK Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:17 ... OK Jan 9 03:10:43 SunWave1 kernel: Syncing device 08:18 ... OK Jan 9 03:10:43 SunWave1 kernel: Done. Jan 9 03:10:43 SunWave1 kernel: SysRq : SAK Jan 9 03:10:43 SunWave1 kdm[3149]: Server for display :0 terminated unexpectedly Jan 9 03:10:43 SunWave1 kernel: [drm:radeon_ioremapfree:mappings] *ERROR* Attempt to free NULL pointer Jan 9 03:10:43 SunWave1 kernel: [drm:radeon_ioremapfree:mappings] *ERROR* Excess frees: 5 frees, 4 allocs Jan 9 03:10:44 SunWave1 kernel: [drm] Loading R200 Microcode Jan 9 03:11:03 SunWave1 kdm[27497]: fatal IO error 32 (Broken pipe) Jan 9 03:11:03 SunWave1 kernel: [drm:radeon_ioremapfree:mappings] *ERROR* Excess frees: 9 frees, 8 allocs Jan 9 03:11:03 SunWave1 kernel: [drm:radeon_ioremapfree:mappings] *ERROR* Attempt to free NULL pointer Jan 9 03:11:03 SunWave1 kernel: [drm:radeon_ioremapfree:mappings] *ERROR* Excess frees: 10 frees, 8 allocs Jan 9 03:11:06 SunWave1 kernel: SysRq : Emergency Sync Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:03 ... OK Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:02 ... OK Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:05 ... OK Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:06 ... OK Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:07 ... OK Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:08 ... OK Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:11 ... OK Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:15 ... OK Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:16 ... OK Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:17 ... OK Jan 9 03:11:06 SunWave1 kernel: Syncing device 08:18 ... OK Jan 9 03:11:06 SunWave1 kernel: Done. TimeRenderer2 (VTK demo app) hangs X with a debug message like this (only from memory): r200: loading (second?) DMA buffer (or engine?) Normally it should look like this: VTK/bin> ./TimeRenderer r200AgeTextures 0 r200AgeTextures 1 Wall Time = -1.99143 <--- what's that? FrameRate = -60.2583 VTK/bin> ./TimeRenderer r200AgeTextures 0 r200AgeTextures 1 Wall Time = 0.699078 FrameRate = 171.655 VTK/bin> ./TimeRenderer2 r200AgeTextures 0 r200AgeTextures 1 Wall Time = 0.979248 FrameRate = 122.543 TriRate = 9.80344e+06 Another VTK app (multi threaded, two 3D contexts) hangs or sigfaults: VTK/bin> ./TaskParallelism libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0) libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/r200_dri.so libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0) libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0) drmOpenByBusid: busid is PCI:1:5:0 drmOpenDevice: minor is 0 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 6, (OK) drmOpenByBusid: drmOpenMinor returns 6 drmOpenByBusid: drmGetBusid reports PCI:1:5:0 r200AgeTextures 0 r200AgeTextures 1 libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0) libGL: XF86DRIGetClientDriverName: 4.0.1 r200 (screen 0) drmOpenByBusid: busid is PCI:1:5:0 drmOpenDevice: minor is 0 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 8, (OK) drmOpenByBusid: drmOpenMinor returns 8 drmOpenByBusid: drmGetBusid reports PCI:1:5:0 r200AgeTextures 0 r200AgeTextures 1 TaskParallelism: r200_vtxfmt.c:945: r200FlushVertices: Assertion `vb.context == ctx' failed. Abbruch (core dumped) Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2...done. Loaded symbols for /usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2 Reading symbols from /usr/X11R6/lib/modules/dri/r200_dri.so...done. Loaded symbols for /usr/X11R6/lib/modules/dri/r200_dri.so #0 0x413e6701 in kill () from /lib/libc.so.6 (gdb) bt #0 0x413e6701 in kill () from /lib/libc.so.6 #1 0x4128e89a in pthread_kill () from /lib/libpthread.so.0 #2 0x4128ed92 in raise () from /lib/libpthread.so.0 #3 0x413e7a23 in abort () from /lib/libc.so.6 #4 0x413e10ea in __assert_fail () from /lib/libc.so.6 #5 0x41687775 in r200FlushVertices () from /usr/X11R6/lib/modules/dri/r200_dri.so #6 0x401aed40 in vtkOpenGLRenderWindow::SetPixelData () from /opt/VTK/V4.0/VTK/lib/libvtkRendering.so #7 0x4004833c in vtkCompositeManager::Composite () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #8 0x400473e9 in vtkCompositeManager::EndRender () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #9 0x40045979 in vtkCompositeManagerEndRender () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #10 0x410d1c5d in vtkCallbackCommand::Execute () from /opt/VTK/V4.0/VTK/lib/libvtkCommon.so #11 0x41115eea in vtkSubjectHelper::InvokeEvent () from /opt/VTK/V4.0/VTK/lib/libvtkCommon.so #12 0x41116262 in vtkObject::InvokeEvent () from /opt/VTK/V4.0/VTK/lib/libvtkCommon.so #13 0x4017d661 in vtkRenderWindow::Render () from /opt/VTK/V4.0/VTK/lib/libvtkRendering.so #14 0x401b886a in vtkXOpenGLRenderWindow::Render () from /opt/VTK/V4.0/VTK/lib/libvtkRendering.so #15 0x401a48de in vtkXRenderWindowInteractorCallback () from /opt/VTK/V4.0/VTK/lib/libvtkRendering.so #16 0x40c2ef3e in XtDispatchEventToWidget () from /usr/X11R6/lib/libXt.so.6 #17 0x40c2f832 in _XtDefaultDispatcher () from /usr/X11R6/lib/libXt.so.6 #18 0x40c2fbb9 in XtDispatchEvent () from /usr/X11R6/lib/libXt.so.6 #19 0x401a3c52 in vtkXRenderWindowInteractor::Start () from /opt/VTK/V4.0/VTK/lib/libvtkRendering.so #20 0x40046c58 in vtkCompositeManager::StartInteractor () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #21 0x08049660 in process () #22 0x4006d824 in vtkThreadedController::Start () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #23 0x4006d680 in vtkThreadedController::vtkThreadedControllerStart () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #24 0x41113511 in vtkMultiThreader::SingleMethodExecute () from /opt/VTK/V4.0/VTK/lib/libvtkCommon.so #25 0x4006da00 in vtkThreadedController::SingleMethodExecute () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #26 0x08049706 in main () #27 0x413d67d1 in __libc_start_main () from /lib/libc.so.6 (gdb) info registers eax 0x0 0 ecx 0x6 6 edx 0x4129a27c 1093247612 ebx 0x7512 29970 esp 0xbfffe8a8 0xbfffe8a8 ebp 0xbfffe8c4 0xbfffe8c4 esi 0x7512 29970 edi 0x412938c0 1093220544 eip 0x413e6701 0x413e6701 eflags 0x202 514 cs 0x23 35 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x2b 43 gs 0x2b 43 fctrl 0x37f 895 fstat 0x0 0 ftag 0x0 0 fiseg 0x0 0 fioff 0x0 0 foseg 0x0 0 fooff 0x0 0 fop 0x0 0 xmm0 0xffffffffffffffffffffffffffffffff xmm1 0xffffffffffffffffffffffffffffffff xmm2 0xffffffffffffffffffffffffffffffff xmm3 0xffffffffffffffffffffffffffffffff xmm4 0xffffffffffffffffffffffffffffffff xmm5 0xffffffffffffffffffffffffffffffff xmm6 0xffffffffffffffffffffffffffffffff xmm7 0xffffffffffffffffffffffffffffffff mxcsr 0x1f80 8064 (gdb) disassemble 0x41687775 Dump of assembler code for function r200FlushVertices: 0x41687700 <r200FlushVertices>: push %edi 0x41687701 <r200FlushVertices+1>: push %esi 0x41687702 <r200FlushVertices+2>: push %ebx 0x41687703 <r200FlushVertices+3>: mov 0x10(%esp,1),%ebx 0x41687707 <r200FlushVertices+7>: mov 0x14(%esp,1),%edi 0x4168770b <r200FlushVertices+11>: mov 0x2a8(%ebx),%esi 0x41687711 <r200FlushVertices+17>: testb $0x40,0x1abe58 0x41687718 <r200FlushVertices+24>: je 0x41687732 <r200FlushVertices+50> 0x4168771a <r200FlushVertices+26>: push $0x1a83f3 0x4168771f <r200FlushVertices+31>: push $0x1a7912 0x41687724 <r200FlushVertices+36>: pushl 0x0 0x4168772a <r200FlushVertices+42>: call 0x4168772b <r200FlushVertices+43> 0x4168772f <r200FlushVertices+47>: add $0xc,%esp 0x41687732 <r200FlushVertices+50>: cmpb $0x0,0x3c5d(%esi) 0x41687739 <r200FlushVertices+57>: jne 0x41687754 <r200FlushVertices+84> 0x4168773b <r200FlushVertices+59>: push $0x1a83f3 0x41687740 <r200FlushVertices+64>: push $0x3b0 0x41687745 <r200FlushVertices+69>: push $0x1a7916 0x4168774a <r200FlushVertices+74>: push $0x1a8405 0x4168774f <r200FlushVertices+79>: call 0x41687750 <r200FlushVertices+80> 0x41687754 <r200FlushVertices+84>: cmp %ebx,0x1d186c 0x4168775a <r200FlushVertices+90>: je 0x41687775 <r200FlushVertices+117> 0x4168775c <r200FlushVertices+92>: push $0x1a83f3 0x41687761 <r200FlushVertices+97>: push $0x3b1 0x41687766 <r200FlushVertices+102>: push $0x1a7916 0x4168776b <r200FlushVertices+107>: push $0x1a7940 0x41687770 <r200FlushVertices+112>: call 0x41687771 <r200FlushVertices+113> 0x41687775 <r200FlushVertices+117>: test $0x2,%edi 0x4168777b <r200FlushVertices+123>: je 0x416877b9 <r200FlushVertices+185> 0x4168777d <r200FlushVertices+125>: push %ebx 0x4168777e <r200FlushVertices+126>: call 0x41684890 <r200_copy_to_current> 0x41687783 <r200FlushVertices+131>: add $0x4,%esp 0x41687786 <r200FlushVertices+134>: testb $0x40,0x1abe58 0x4168778d <r200FlushVertices+141>: je 0x416877a2 <r200FlushVertices+162> 0x4168778f <r200FlushVertices+143>: push $0x1a8419 0x41687794 <r200FlushVertices+148>: pushl 0x0 0x4168779a <r200FlushVertices+154>: call 0x4168779b <r200FlushVertices+155> 0x4168779f <r200FlushVertices+159>: add $0x8,%esp 0x416877a2 <r200FlushVertices+162>: lea 0x41ec(%esi),%eax 0x416877a8 <r200FlushVertices+168>: push %eax 0x416877a9 <r200FlushVertices+169>: push %ebx 0x416877aa <r200FlushVertices+170>: call 0x4159f160 <_mesa_install_exec_vtxfmt> 0x416877af <r200FlushVertices+175>: andb $0xfd,0x280(%ebx) 0x416877b6 <r200FlushVertices+182>: add $0x8,%esp 0x416877b9 <r200FlushVertices+185>: test $0x1,%edi 0x416877bf <r200FlushVertices+191>: je 0x41687816 <r200FlushVertices+278> 0x416877c1 <r200FlushVertices+193>: mov 0x2a8(%ebx),%eax 0x416877c7 <r200FlushVertices+199>: cmpl $0x0,0x1a00(%eax) 0x416877ce <r200FlushVertices+206>: je 0x416877f5 <r200FlushVertices+245> 0x416877d0 <r200FlushVertices+208>: cmpl $0x188ad0,0x1a00(%eax) 0x416877da <r200FlushVertices+218>: je 0x41687801 <r200FlushVertices+257> 0x416877dc <r200FlushVertices+220>: push $0x1a83f3 0x416877e1 <r200FlushVertices+225>: push $0x3be 0x416877e6 <r200FlushVertices+230>: push $0x1a7916 0x416877eb <r200FlushVertices+235>: push $0x1a8440 0x416877f0 <r200FlushVertices+240>: call 0x416877f1 <r200FlushVertices+241> 0x416877f5 <r200FlushVertices+245>: cmpl $0x188ad0,0x1a00(%eax) 0x416877ff <r200FlushVertices+255>: jne 0x4168780f <r200FlushVertices+271> 0x41687801 <r200FlushVertices+257>: pushl 0x2a8(%ebx) 0x41687807 <r200FlushVertices+263>: call 0x41684ad0 <flush_prims> 0x4168780c <r200FlushVertices+268>: add $0x4,%esp 0x4168780f <r200FlushVertices+271>: andb $0xfe,0x280(%ebx) 0x41687816 <r200FlushVertices+278>: pop %ebx 0x41687817 <r200FlushVertices+279>: pop %esi 0x41687818 <r200FlushVertices+280>: pop %edi 0x41687819 <r200FlushVertices+281>: ret 0x4168781a <r200FlushVertices+282>: lea 0x0(%esi),%esi End of assembler dump. Hope this is useful. -Dieter ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel
