mldbai / mldb

MLDB is the Machine Learning Database
http://mldb.ai
Apache License 2.0
661 stars 102 forks source link

Crash on some OSX machines when using MLDB as a Python module #943

Open jeremybarnes opened 2 years ago

jeremybarnes commented 2 years ago

Branch: m1 (reported by @FinchPowers)

(lldb) target create "virtualenv/bin/python"
Current executable set to '/Users/francois-mi.lheureux/workspace/mldb/virtualenv/bin/python' (x86_64).
(lldb) settings set -- target.run-args  "mldb/testing/python_cell_converter_test.py"
(lldb) run
Process 28769 launched: '/Users/francois-mi.lheureux/workspace/mldb/virtualenv/bin/python' (x86_64)
Process 28769 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x10)
    frame #0: 0x00000001041dba1d Python`_PyObject_GC_Alloc + 39
Python`_PyObject_GC_Alloc:
->  0x1041dba1d <+39>: movq   0x10(%r14), %r15
    0x1041dba21 <+43>: addq   $0x10, %rdx
    0x1041dba25 <+47>: testl  %edi, %edi
    0x1041dba27 <+49>: jne    0x1041dbb19               ; <+291>
Target 0: (python) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x10)
  * frame #0: 0x00000001041dba1d Python`_PyObject_GC_Alloc + 39
    frame #1: 0x00000001040d3239 Python`PyType_Ready + 3546
    frame #2: 0x00000001040d4944 Python`PyType_Ready + 9445
    frame #3: 0x0000000102715d03 libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`std::__1::__function::__func<MLDB::(anonymous namespace)::$_0, std::__1::allocator<MLDB::(anonymous namespace)::$_0>, void (MLDB::EnterThreadToken const&)>::operator()(MLDB::EnterThreadToken const&) [inlined] PyInit_streamcapture at capture_stream.cc:126:9
    frame #4: 0x0000000102715ce4 libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`std::__1::__function::__func<MLDB::(anonymous namespace)::$_0, std::__1::allocator<MLDB::(anonymous namespace)::$_0>, void (MLDB::EnterThreadToken const&)>::operator()(MLDB::EnterThreadToken const&) [inlined] auto MLDB::(anonymous namespace)::$_0::operator(this=<unavailable>, thr=<unavailable>)<MLDB::EnterThreadToken const>(MLDB::EnterThreadToken const&) const at capture_stream.cc:145
    frame #5: 0x0000000102715ce4 libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`std::__1::__function::__func<MLDB::(anonymous namespace)::$_0, std::__1::allocator<MLDB::(anonymous namespace)::$_0>, void (MLDB::EnterThreadToken const&)>::operator()(MLDB::EnterThreadToken const&) [inlined] decltype(__f=<unavailable>, __args=<unavailable>)::$_0&>(fp)(std::__1::forward<MLDB::EnterThreadToken const&>(fp0))) std::__1::__invoke<MLDB::(anonymous namespace)::$_0&, MLDB::EnterThreadToken const&>(MLDB::(anonymous namespace)::$_0&, MLDB::EnterThreadToken const&) at type_traits:3545
    frame #6: 0x0000000102715ce4 libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`std::__1::__function::__func<MLDB::(anonymous namespace)::$_0, std::__1::allocator<MLDB::(anonymous namespace)::$_0>, void (MLDB::EnterThreadToken const&)>::operator()(MLDB::EnterThreadToken const&) [inlined] void std::__1::__invoke_void_return_wrapper<void>::__call<MLDB::(anonymous namespace)::$_0&, MLDB::EnterThreadToken const&>(__args=<unavailable>, __args=<unavailable>)::$_0&, MLDB::EnterThreadToken const&) at __functional_base:348
    frame #7: 0x0000000102715ce4 libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`std::__1::__function::__func<MLDB::(anonymous namespace)::$_0, std::__1::allocator<MLDB::(anonymous namespace)::$_0>, void (MLDB::EnterThreadToken const&)>::operator()(MLDB::EnterThreadToken const&) [inlined] std::__1::__function::__alloc_func<MLDB::(anonymous namespace)::$_0, std::__1::allocator<MLDB::(anonymous namespace)::$_0>, void (MLDB::EnterThreadToken const&)>::operator(this=<unavailable>, __arg=<unavailable>)(MLDB::EnterThreadToken const&) at functional:1546
    frame #8: 0x0000000102715ce4 libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`std::__1::__function::__func<MLDB::(anonymous namespace)::$_0, std::__1::allocator<MLDB::(anonymous namespace)::$_0>, void (MLDB::EnterThreadToken const&)>::operator(this=<unavailable>, __arg=<unavailable>)(MLDB::EnterThreadToken const&) at functional:1720
    frame #9: 0x0000000102713121 libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`MLDB::(anonymous namespace)::runPythonInitializers(MLDB::EnterThreadToken const&) [inlined] std::__1::__function::__value_func<void (MLDB::EnterThreadToken const&)>::operator(__args=0x0000000000000000)(MLDB::EnterThreadToken const&) const at functional:1873:16
    frame #10: 0x0000000102713113 libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`MLDB::(anonymous namespace)::runPythonInitializers(MLDB::EnterThreadToken const&) [inlined] std::__1::function<void (MLDB::EnterThreadToken const&)>::operator(this=<unavailable>, __arg=0x0000000000000000)(MLDB::EnterThreadToken const&) const at functional:2548
    frame #11: 0x0000000102713106 libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`MLDB::(anonymous namespace)::runPythonInitializers(thread=0x0000000000000000) at python_interpreter.cc:359
    frame #12: 0x000000010271195f libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`MLDB::PythonInterpreter::mainInterpreter() at python_interpreter.cc:453:9
    frame #13: 0x0000000102712e86 libpython_interpreter.f83f47b29f7634085fbea1a8c7dfc279.dylib`MLDB::PythonInterpreter::initializeFromModuleInit() at python_interpreter.cc:419:5
    frame #14: 0x0000000102681ae5 py_cell_conv_test_module.so`init_module_py_cell_conv_test_module() at python_cell_converter_test_support.cc:57:5
    frame #15: 0x00000001026bf7f5 libboost_python39.dylib`boost::python::handle_exception_impl(boost::function0<void>) + 69
    frame #16: 0x00000001026c04c9 libboost_python39.dylib`bool boost::python::handle_exception<void (*)()>(void (*)()) + 57
    frame #17: 0x00000001026c03b8 libboost_python39.dylib`boost::python::detail::init_module(PyModuleDef&, void (*)()) + 72
    frame #18: 0x00000001002723c5 libpython3.9.dylib`_PyImport_LoadDynamicModuleWithSpec + 613
    frame #19: 0x0000000100271c74 libpython3.9.dylib`_imp_create_dynamic + 308
    frame #20: 0x000000010019e597 libpython3.9.dylib`cfunction_vectorcall_FASTCALL + 215
    frame #21: 0x0000000100243e80 libpython3.9.dylib`_PyEval_EvalFrameDefault + 28832
    frame #22: 0x0000000100247824 libpython3.9.dylib`_PyEval_EvalCode + 2852
    frame #23: 0x000000010015e1f0 libpython3.9.dylib`_PyFunction_Vectorcall + 256
    frame #24: 0x000000010024695b libpython3.9.dylib`call_function + 411
    frame #25: 0x00000001002439e6 libpython3.9.dylib`_PyEval_EvalFrameDefault + 27654
    frame #26: 0x000000010015e2e5 libpython3.9.dylib`function_code_fastcall + 229
    frame #27: 0x000000010024695b libpython3.9.dylib`call_function + 411
    frame #28: 0x00000001002439c9 libpython3.9.dylib`_PyEval_EvalFrameDefault + 27625
    frame #29: 0x000000010015e2e5 libpython3.9.dylib`function_code_fastcall + 229
    frame #30: 0x000000010024695b libpython3.9.dylib`call_function + 411
    frame #31: 0x0000000100243a90 libpython3.9.dylib`_PyEval_EvalFrameDefault + 27824
    frame #32: 0x000000010015e2e5 libpython3.9.dylib`function_code_fastcall + 229
    frame #33: 0x000000010024695b libpython3.9.dylib`call_function + 411
    frame #34: 0x0000000100243a90 libpython3.9.dylib`_PyEval_EvalFrameDefault + 27824
    frame #35: 0x000000010015e2e5 libpython3.9.dylib`function_code_fastcall + 229
    frame #36: 0x000000010024695b libpython3.9.dylib`call_function + 411
    frame #37: 0x0000000100243a90 libpython3.9.dylib`_PyEval_EvalFrameDefault + 27824
    frame #38: 0x000000010015e2e5 libpython3.9.dylib`function_code_fastcall + 229
    frame #39: 0x000000010015f709 libpython3.9.dylib`object_vacall + 489
    frame #40: 0x000000010015f976 libpython3.9.dylib`_PyObject_CallMethodIdObjArgs + 246
    frame #41: 0x0000000100270b06 libpython3.9.dylib`PyImport_ImportModuleLevelObject + 1350
    frame #42: 0x00000001002422f4 libpython3.9.dylib`_PyEval_EvalFrameDefault + 21780
    frame #43: 0x0000000100247824 libpython3.9.dylib`_PyEval_EvalCode + 2852
    frame #44: 0x000000010023cd10 libpython3.9.dylib`PyEval_EvalCode + 64
    frame #45: 0x000000010028d42d libpython3.9.dylib`pyrun_file + 333
    frame #46: 0x000000010028b4e9 libpython3.9.dylib`PyRun_SimpleFileExFlags + 729
    frame #47: 0x00000001002aa4b3 libpython3.9.dylib`Py_RunMain + 2067
    frame #48: 0x00000001002aa9e3 libpython3.9.dylib`pymain_main + 403
    frame #49: 0x00000001002aaa3b libpython3.9.dylib`Py_BytesMain + 43
    frame #50: 0x00007fff691e7cc9 libdyld.dylib`start + 1