Hey everyone!
After reading this reply from Andrew Kelley, I attempted to build Jacob Young’s fork of LLDB.
I read through:
- the instruction on the zig repo wiki
- the instructions for optional dependencies
- I installed the preque software using
$ sudo apt-get install build-essential swig python3-dev libedit-dev libncurses5-dev libxml2-dev
- I installed the preque software using
- the instructions for a stand-alone build
I’m able to get a successfully build. I started the resulting executable with this simple Zig application:
const std = @import("std");
pub fn main() void {
const x = [2]i32{ 1, 2 };
std.debug.print("{any}", .{x});
}
However, when I run the resulting executable using these commands, I receive this error:
$ lldb -- zig-out/bin/monkey-lang-interpreter
(lldb) target create "zig-out/bin/monkey-lang-interpreter"
Current executable set to '/home/theshinx317/Coding/Zig/monkey-lang-interpreter/zig-out/bin/monkey-lang-interpreter' (x86_64).
(lldb) b main.main
Breakpoint 1: where = monkey-lang-interpreter`main.main + 8, address = 0x0000000001150a26
(lldb) r
Process 31150 launched: '/home/theshinx317/Coding/Zig/monkey-lang-interpreter/zig-out/bin/monkey-lang-interpreter' (x86_64)
lldb: /home/theshinx317/Coding/Zig/llvm-project/llvm/include/llvm/ADT/SmallBitVector.h:460: bool llvm::SmallBitVector::operator[](unsigned int) const: Assertion `Idx < size() && "Out-of-bounds Bit access."' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
#0 0x00005601f6620ed6 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/theshinx317/Coding/Zig/llvm-project/llvm/lib/Support/Unix/Signals.inc:569:3
#1 0x00005601f661f344 llvm::sys::RunSignalHandlers() /home/theshinx317/Coding/Zig/llvm-project/llvm/lib/Support/Signals.cpp:103:20
#2 0x00005601f661f4c6 SignalHandler(int) /home/theshinx317/Coding/Zig/llvm-project/llvm/lib/Support/Unix/Signals.inc:407:1
#3 0x00007fa0a22d8520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007fa0a232c9fc __pthread_kill_implementation ./nptl/./nptl/pthread_kill.c:44:76
#5 0x00007fa0a232c9fc __pthread_kill_internal ./nptl/./nptl/pthread_kill.c:78:10
#6 0x00007fa0a232c9fc pthread_kill ./nptl/./nptl/pthread_kill.c:89:10
#7 0x00007fa0a22d8476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007fa0a22be7f3 abort ./stdlib/./stdlib/abort.c:81:7
#9 0x00007fa0a22be71b _nl_load_domain ./intl/./intl/loadmsgcat.c:1177:9
#10 0x00007fa0a22cfe96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#11 0x00007fa0a3a4abcb llvm::BitVector::operator[](unsigned int) /home/theshinx317/Coding/Zig/llvm-project/llvm/include/llvm/ADT/BitVector.h:438:5
#12 0x00007fa0a3a4abcb llvm::BitVector::operator[](unsigned int) /home/theshinx317/Coding/Zig/llvm-project/llvm/include/llvm/ADT/BitVector.h:437:13
#13 0x00007fa0a3a4abcb llvm::SmallBitVector::operator[](unsigned int) const /home/theshinx317/Coding/Zig/llvm-project/llvm/include/llvm/ADT/SmallBitVector.h:463:36
#14 0x00007fa0a3a4abcb lldb_private::LanguageSet::operator[](unsigned int) const /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Symbol/TypeSystem.cpp:36:68
#15 0x00007fa0a3a919b1 lldb_private::Process::PrintWarningUnsupportedLanguage(lldb_private::SymbolContext const&) /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Target/Process.cpp:5740:3
#16 0x00007fa0a3b0241e std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/include/c++/11/bits/shared_ptr_base.h:704:6
#17 0x00007fa0a3b0241e std::__shared_ptr<lldb_private::Process, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/include/c++/11/bits/shared_ptr_base.h:1154:7
#18 0x00007fa0a3b0241e std::shared_ptr<lldb_private::Process>::~shared_ptr() /usr/include/c++/11/bits/shared_ptr.h:122:11
#19 0x00007fa0a3b0241e lldb_private::Thread::FrameSelectedCallback(lldb_private::StackFrame*) (.part.0) /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Target/Thread.cpp:330:15
#20 0x00007fa0a3b03f15 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/include/c++/11/bits/shared_ptr_base.h:704:6
#21 0x00007fa0a3b03f15 std::__shared_ptr<lldb_private::StackFrameList, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/include/c++/11/bits/shared_ptr_base.h:1154:7
#22 0x00007fa0a3b03f15 std::shared_ptr<lldb_private::StackFrameList>::~shared_ptr() /usr/include/c++/11/bits/shared_ptr.h:122:11
#23 0x00007fa0a3b03f15 lldb_private::Thread::GetSelectedFrame() /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Target/Thread.cpp:271:1
#24 0x00007fa0a3ac37cc std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::_Alloc_hider::_Alloc_hider(char*, std::allocator<char>&&) /usr/include/c++/11/bits/basic_string.h:168:36
#25 0x00007fa0a3ac37cc std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::basic_string() /usr/include/c++/11/bits/basic_string.h:441:9
#26 0x00007fa0a3ac37cc lldb_private::StackFrameList::GetStatus(lldb_private::Stream&, unsigned int, unsigned int, bool, unsigned int, bool, char const*) /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Target/StackFrameList.cpp:868:15
#27 0x00007fa0a3b0711e std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/include/c++/11/bits/shared_ptr_base.h:704:6
#28 0x00007fa0a3b0711e std::__shared_ptr<lldb_private::StackFrameList, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/include/c++/11/bits/shared_ptr_base.h:1154:7
#29 0x00007fa0a3b0711e std::shared_ptr<lldb_private::StackFrameList>::~shared_ptr() /usr/include/c++/11/bits/shared_ptr.h:122:11
#30 0x00007fa0a3b0711e lldb_private::Thread::GetStatus(lldb_private::Stream&, unsigned int, unsigned int, unsigned int, bool, bool) /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Target/Thread.cpp:1750:41
#31 0x00007fa0a3a9eaf0 lldb_private::Process::GetThreadStatus(lldb_private::Stream&, bool, unsigned int, unsigned int, unsigned int, bool) /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Target/Process.cpp:5535:7
#32 0x00007fa0a3a9f4f9 lldb_private::Process::HandleProcessStateChangedEvent(std::shared_ptr<lldb_private::Event> const&, lldb_private::Stream*, bool&) /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Target/Process.cpp:908:11
#33 0x00007fa0a38dfc76 lldb_private::Debugger::HandleProcessEvent(std::shared_ptr<lldb_private::Event> const&) /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Core/Debugger.cpp:1622:46
#34 0x00007fa0a38e033e lldb_private::Debugger::DefaultEventHandler() /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Core/Debugger.cpp:1707:31
#35 0x00007fa0a39c1dd4 std::function<void* ()>::operator()() const /usr/include/c++/11/bits/std_function.h:590:9
#36 0x00007fa0a39c1dd4 lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(void*) /home/theshinx317/Coding/Zig/llvm-project/lldb/source/Host/common/HostNativeThreadBase.cpp:62:23
#37 0x00007fa0a232aac3 start_thread ./nptl/./nptl/pthread_create.c:442:8
#38 0x00007fa0a23bc850 ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:83:0
Aborted (core dumped)
Any advice how what went wrong?
Disclaimer: I know enough CMake to be dangerous so don’t be surprised if I’m missing some setup there
System Details:
- OS: Linux Mint 21.3 (Ubuntu 22.04)
- Kernel: 5.15.0-134-generic
- Arch: x84_64
- Zig: 0.14.0