-
Notifications
You must be signed in to change notification settings - Fork 15.4k
Open
Labels
Description
When trying to call pdb.set_trace() in a script in LLDB, I get an error about the lldb_editline module not having the attribute set_completer_delims.
polaris ➜ ~ lldb --version
lldb version 12.0.1
polaris ➜ ~ lldb
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> import sys;
>>> sys.executable
'/usr/bin/python3'
>>> sys.version
'3.6.8 (default, Jan 25 2023, 15:03:30) \n[GCC 8.5.0 20210514 (Red Hat 8.5.0-18)]'
>>> import pdb
>>> pdb.set_trace()
Traceback (most recent call last):
File "/usr/lib64/python3.6/code.py", line 91, in runcode
exec(code, self.locals)
File "<console>", line 1, in <module>
File "/usr/lib64/python3.6/pdb.py", line 1585, in set_trace
Pdb().set_trace(sys._getframe().f_back)
File "/usr/lib64/python3.6/pdb.py", line 156, in __init__
readline.set_completer_delims(' \t\n`@#$%^&*()=+[{]}\\|;:\'",<>?')
AttributeError: module 'lldb_editline' has no attribute 'set_completer_delims'
If I run the same version of python from the command line, I get the following:
polaris ➜ ~ python3.6
Python 3.6.8 (default, Jan 25 2023, 15:03:30)
[GCC 8.5.0 20210514 (Red Hat 8.5.0-18)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.executable
'/usr/bin/python3.6'
>>> sys.version
'3.6.8 (default, Jan 25 2023, 15:03:30) \n[GCC 8.5.0 20210514 (Red Hat 8.5.0-18)]'
>>> import pdb
>>> pdb.set_trace()
--Return--
> <stdin>(1)<module>()->None
(Pdb)
If I try to manually load the local readline module, LLDB just seg faults.
polaris ➜ ~ lldb
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> import importlib.util
>>> import sys
>>> spec = importlib.util.spec_from_file_location("readline", "/usr/lib64/python3.6/lib-dynload/readline.cpython-36m-x86_64-linux-gnu.so")
>>> spec
ModuleSpec(name='readline', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x7f22a63889b0>, origin='/usr/lib64/python3.6/lib-dynload/readline.cpython-36m-x86_64-linux-gnu.so')
>>> foo = importlib.util.module_from_spec(spec)
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0. Program arguments: lldb
#0 0x00007f22b9fffa00 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM-12.so+0xb4fa00)
#1 0x00007f22b9ffd5c4 llvm::sys::RunSignalHandlers() (/lib64/libLLVM-12.so+0xb4d5c4)
#2 0x00007f22b9ffe155 (/lib64/libLLVM-12.so+0xb4e155)
#3 0x00007f22c34a4cf0 __restore_rt (/lib64/libpthread.so.0+0x12cf0)
#4 0x00007f22b838aad4 PyModule_GetState (/lib64/libpython3.6m.so.1.0+0x110ad4)
#5 0x00007f22a556a63d (/usr/lib64/python3.6/lib-dynload/readline.cpython-36m-x86_64-linux-gnu.so+0x463d)
#6 0x00007f22b7264ca5 rl_initialize (/lib64/libedit.so.0+0x1eca5)
#7 0x00007f22a556aa1d PyInit_readline (/usr/lib64/python3.6/lib-dynload/readline.cpython-36m-x86_64-linux-gnu.so+0x4a1d)
#8 0x00007f22b8478bd2 _PyImport_LoadDynamicModuleWithSpec (/lib64/libpython3.6m.so.1.0+0x1febd2)
#9 0x00007f22b8478dd1 (/lib64/libpython3.6m.so.1.0+0x1fedd1)
#10 0x00007f22b840ed92 PyCFunction_Call (/lib64/libpython3.6m.so.1.0+0x194d92)
#11 0x00007f22b841c98d _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x1a298d)
#12 0x00007f22b8373994 (/lib64/libpython3.6m.so.1.0+0xf9994)
#13 0x00007f22b83f3b80 (/lib64/libpython3.6m.so.1.0+0x179b80)
#14 0x00007f22b8416087 (/lib64/libpython3.6m.so.1.0+0x19c087)
#15 0x00007f22b8416cd8 _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x19ccd8)
#16 0x00007f22b83f3998 (/lib64/libpython3.6m.so.1.0+0x179998)
#17 0x00007f22b8416087 (/lib64/libpython3.6m.so.1.0+0x19c087)
#18 0x00007f22b8416cd8 _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x19ccd8)
#19 0x00007f22b83f3998 (/lib64/libpython3.6m.so.1.0+0x179998)
#20 0x00007f22b8416087 (/lib64/libpython3.6m.so.1.0+0x19c087)
#21 0x00007f22b8416cd8 _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x19ccd8)
#22 0x00007f22b8373994 (/lib64/libpython3.6m.so.1.0+0xf9994)
#23 0x00007f22b8374d33 PyEval_EvalCode (/lib64/libpython3.6m.so.1.0+0xfad33)
#24 0x00007f22b8484ec0 (/lib64/libpython3.6m.so.1.0+0x20aec0)
#25 0x00007f22b8415de7 (/lib64/libpython3.6m.so.1.0+0x19bde7)
#26 0x00007f22b8416cd8 _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x19ccd8)
#27 0x00007f22b83f3998 (/lib64/libpython3.6m.so.1.0+0x179998)
#28 0x00007f22b8416087 (/lib64/libpython3.6m.so.1.0+0x19c087)
#29 0x00007f22b8416cd8 _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x19ccd8)
#30 0x00007f22b8373994 (/lib64/libpython3.6m.so.1.0+0xf9994)
#31 0x00007f22b83f3b80 (/lib64/libpython3.6m.so.1.0+0x179b80)
#32 0x00007f22b8416087 (/lib64/libpython3.6m.so.1.0+0x19c087)
#33 0x00007f22b8416cd8 _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x19ccd8)
#34 0x00007f22b83f3998 (/lib64/libpython3.6m.so.1.0+0x179998)
#35 0x00007f22b8416087 (/lib64/libpython3.6m.so.1.0+0x19c087)
#36 0x00007f22b8416cd8 _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x19ccd8)
#37 0x00007f22b8373994 (/lib64/libpython3.6m.so.1.0+0xf9994)
#38 0x00007f22b83f3b80 (/lib64/libpython3.6m.so.1.0+0x179b80)
#39 0x00007f22b8416087 (/lib64/libpython3.6m.so.1.0+0x19c087)
#40 0x00007f22b8416cd8 _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x19ccd8)
#41 0x00007f22b8373994 (/lib64/libpython3.6m.so.1.0+0xf9994)
#42 0x00007f22b83f3b80 (/lib64/libpython3.6m.so.1.0+0x179b80)
#43 0x00007f22b8416087 (/lib64/libpython3.6m.so.1.0+0x19c087)
#44 0x00007f22b8417905 _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x19d905)
#45 0x00007f22b83f3998 (/lib64/libpython3.6m.so.1.0+0x179998)
#46 0x00007f22b8416087 (/lib64/libpython3.6m.so.1.0+0x19c087)
#47 0x00007f22b8416cd8 _PyEval_EvalFrameDefault (/lib64/libpython3.6m.so.1.0+0x19ccd8)
#48 0x00007f22b8373994 (/lib64/libpython3.6m.so.1.0+0xf9994)
#49 0x00007f22b8374d33 PyEval_EvalCode (/lib64/libpython3.6m.so.1.0+0xfad33)
#50 0x00007f22b8482c02 (/lib64/libpython3.6m.so.1.0+0x208c02)
#51 0x00007f22b8484dbd PyRun_StringFlags (/lib64/libpython3.6m.so.1.0+0x20adbd)
#52 0x00007f22b848725c PyRun_SimpleStringFlags (/lib64/libpython3.6m.so.1.0+0x20d25c)
#53 0x00007f22c2b4e216 (/lib64/liblldb.so.12+0xb00216)
#54 0x00007f22c2662fbe (/lib64/liblldb.so.12+0x614fbe)
#55 0x00007f22c274512e (/lib64/liblldb.so.12+0x6f712e)
#56 0x00007f22c22ef2fe lldb::SBDebugger::RunCommandInterpreter(bool, bool) (/lib64/liblldb.so.12+0x2a12fe)
#57 0x000055dc126cd577 (/usr/bin/lldb+0xa577)
#58 0x000055dc126c9ba7 (/usr/bin/lldb+0x6ba7)
#59 0x00007f22b87f6d85 __libc_start_main (/lib64/libc.so.6+0x3ad85)
#60 0x000055dc126c9c1e (/usr/bin/lldb+0x6c1e)
[1] 984562 segmentation fault (core dumped) lldb