swift
swift copied to clipboard
lldb's script command not working on Ubuntu
I am trying to use vscode-lldb
to debug my programs, however, vscode-lldb
uses the lldb's script
command behind the curtains and this is crashing.
Setup
- Ubuntu 18.04
- Swift v0.4.0-rc2
How to reproduce
Try to run the script
command inside lldb
$ lldb
(lldb) script
Output:
lldb[0x41f9c4]
lldb[0x41da0c]
lldb[0x41ff58]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7fd0f6144890]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyModule_GetState+0xb)[0x7fd0ecda993b]
/usr/lib/python3.6/lib-dynload/readline.cpython-36m-x86_64-linux-gnu.so(+0x412e)[0x7fd0e1f6612e]
/usr/lib/x86_64-linux-gnu/libedit.so.2(rl_initialize+0x4e1)[0x7fd0eca4a441]
/usr/lib/python3.6/lib-dynload/readline.cpython-36m-x86_64-linux-gnu.so(PyInit_readline+0x159)[0x7fd0e1f65fd9]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyImport_LoadDynamicModuleWithSpec+0x18c)[0x7fd0ecde8dcc]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x186bd5)[0x7fd0ecdeabd5]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyCFunction_Call+0xc1)[0x7fd0ecdac0d1]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x7a50)[0x7fd0ece4e450]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21bbab)[0x7fd0ece7fbab]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21c29e)[0x7fd0ece8029e]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x5170)[0x7fd0ece4bb70]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21a953)[0x7fd0ece7e953]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21c472)[0x7fd0ece80472]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x5170)[0x7fd0ece4bb70]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21a953)[0x7fd0ece7e953]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21c472)[0x7fd0ece80472]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x5170)[0x7fd0ece4bb70]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21a953)[0x7fd0ece7e953]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21c472)[0x7fd0ece80472]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x5170)[0x7fd0ece4bb70]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21a953)[0x7fd0ece7e953]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21c472)[0x7fd0ece80472]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x5170)[0x7fd0ece4bb70]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21a953)[0x7fd0ece7e953]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyFunction_FastCallDict+0x2c3)[0x7fd0ece7ffb3]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x131)[0x7fd0ece99ec1]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyObject_CallMethodIdObjArgs+0xe6)[0x7fd0ece9a6b6]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyImport_ImportModuleLevelObject+0x47c)[0x7fd0eced985c]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x7bca)[0x7fd0ece4e5ca]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21bbab)[0x7fd0ece7fbab]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x3e)[0x7fd0ece8067e]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCode+0x1b)[0x7fd0ece4680b]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x1ee17d)[0x7fd0ece5217d]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyCFunction_Call+0xc1)[0x7fd0ecdac0d1]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x7a50)[0x7fd0ece4e450]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21bbab)[0x7fd0ece7fbab]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21c29e)[0x7fd0ece8029e]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x5170)[0x7fd0ece4bb70]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21a953)[0x7fd0ece7e953]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21c472)[0x7fd0ece80472]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x5170)[0x7fd0ece4bb70]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21a953)[0x7fd0ece7e953]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21c472)[0x7fd0ece80472]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x5170)[0x7fd0ece4bb70]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21a953)[0x7fd0ece7e953]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21c472)[0x7fd0ece80472]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x5170)[0x7fd0ece4bb70]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21a953)[0x7fd0ece7e953]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyFunction_FastCallDict+0x2c3)[0x7fd0ece7ffb3]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyObject_FastCallDict+0x131)[0x7fd0ece99ec1]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyObject_CallMethodIdObjArgs+0xe6)[0x7fd0ece9a6b6]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyImport_ImportModuleLevelObject+0x47c)[0x7fd0eced985c]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x7bca)[0x7fd0ece4e5ca]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x21bbab)[0x7fd0ece7fbab]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x3e)[0x7fd0ece8067e]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCode+0x1b)[0x7fd0ece4680b]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyRun_StringFlags+0x8f)[0x7fd0ecd7e28f]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyRun_SimpleStringFlags+0x3b)[0x7fd0ecd7f32b]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0xf202c0)[0x7fd0ef7b92c0]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0xf1fe83)[0x7fd0ef7b8e83]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0xf21443)[0x7fd0ef7ba443]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0xa17dce)[0x7fd0ef2b0dce]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0x9d3b80)[0x7fd0ef26cb80]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0xab740a)[0x7fd0ef35040a]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0xab5d1e)[0x7fd0ef34ed1e]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0xaacc85)[0x7fd0ef345c85]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0xab07eb)[0x7fd0ef3497eb]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0x9eff81)[0x7fd0ef288f81]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0x9d4516)[0x7fd0ef26d516]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(+0xab1696)[0x7fd0ef34a696]
/home/cristian/.swift/tf-0.4.0-rc2/usr/bin/../lib/liblldb.so.7svn(_ZN4lldb10SBDebugger21RunCommandInterpreterEbb+0xe6)[0x7fd0eeffbe56]
lldb[0x40a0d5]
lldb[0x40b307]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7fd0ed337b97]
lldb[0x40670a]
Stack dump:
0. Program arguments: lldb
fish: “lldb” terminated by signal SIGSEGV (Address boundary error)
Swift 5.1-dev
This same setup works in Swift 5.1 dev version found here, vscode-lldb
works fine is this case. I notice that here python 2.7 is used whereas in S4TF python 3.6 is trying to be used.
Bump: this issue is reproducible from Swift for TensorFlow nightly toolchains:
$ usr/bin/lldb --version
lldb version 7.0.0 (https://github.com/apple/llvm-project.git revision 8ec2a24d414c19db71543c49fa0ddef2b9b0e3a5)
Swift version 5.2-dev (Swift 12a8129143)
$ usr/bin/lldb
(lldb) script
Stack dump:
0. Program arguments: usr/bin/lldb
usr/bin/lldb[0x421d04]
usr/bin/lldb[0x41fd0e]
usr/bin/lldb[0x4222a6]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7f0700e2a890]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyModule_GetState+0xb)[0x7f06f72dd15b]
/usr/lib/python3.6/lib-dynload/readline.cpython-36m-x86_64-linux-gnu.so(+0x40ce)[0x7f06f0f890ce]
/usr/lib/x86_64-linux-gnu/libedit.so.2(rl_initialize+0x4e1)[0x7f06f6cac441]
/usr/lib/python3.6/lib-dynload/readline.cpython-36m-x86_64-linux-gnu.so(PyInit_readline+0x159)[0x7f06f0f88f79]
/usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyImport_LoadDynamicModuleWithSpec+0x183)[0x7f06f722abf3]
...
********************
[1] 22708 segmentation fault (core dumped) usr/bin/lldb
I wonder if this issue is producible with development toolchains from swift.org/download.
@dan-zheng seeing a crash/dump running lldb; script with:
swift-tensorflow-RELEASE-0.6-cuda10.1-cudnn7-ubuntu18.04.tar.gz
build, fwiw.