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

Reply via email to