From: Keith W. <ke...@tu...> - 2002-09-12 20:57:52
|
Charl P. Botha wrote: > Dear list, > > I would appreciate if anyone else could also have a look at this. I have a > rather large application which at any time could have multiple glXContexts. > However, with latest DRI CVS I'm seeing strange behaviour that crashes my > application when I close one context and interact with one of the remaining > ones. > > Because it would be very difficult posting this large application to the > list for testing, I went scratching in the mesademos and found a small > example which exhibits the same behaviour: > > 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 > > "glthreads" is to be found in mesademos, in the xdemos package specifically. > For your convenience, I've put this 27K tarball here: > http://cpbotha.net/thingies/xdemos.tar.gz > You can ignore the last error during the make if you build this. > > I'm testing this on XFree86 4.2.0, with DRI CVS drivers, libGL* and DRM > installed on top. Debian Sarge, Radeon M7. > > If anyone has any ideas on this, I would be very grateful. This bug's high on my list of known problems. You can work around it with 'R200_NO_VTXFMT=t'. Keith |