Re: [UFO-devel] Bug#385945: boson: crashes on singleplayer game start
Status: Beta
Brought to you by:
schmidtjf
From: Andreas B. <b_...@gm...> - 2006-09-16 00:04:50
|
On Friday 15 September 2006 21:38, Eddy Petri=C5=9For wrote: [...] > boson: ERROR: [void BosonCanvasRenderer::initGL()] boson requires > GL_EXT_framebuffer_object This is NOT the problem, btw. This error merely exists because this extensi= on=20 might be used by boson without checking whether it actually is available. This may or may not lead to a crash - but in this particular case it is=20 actually harmless. CC'ing boson-devel anyway, cause I think it should be fixed, as apparently = not=20 all drivers implement this extension. > boson: indirect_vertex_array.c:1359: __indirect_glTexCoordPointer: > Assertion `a !=3D ((void *)0)' failed. [...] This is the actual source of the problem. I have done some additional research and have been able to reproduce the bu= g=20 on one of my own machines. It happens with mesa based drivers only. It appears to me that this is a bug in mesa, in particular I believe it is http://www.mail-archive.com/mesa3d-dev%40lists.sourceforge.net/msg00772.html The fact that this problem goes away with libgl1-mesa-dri 6.5.0.cvs.2006052= 4-1=20 seems to confirm that, as current mesa versions don't include the fix yet,= =20 cvs does. However I have no idea how to write around this problem so that it works fo= r=20 broken mesa versions, too. The only way I can see atm is not to use vertex= =20 arrays, but this solution _really_ sucks and would require quite some chang= es=20 to libufo. CC'ing libufo-devel for this problem, maybe some good idea comes up.=20 Additional information for libufo developers: It stems from usage of vertex arrays in libufo, however I have not yet mana= ged=20 to narrow it down to the exact combination of circumstances (meaning I=20 haven't had time to write a few test cases yet). =46rom what I have found by now, I think it happens only when using=20 ufo::UVertexArray with triangles (i.e. not with lines). IIRC it was=20 PE_IndicatorRadioButton in UBasicStyle::paintPrimitive() that triggered the= =20 bug for me.=20 CU Andi |