mib added inline comments.
================ Comment at: lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp:186 + StatusSP status_sp = std::make_shared<Status>(error); + PythonObject* sb_error = new PythonObject(ToSWIGWrapper(status_sp)); + ---------------- @labath In order to pass down the `Status&` to python, I create a `StatusSP` (to avoid leaking the `lldb_private::Status` type to python), and turn that into a `python::PyObject` by calling `ToSWIGWrapper`. This is why I moved its declaration to `SWIGPythonBridge.h`. Finally, the `python::PyObject` is wrapped into another `PythonObject*` so it can be passed to `GetPythonValueFormatString` and `PyObject_CallMethod` in `ScriptedPythonInterface::Dispatch` I tried to follow the logic explained in 7f09ab0, however, when `ToSWIGWrapper` is called at runtime, it crashes in Python: ``` * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x10) frame #0: 0x00000001056f3c3c Python`PyTuple_New + 212 frame #1: 0x0000000135524720 liblldb.16.0.0git.dylib`SWIG_Python_NewShadowInstance(data=0x00006000011d6340, swig_this=0x0000000105ec5d70) at LLDBWrapPython.cpp:2284:28 * frame #2: 0x0000000135515a00 liblldb.16.0.0git.dylib`SWIG_Python_NewPointerObj(self=0x0000000000000000, ptr=0x0000600001dc4040, type=0x000000014448c140, flags=1) at LLDBWrapPython.cpp:2395:22 frame #3: 0x00000001355157f4 liblldb.16.0.0git.dylib`lldb_private::python::ToSWIGHelper(obj=0x0000600001dc4040, info=0x000000014448c140) at python-swigsafecast.swig:5:29 frame #4: 0x0000000135515e14 liblldb.16.0.0git.dylib`lldb_private::python::ToSWIGWrapper(status_sp=std::__1::shared_ptr<lldb_private::Status>::element_type @ 0x0000600000ac9a18 strong=3 weak=1) at python-swigsafecast.swig:37:10 frame #5: 0x00000001367383c4 liblldb.16.0.0git.dylib`lldb_private::ScriptedProcessPythonInterface::ReadMemoryAtAddress(this=0x00006000011cd2c0, address=8034160640, size=512, error=0x000000016b35c650) at ScriptedProcessPythonInterface.cpp:161:45 ``` Am I doing something wrong or maybe I'm missing something ? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134033/new/ https://reviews.llvm.org/D134033 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits