← Back to team overview

yade-dev team mailing list archive

[Bug 591112] Re: O.bodies.erase() calls a crash

 

r2283

** Branch linked: lp:yade

** Changed in: yade
       Status: New => Fix Released

-- 
O.bodies.erase() calls a crash
https://bugs.launchpad.net/bugs/591112
You received this bug notification because you are a member of Yade
developers, which is subscribed to Yade.

Status in Yet Another Dynamic Engine: Fix Released

Bug description:
I tried to use O.bodies.erase(), but it gives me a crash:

This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
[Thread debugging using libthread_db enabled]
[New Thread 0x7fe1c5590710 (LWP 10305)]
[New Thread 0x7fe1c5d91710 (LWP 10299)]
[New Thread 0x7fe1c6fe3710 (LWP 10295)]
[New Thread 0x7fe1ce608710 (LWP 10294)]
[New Thread 0x7fe1cfa44710 (LWP 10293)]
[New Thread 0x7fe1d0245710 (LWP 10292)]
0x00007fe1ec20b11d in nanosleep () at ../sysdeps/unix/syscall-template.S:82
82	../sysdeps/unix/syscall-template.S: No such file or directory.
	in ../sysdeps/unix/syscall-template.S
No symbol "info" in current context.

Thread 7 (Thread 0x7fe1d0245710 (LWP 10292)):
#0  0x00007fe1eb0d7fb3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00000000004f7013 in select_select (self=<value optimized out>, args=<value optimized out>) at ../Modules/selectmodule.c:278
#2  0x00000000004a7c5e in call_function (f=Frame 0x29f2480, for file /usr/lib/python2.6/SocketServer.py, line 224, in serve_forever (self=<ThreadingTCPServer(RequestHandlerClass=<classobj at remote 0x29a2890>, authenticated=[], socket=<_socketobject at remote 0x28979f0>, server_address=('0.0.0.0', 9000), cookie='dskyec', _BaseServer__serving=True, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fe1ec5231b0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fe1ec5231b0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fe1ec5231b0>) at remote 0x295a610>) at remote 0x28a6110>) at remote 0x28b2128>, poll_interval=<float at remote 0x28d7578>, r=[], w=[], e=[]), throwflag=<value optimized out>) at ../Python/ceval.c:3750
#3  PyEval_EvalFrameEx (f=Frame 0x29f2480, for file /usr/lib/python2.6/SocketServer.py, line 224, in serve_forever (self=<ThreadingTCPServer(RequestHandlerClass=<classobj at remote 0x29a2890>, authenticated=[], socket=<_socketobject at remote 0x28979f0>, server_address=('0.0.0.0', 9000), cookie='dskyec', _BaseServer__serving=True, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fe1ec5231b0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fe1ec5231b0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fe1ec5231b0>) at remote 0x295a610>) at remote 0x28a6110>) at remote 0x28b2128>, poll_interval=<float at remote 0x28d7578>, r=[], w=[], e=[]), throwflag=<value optimized out>) at ../Python/ceval.c:2412
#4  0x00000000004a9671 in PyEval_EvalCodeEx (co=0x297cd50, globals=<value optimized out>, locals=<value optimized out>, args=0x2, argcount=<value optimized out>, kws=<value optimized out>, kwcount=0, defs=0x2984668, defcount=1, closure=0x0) at ../Python/ceval.c:3000
#5  0x0000000000537620 in function_call (func=<function at remote 0x2997668>, arg=(<ThreadingTCPServer(RequestHandlerClass=<classobj at remote 0x29a2890>, authenticated=[], socket=<_socketobject at remote 0x28979f0>, server_address=('0.0.0.0', 9000), cookie='dskyec', _BaseServer__serving=True, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fe1ec5231b0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fe1ec5231b0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fe1ec5231b0>) at remote 0x295a610>) at remote 0x28a6110>) at remote 0x28b2128>,), kw=0x0) at ../Objects/funcobject.c:524
#6  0x000000000041f0c7 in PyObject_Call (func=<function at remote 0x2997668>, arg=<unknown at remote 0x7fe1d0244850>, kw=<unknown at remote 0x7fe1d02447d0>) at ../Objects/abstract.c:2492
#7  0x0000000000427dff in instancemethod_call (func=<function at remote 0x2997668>, arg=(<ThreadingTCPServer(RequestHandlerClass=<classobj at remote 0x29a2890>, authenticated=[], socket=<_socketobject at remote 0x28979f0>, server_address=('0.0.0.0', 9000), cookie='dskyec', _BaseServer__serving=True, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fe1ec5231b0>, acquire=<built-in method acquire of thread.lock object at remote 0x7fe1ec5231b0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fe1ec5231b0>) at remote 0x295a610>) at remote 0x28a6110>) at remote 0x28b2128>,), kw=0x0) at ../Objects/classobject.c:2579
#8  0x000000000041f0c7 in PyObject_Call (func=<instancemethod at remote 0x28c6550>, arg=<unknown at remote 0x7fe1d0244850>, kw=<unknown at remote 0x7fe1d02447d0>) at ../Objects/abstract.c:2492
#9  0x00000000004a1b03 in PyEval_CallObjectWithKeywords (func=<instancemethod at remote 0x28c6550>, arg=(), kw=<unknown at remote 0x7fe1d02447d0>) at ../Python/ceval.c:3619
#10 0x00000000004d7d3d in t_bootstrap (boot_raw=0x29e5470) at ../Modules/threadmodule.c:425
#11 0x00007fe1ec2029ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#12 0x00007fe1eb0df6cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fe1cfa44710 (LWP 10293)):
#0  0x00007fe1eb0d7fb3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00000000004f7013 in select_select (self=<value optimized out>, args=<value optimized out>) at ../Modules/selectmodule.c:278
#2  0x00000000004a7c5e in call_function (f=Frame 0x29f2a30, for file /usr/lib/python2.6/SocketServer.py, line 224, in serve_forever (self=<ThreadingTCPServer(RequestHandlerClass=<classobj at remote 0x2983290>, server_address=('0.0.0.0', 21000), _BaseServer__serving=True, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fe1ec5231c8>, acquire=<built-in method acquire of thread.lock object at remote 0x7fe1ec5231c8>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fe1ec5231c8>) at remote 0x2995910>) at remote 0x2995390>, socket=<_socketobject at remote 0x293fbb0>) at remote 0x29a7950>, poll_interval=<float at remote 0x28d7578>, r=[], w=[], e=[]), throwflag=<value optimized out>) at ../Python/ceval.c:3750
#3  PyEval_EvalFrameEx (f=Frame 0x29f2a30, for file /usr/lib/python2.6/SocketServer.py, line 224, in serve_forever (self=<ThreadingTCPServer(RequestHandlerClass=<classobj at remote 0x2983290>, server_address=('0.0.0.0', 21000), _BaseServer__serving=True, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fe1ec5231c8>, acquire=<built-in method acquire of thread.lock object at remote 0x7fe1ec5231c8>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fe1ec5231c8>) at remote 0x2995910>) at remote 0x2995390>, socket=<_socketobject at remote 0x293fbb0>) at remote 0x29a7950>, poll_interval=<float at remote 0x28d7578>, r=[], w=[], e=[]), throwflag=<value optimized out>) at ../Python/ceval.c:2412
#4  0x00000000004a9671 in PyEval_EvalCodeEx (co=0x297cd50, globals=<value optimized out>, locals=<value optimized out>, args=0x2, argcount=<value optimized out>, kws=<value optimized out>, kwcount=0, defs=0x2984668, defcount=1, closure=0x0) at ../Python/ceval.c:3000
#5  0x0000000000537620 in function_call (func=<function at remote 0x2997668>, arg=(<ThreadingTCPServer(RequestHandlerClass=<classobj at remote 0x2983290>, server_address=('0.0.0.0', 21000), _BaseServer__serving=True, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fe1ec5231c8>, acquire=<built-in method acquire of thread.lock object at remote 0x7fe1ec5231c8>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fe1ec5231c8>) at remote 0x2995910>) at remote 0x2995390>, socket=<_socketobject at remote 0x293fbb0>) at remote 0x29a7950>,), kw=0x0) at ../Objects/funcobject.c:524
#6  0x000000000041f0c7 in PyObject_Call (func=<function at remote 0x2997668>, arg=<unknown at remote 0x7fe1cfa43850>, kw=<unknown at remote 0x7fe1cfa437d0>) at ../Objects/abstract.c:2492
#7  0x0000000000427dff in instancemethod_call (func=<function at remote 0x2997668>, arg=(<ThreadingTCPServer(RequestHandlerClass=<classobj at remote 0x2983290>, server_address=('0.0.0.0', 21000), _BaseServer__serving=True, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fe1ec5231c8>, acquire=<built-in method acquire of thread.lock object at remote 0x7fe1ec5231c8>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fe1ec5231c8>) at remote 0x2995910>) at remote 0x2995390>, socket=<_socketobject at remote 0x293fbb0>) at remote 0x29a7950>,), kw=0x0) at ../Objects/classobject.c:2579
#8  0x000000000041f0c7 in PyObject_Call (func=<instancemethod at remote 0x294f4b0>, arg=<unknown at remote 0x7fe1cfa43850>, kw=<unknown at remote 0x7fe1cfa437d0>) at ../Objects/abstract.c:2492
#9  0x00000000004a1b03 in PyEval_CallObjectWithKeywords (func=<instancemethod at remote 0x294f4b0>, arg=(), kw=<unknown at remote 0x7fe1cfa437d0>) at ../Python/ceval.c:3619
#10 0x00000000004d7d3d in t_bootstrap (boot_raw=0x29df860) at ../Modules/threadmodule.c:425
#11 0x00007fe1ec2029ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#12 0x00007fe1eb0df6cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fe1ce608710 (LWP 10294)):
#0  0x00007fe1eb0d7fb3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fe1e80cfb74 in QEventLoop::processEvents(unsigned int) () from /usr/lib/libqt-mt.so.3
#2  0x00007fe1e8135431 in QEventLoop::enterLoop() () from /usr/lib/libqt-mt.so.3
#3  0x00007fe1e81352e2 in QEventLoop::exec() () from /usr/lib/libqt-mt.so.3
#4  0x00007fe1e9daab70 in thread_proxy () from /usr/lib/libboost_thread.so.1.40.0
#5  0x00007fe1ec2029ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007fe1eb0df6cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fe1c6fe3710 (LWP 10295)):
#0  0x00007fe1eb0d7fb3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fe1c70bfe2e in ?? () from /usr/lib/libtcl8.5.so.0
#2  0x00007fe1ec2029ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fe1eb0df6cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fe1c5d91710 (LWP 10299)):
#0  0x00007fe1eb0a2f7d in __libc_waitpid (pid=10307, stat_loc=<value optimized out>, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:41
#1  0x00007fe1eb03a7e9 in do_system (line=<value optimized out>) at ../sysdeps/posix/system.c:149
#2  0x00007fe1eb03ab20 in __libc_system (line=<value optimized out>) at ../sysdeps/posix/system.c:190
#3  0x00007fe1ea67a384 in crashHandler (sig=11) at core/main/pyboot.cpp:45
#4  <signal handler called>
#5  VTKRecorder::action (this=0x4110080) at /home/gladk/dem/yade/current/yade/pkg/dem/Engine/GlobalEngine/VTKRecorder.cpp:160
#6  0x00007fe1e5e281cb in Scene::moveToNextTimeStep (this=0x2383bd0) at /home/gladk/dem/yade/current/yade/core/Scene.cpp:87
#7  0x00007fe1e5e2f5fc in SimulationFlow::singleAction (this=0x230c460) at /home/gladk/dem/yade/current/yade/core/SimulationFlow.cpp:18
#8  0x00007fe1e5e23dc1 in ThreadWorker::callSingleAction (this=0x230c460) at /home/gladk/dem/yade/current/yade/core/ThreadWorker.cpp:71
#9  0x00007fe1e5e2b791 in ThreadRunner::call (this=0x23871f0) at /home/gladk/dem/yade/current/yade/core/ThreadRunner.cpp:53
#10 0x00007fe1e5e38a5b in ThreadRunner::run (this=0x23871f0) at /home/gladk/dem/yade/current/yade/core/ThreadRunner.cpp:27
#11 0x00007fe1e5e8038f in boost::function0<void>::operator() (this=<value optimized out>) at /usr/include/boost/function/function_template.hpp:1013
#12 boost::detail::thread_data<boost::function0<void> >::run (this=<value optimized out>) at /usr/include/boost/thread/detail/thread.hpp:56
#13 0x00007fe1e9daab70 in thread_proxy () from /usr/lib/libboost_thread.so.1.40.0
#14 0x00007fe1ec2029ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#15 0x00007fe1eb0df6cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fe1c5590710 (LWP 10305)):
#0  __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x00007fe1ec2055d9 in _L_lock_953 () from /lib/libpthread.so.0
#2  0x00007fe1ec2053fb in __pthread_mutex_lock (mutex=0x2387250) at pthread_mutex_lock.c:61
#3  0x00007fe1e5e38a3b in boost::mutex::lock (this=0x23871f0) at /usr/include/boost/thread/pthread/mutex.hpp:50
#4  boost::unique_lock<boost::mutex>::lock (this=0x23871f0) at /usr/include/boost/thread/locks.hpp:338
#5  unique_lock (this=0x23871f0) at /usr/include/boost/thread/locks.hpp:224
#6  ThreadRunner::run (this=0x23871f0) at /home/gladk/dem/yade/current/yade/core/ThreadRunner.cpp:23
#7  0x00007fe1e5e8038f in boost::function0<void>::operator() (this=<value optimized out>) at /usr/include/boost/function/function_template.hpp:1013
#8  boost::detail::thread_data<boost::function0<void> >::run (this=<value optimized out>) at /usr/include/boost/thread/detail/thread.hpp:56
#9  0x00007fe1e9daab70 in thread_proxy () from /usr/lib/libboost_thread.so.1.40.0
#10 0x00007fe1ec2029ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007fe1eb0df6cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fe1ec60a700 (LWP 10291)):
#0  0x00007fe1ec20b11d in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fe1d36d913b in pyOmega::wait (this=0x7fe1ec468aa0) at py/yadeWrapper/yadeWrapper.cpp:335
#2  0x00007fe1d36ba1e0 in invoke<boost::python::detail::caller_arity::impl::operator()::result_converter, void (pyOmega::*)(), boost::python::detail::caller_arity<1u>::impl<F, Policies, Sig>::operator()(PyObject*, PyObject*) [with F = void (pyOmega::*)(), Policies = boost::python::default_call_policies, Sig = boost::mpl::vector2<void, pyOmega&>]::c_t0> (this=0x23afcb0, args=<value optimized out>, kw=<value optimized out>) at /usr/include/boost/python/detail/invoke.hpp:94
#3  boost::python::detail::caller_arity<1u>::impl<void (pyOmega::*)(), boost::python::default_call_policies, boost::mpl::vector2<void, pyOmega&> >::operator() (this=0x23afcb0, args=<value optimized out>, kw=<value optimized out>) at /usr/include/boost/python/detail/caller.hpp:223
#4  boost::python::objects::caller_py_function_impl<boost::python::detail::caller<void (pyOmega::*)(), boost::python::default_call_policies, boost::mpl::vector2<void, pyOmega&> > >::operator() (this=0x23afcb0, args=<value optimized out>, kw=<value optimized out>) at /usr/include/boost/python/object/py_function.hpp:38
#5  0x00007fe1e8b0ac2e in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib/libboost_python-py26.so.1.40.0
#6  0x00007fe1e8b0aed8 in ?? () from /usr/lib/libboost_python-py26.so.1.40.0
#7  0x00007fe1e8b1254b in boost::python::handle_exception_impl(boost::function0<void>) () from /usr/lib/libboost_python-py26.so.1.40.0
#8  0x00007fe1e8b077d8 in ?? () from /usr/lib/libboost_python-py26.so.1.40.0
#9  0x000000000041f0c7 in PyObject_Call (func=<Boost.Python.function at remote 0x23afcd0>, arg=<unknown at remote 0x7fff0d8895a0>, kw=<unknown at remote 0x2387200>) at ../Objects/abstract.c:2492
#10 0x00000000004a7378 in do_call (f=Frame 0x2b09de0, for file Schnecke.py, line 238, in <module> (), throwflag=<value optimized out>) at ../Python/ceval.c:3968
#11 call_function (f=Frame 0x2b09de0, for file Schnecke.py, line 238, in <module> (), throwflag=<value optimized out>) at ../Python/ceval.c:3773
#12 PyEval_EvalFrameEx (f=Frame 0x2b09de0, for file Schnecke.py, line 238, in <module> (), throwflag=<value optimized out>) at ../Python/ceval.c:2412
#13 0x00000000004a9671 in PyEval_EvalCodeEx (co=0x297cbe8, globals=<value optimized out>, locals=<value optimized out>, args=0x0, argcount=<value optimized out>, kws=<value optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3000
#14 0x00000000004a9742 in PyEval_EvalCode (co=0x7fff0d8895b0, globals=<unknown at remote 0x7fff0d8895a0>, locals=<unknown at remote 0x2387200>) at ../Python/ceval.c:541
#15 0x00000000004c9a0e in run_mod (fp=<value optimized out>, filename=0x7fe1ec53f6ac "Schnecke.py", start=<value optimized out>, globals=<value optimized out>, locals=<value optimized out>, closeit=1, flags=0x0) at ../Python/pythonrun.c:1339
#16 PyRun_FileExFlags (fp=<value optimized out>, filename=0x7fe1ec53f6ac "Schnecke.py", start=<value optimized out>, globals=<value optimized out>, locals=<value optimized out>, closeit=1, flags=0x0) at ../Python/pythonrun.c:1325
#17 0x00000000004a0c37 in builtin_execfile (self=<value optimized out>, args=<value optimized out>) at ../Python/bltinmodule.c:794
#18 0x00000000004a7c5e in call_function (f=Frame 0x22825c0, for file ./../../../bin/yade-current, line 112, in <module> (), throwflag=<value optimized out>) at ../Python/ceval.c:3750
#19 PyEval_EvalFrameEx (f=Frame 0x22825c0, for file ./../../../bin/yade-current, line 112, in <module> (), throwflag=<value optimized out>) at ../Python/ceval.c:2412
#20 0x00000000004a9671 in PyEval_EvalCodeEx (co=0x7fe1ec52b990, globals=<value optimized out>, locals=<value optimized out>, args=0x0, argcount=<value optimized out>, kws=<value optimized out>, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3000
#21 0x00000000004a9742 in PyEval_EvalCode (co=0x7fff0d8895b0, globals=<unknown at remote 0x7fff0d8895a0>, locals=<unknown at remote 0x2387200>) at ../Python/ceval.c:541
#22 0x00000000004c9a0e in run_mod (fp=<value optimized out>, filename=0x7fff0d88a53c "./../../../bin/yade-current", start=<value optimized out>, globals=<value optimized out>, locals=<value optimized out>, closeit=1, flags=0x7fff0d889fb0) at ../Python/pythonrun.c:1339
#23 PyRun_FileExFlags (fp=<value optimized out>, filename=0x7fff0d88a53c "./../../../bin/yade-current", start=<value optimized out>, globals=<value optimized out>, locals=<value optimized out>, closeit=1, flags=0x7fff0d889fb0) at ../Python/pythonrun.c:1325
#24 0x00000000004c9c24 in PyRun_SimpleFileExFlags (fp=<value optimized out>, filename=0x7fff0d88a53c "./../../../bin/yade-current", closeit=1, flags=0x7fff0d889fb0) at ../Python/pythonrun.c:935
#25 0x000000000041a7ff in Py_Main (argc=-330166144, argv=<value optimized out>) at ../Modules/main.c:572
#26 0x00007fe1eb017c4d in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff0d88a0c8) at libc-start.c:226
#27 0x00000000004199f9 in _start ()
Segmentation fault





References