Dan Mick added the comment: So, finally got to a Fedora21 beta to try this out today; the immediate problem, as identified by Joe Julian, is the shutdown() call in the __del__ method of Rados.
Presumably something about object destructors is clashing with starting new threads; the hang occurs with a gdb backtrace like so: 1710 in sem_wait () from /lib64/libpthread.so.0 #1 0x00007fad36fbce75 in PyThread_acquire_lock () from /lib64/libpython2.7.so.1.0 #2 0x00007fad36fc0c82 in lock_PyThread_acquire_lock () from /lib64/libpython2.7.so.1.0 #3 0x00007fad36f91ade in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #4 0x00007fad36f92490 in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0 #5 0x00007fad36f90b74 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #6 0x00007fad36f92490 in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0 #7 0x00007fad36f90b74 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #8 0x00007fad36f90c76 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #9 0x00007fad36f92490 in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0 #10 0x00007fad36f90b74 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #11 0x00007fad36f90c76 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #12 0x00007fad36f92490 in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0 #13 0x00007fad36f1e6dc in function_call () from /lib64/libpython2.7.so.1.0 #14 0x00007fad36ef98d3 in PyObject_Call () from /lib64/libpython2.7.so.1.0 #15 0x00007fad36f087e5 in instancemethod_call () from /lib64/libpython2.7.so.1.0 #16 0x00007fad36ef98d3 in PyObject_Call () from /lib64/libpython2.7.so.1.0 #17 0x00007fad36f8b557 in PyEval_CallObjectWithKeywords () from /lib64/libpython2.7.so.1.0 #18 0x00007fad36f5082c in slot_tp_del () from /lib64/libpython2.7.so.1.0 #19 0x00007fad36f4b88a in subtype_dealloc () from /lib64/libpython2.7.so.1.0 #20 0x00007fad36f2e1ff in insertdict_by_entry () from /lib64/libpython2.7.so.1.0 #21 0x00007fad36f2fcc0 in dict_set_item_by_hash_or_entry () from /lib64/libpython2.7.so.1.0 #22 0x00007fad36f3467c in _PyModule_Clear () from /lib64/libpython2.7.so.1.0 #23 0x00007fad36fa1c5b in PyImport_Cleanup () from /lib64/libpython2.7.so.1.0 #24 0x00007fad36fad598 in Py_Finalize () from /lib64/libpython2.7.so.1.0 #25 0x00007fad36faced8 in Py_Exit () from /lib64/libpython2.7.so.1.0 #26 0x00007fad36fad01a in handle_system_exit.part () from /lib64/libpython2.7.so.1.0 #27 0x00007fad36fad29d in PyErr_PrintEx () from /lib64/libpython2.7.so.1.0 #28 0x00007fad36fadea3 in PyRun_SimpleFileExFlags () from /lib64/libpython2.7.so.1.0 #29 0x00007fad36fbf30a in Py_Main () from /lib64/libpython2.7.so.1.0 #30 0x00007fad361e6fe0 in __libc_start_main () from /lib64/libc.so.6 #31 0x000000000040071e in _start () I'm guessing something about the changed shutdown is causing the deadlock?... Anyway, I'm pretty sure we can afford to remove that __del__ method, and that's another easily-applied workaround for the field. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21963> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com