比如说,有两个模型同时加载,很容易崩溃。
跟踪的时候会发现,在deserialize()的地方出错。
如果用gdb看,错误有时是这样的:
[Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `./gh_manager thread false 1'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f7378dfa984 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 [Current thread is 1 (Thread 0x7f7345066700 (LWP 18369))] (gdb) backtrace #0 0x00007f7378dfa984 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #1 0x00007f7378e83106 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #2 0x00007f7378dff1a7 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #3 0x00007f7378dffe3b in _PyObject_GC_Malloc () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #4 0x00007f7378dffeed in _PyObject_GC_New () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #5 0x00007f7378ea43f8 in PyWrapper_New () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #6 0x00007f7378ea55d7 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #7 0x00007f7378e372b3 in PyObject_Call () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #8 0x00007f7378dd539c in PyEval_EvalFrameEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #9 0x00007f7378f0e11c in PyEval_EvalCodeEx () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #10 0x00007f7378e643b0 in ?? () from /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 #11 0x00007f7378e372b3 in PyObject_Call () ---Type <return> to continue, or q <return> to quit---q from /usr/lib/x86_64-linux-gnu/libpytQuit