From: Dieter <Die...@ha...> - 2002-09-13 04:32:43
|
On Friday 13 September 2002 00:10, Dieter Nützel wrote: > On Thursday 12 September 2002 23:19, Keith Whitwell wrote: > > Charl P. Botha wrote: > > > On Thu, Sep 12, 2002 at 09:57:18PM +0100, Keith Whitwell wrote: > > >>Charl P. Botha wrote: > > >>>cpbotha@drevil:~/dump/mesademos/xdemos$ ./glthreads > > >>>threadgl: test of GL thread safety (any key = exit) > > >>>Usage: > > >>> threadgl [-display dpyName] [-n numthreads] > > >>>XInitThreads() returned 1 (success) > > >>>Created Thread 0x402 > > >>>Created Thread 0x803 > > >>>radeonUpdatePageFlipping allow 0 current 0 > > >>>radeonUpdatePageFlipping allow 0 current 0 > > >>>glthreads: radeon_vtxfmt.c:1045: radeonVtxfmtUnbindContext: Assertion > > >>>vb.context == ctx' failed. > > >>>Aborted > > >>> > > >>>I get this 7 out of 10 times if I just run the application for a few > > >>>seconds. However, if it doesn't yield this error and continues > > >>> running and I press 'q' to quit, I get: > > >>> > > >>>cpbotha@drevil:~/dump/mesademos/xdemos$ ./glthreads > > >>>threadgl: test of GL thread safety (any key = exit) > > >>>Usage: > > >>> threadgl [-display dpyName] [-n numthreads] > > >>>XInitThreads() returned 1 (success) > > >>>Created Thread 0x402 > > >>>radeonUpdatePageFlipping allow 0 current 0 > > >>>radeonUpdatePageFlipping allow 0 current 0 > > >>>Created Thread 0x803 > > >>>drmRadeonCmdBuffer: -22 > > >> > > >>This bug's high on my list of known problems. You can work around it > > >> with 'R200_NO_VTXFMT=t'. > > > > > > Because I have an M7 (7500) I tried RADEON_NO_VTXFMT=t (as defined in > > > the driver source). glthreads now ran the first time, but generated > > > the "drmRadeonCmdBuffer: -22" error when I exited with 'q'. When I ran > > > it again, it froze X quite solidly. > > > > > > Is this expected/explicable behaviour with your knowledge of the bug > > > that RADEON_NO_VTXFMT is supposed to work around? > > > > No - there have been a few of these cmdbuffer bugs reported over the last > > few days. I'm not sure what's started them off, but they seem to be > > biting a lot of the people using the r100 driver. (that's not me at the > > moment, unfortunately...) > > I got that with many "bigger" OpenGL apps with the r200 since the beginning > on my dual Athlon MP 1900+, 1 GB RAM. > > Retrie glthreads: > > 1. two windows appear > 2. immediately look up (life look) > 3. SysRq worked half way (I got some memory dumps) > 4. No remote machine handy for the moment ;-( > 5. "R200_NO_VTXFMT=t" changed anything but I'll try again > > Mesa/xdemos> ./glthreads > threadgl: test of GL thread safety (any key = exit) > Usage: > threadgl [-display dpyName] [-n numthreads] > XInitThreads() returned 1 (success) > BOOM NOW with "R200_NO_VTXFMT=t": 1. glthreads same as "glthreads -n 2" worked 2. glthreads -n 20 OK 3. glthreads -n 25 BOOM Mesa/xdemos> ./glthreads -n 2 XInitThreads() returned 1 (success) 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) drmOpenByBusid: busid is PCI:1:5:0 drmOpenDevice: minor is 0 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 4, (OK) drmOpenByBusid: drmOpenMinor returns 4 drmOpenByBusid: drmGetBusid reports PCI:1:5:0 Created Thread 0x402 Created Thread 0x803 r200DestroyContext drmCommandWrite: -22 drmRadeonCmdBuffer: -22 VTK "TaskParallelism": Without "R200_NO_VTXFMT=t" 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) 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 r200_makeX86Normal3fv/197 CVAL 0 OFFSET 14 VAL 419a6220 r200_makeX86Normal3fv/198 CVAL 4 OFFSET 20 VAL 419a6224 r200_makeX86Normal3fv/199 CVAL 8 OFFSET 25 VAL 419a6228 r200_makeX86Normal3fv done 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 TaskParallelism: r200_vtxfmt.c:925: r200FlushVertices: Assertion `vb.context == ctx' failed. Abbruch (core dumped) Reading symbols from /usr/X11R6/lib/X11/locale/common/xlcDef.so.2...done. Loaded symbols for /usr/X11R6/lib/X11/locale/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 0x416e6701 in kill () from /lib/libc.so.6 (gdb) bt #0 0x416e6701 in kill () from /lib/libc.so.6 #1 0x4003189a in pthread_kill () from /lib/libpthread.so.0 #2 0x40031d92 in raise () from /lib/libpthread.so.0 #3 0x416e7a23 in abort () from /lib/libc.so.6 #4 0x416e10ea in __assert_fail () from /lib/libc.so.6 #5 0x41961195 in r200FlushVertices () from /usr/X11R6/lib/modules/dri/r200_dri.so #6 0x402367b8 in vtkOpenGLRenderWindow::SetPixelData () from /opt/VTK/V4.0/VTK/lib/libvtkRendering.so #7 0x4007fc4c in vtkCompositeManager::Composite () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #8 0x4007e889 in vtkCompositeManager::EndRender () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #9 0x4007c529 in vtkCompositeManagerEndRender () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #10 0x4146723d in vtkCallbackCommand::Execute () from /opt/VTK/V4.0/VTK/lib/libvtkCommon.so #11 0x414bc796 in vtkSubjectHelper::InvokeEvent () from /opt/VTK/V4.0/VTK/lib/libvtkCommon.so #12 0x414bcae2 in vtkObject::InvokeEvent () from /opt/VTK/V4.0/VTK/lib/libvtkCommon.so #13 0x401fb4db in vtkRenderWindow::Render () from /opt/VTK/V4.0/VTK/lib/libvtkRendering.so #14 0x402449aa in vtkXOpenGLRenderWindow::Render () from /opt/VTK/V4.0/VTK/lib/libvtkRendering.so #15 0x4022997e in vtkXRenderWindowInteractorCallback () from /opt/VTK/V4.0/VTK/lib/libvtkRendering.so #16 0x40f84cce in XtDispatchEventToWidget () from /usr/X11R6/lib/libXt.so.6 #17 0x40f85582 in _XtDefaultDispatcher () from /usr/X11R6/lib/libXt.so.6 #18 0x40f85909 in XtDispatchEvent () from /usr/X11R6/lib/libXt.so.6 #19 0x402284b2 in vtkXRenderWindowInteractor::Start () from /opt/VTK/V4.0/VTK/lib/libvtkRendering.so #20 0x4007dde2 in vtkCompositeManager::StartInteractor () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #21 0x080496d0 in process () #22 0x400b3132 in vtkThreadedController::Start () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #23 0x400b2df0 in vtkThreadedController::vtkThreadedControllerStart () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #24 0x414b99d0 in vtkMultiThreader::SingleMethodExecute () from /opt/VTK/V4.0/VTK/lib/libvtkCommon.so #25 0x400b3490 in vtkThreadedController::SingleMethodExecute () from /opt/VTK/V4.0/VTK/lib/libvtkParallel.so #26 0x08049776 in main () #27 0x416d67d1 in __libc_start_main () from /lib/libc.so.6 (gdb) info registers eax 0x0 0 ecx 0x6 6 edx 0x4003d27c 1073992316 ebx 0x1151 4433 esp 0xbfffe498 0xbfffe498 ebp 0xbfffe4b4 0xbfffe4b4 esi 0x1151 4433 edi 0x400368c0 1073965248 eip 0x416e6701 0x416e6701 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 0x1f80 8064 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 I have some more in my boot.msg file and some screenshots of "TaskParallelism" if you need. -Dieter |