[PyOpenGL-Devel] [ pyopengl-Bugs-3127034 ] VBO deletion happening in another thread than Main threa
Brought to you by:
mcfletch
|
From: SourceForge.net <no...@so...> - 2010-12-04 00:00:15
|
Bugs item #3127034, was opened at 2010-12-04 00:00 Message generated for change (Tracker Item Submitted) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=3127034&group_id=5988 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: GL Group: v3.0.0 Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Mike C. Fletcher (mcfletch) Summary: VBO deletion happening in another thread than Main thread Initial Comment: Hi pyopengl dudes, I got a bug with VBO. It seem that the deletion of VBO (the one that involve glDeleteBuffers) is happening sometimes inside another thread than Main thread, and lead to a segfault. I've added a call to threading.currentThread() + traceback.print_stack() just before the call of glDeleteBuffers() in arrays/vbo.py. And normal case, i got: glDeleteBuffers() <_MainThread(MainThread, started 140737353901824)> + a traceback with last line very weird (like gc call...) And the segfault case: glDeleteBuffers() <Thread(Thread-6, started daemon 140736902752016)> Here is both traceback that look different : http://paste.pocoo.org/show/300045/ and http://paste.pocoo.org/show/300047/ It look like the callback of weakref.ref() is called when the object is deleted and finalized... but not in main thread. Do you confirm this case ? Do you have any tips about how to do ? I was thinking to use a Queue, and if the deletion happen outside the main thread, queuing the deletion for the next call. (tricky, but since pyopengl don't have clokc of callback from main thread...) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105988&aid=3127034&group_id=5988 |