Fix test__core_timer.py by not destroying the default loop. D'oh!
Before I realized that was the root cause, I refactored to avoid starting the hub greenlet *at all*, and that also fixed the problem. The problem was that some versions of CPython using the libev-cext loop (and only that one) would crash garbage collecting a greenlet (presumably the hub greenlet, which was attached to a destroyed loop): 0 libsystem_kernel.dylib 0x00007fff66455e3e __pthread_kill + 10 1 libsystem_pthread.dylib 0x00007fff66594150 pthread_kill + 333 2 libsystem_c.dylib 0x00007fff663648fe raise + 26 3 libsystem_platform.dylib 0x00007fff66587f5a _sigtramp + 26 4 ??? 000000000000000000 0 + 0 5 greenlet.cpython-35m-darwin.so 0x000000010d76b297 green_clear + 183 6 org.python.python 0x000000010c707e0c collect + 1824 7 org.python.python 0x000000010c7076e3 _PyGC_CollectNoFail + 43 8 org.python.python 0x000000010c6e81d4 PyImport_Cleanup + 968 9 org.python.python 0x000000010c6f1b49 Py_Finalize + 92 10 org.python.python 0x000000010c6f20d5 Py_Exit + 13 11 org.python.python 0x000000010c6f4631 handle_system_exit + 320 12 org.python.python 0x000000010c6f42a1 PyErr_PrintEx + 42 We should take a look at that and see if we can do something more graceful.
Showing
This diff is collapsed.
Please register or sign in to comment