← Back to team overview

yade-dev team mailing list archive

[Bug 1349880] Re: Segfault on O.saveTmp() and O.loadTmp() if GUI is enabled.

 

Might be related to see https://svn.boost.org/trac/boost/ticket/8290.
Basically if any python-instantiated object is destroyed from c++, there
is a potential problem with crashing python by messing with its stuff
without obtaining the global interpreter lock (GIL).

You have to protect all those potential places with the GIL, check the
Woo source on how that is done, e.g.:

http://bazaar.launchpad.net/~eudoxos/woo/trunk/view/head:/core/Master.cpp#L175
http://bazaar.launchpad.net/~eudoxos/woo/trunk/view/head:/pkg/gl/Renderer.cpp#L277
http://bazaar.launchpad.net/~eudoxos/woo/trunk/view/head:/core/Master.cpp#L175

I talked about that with Anton in Grenoble briefly.

Since you talk about the GUI, my bet is that it is in Renderer when it
discards the old scene, my bet is in OpenGLRenderer.cpp:146 in
scene=_scene.

Run in the debugger to confirm that you get crash in
shared_ptr::sp_counted_base or something similar.

HTH, v.

** Bug watch added: Boost Trac #8290
   http://svn.boost.org/trac/boost/ticket/8290

-- 
You received this bug notification because you are a member of Yade
developers, which is subscribed to Yade.
https://bugs.launchpad.net/bugs/1349880

Title:
  Segfault on O.saveTmp() and O.loadTmp() if GUI is enabled.

Status in Yet Another Dynamic Engine:
  New

Bug description:
  Hi,

  I compiled Yade trunk version on my machine (Ubuntu Trusty 14.04). Then I ran the simple-scene example and pressed the reload button.
  This caused a segmentation fault. It seems to be related to the function  O.saveTmp() or O.save().
  I did the same test with yadedaily and got the same result. I confirmed with someone else machine (same OS) and we obtained the same behaviour.

  Anyone else observed something similar,

  cheers,
  Anna

To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/1349880/+subscriptions


References