-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Non serialised compilation error #841
Comments
Stacktraces of lua sorting: a = {}
for i=1,50000 do
a[i] = math.random()
end
table.sort(a, function(x,y) return y<x end) YKD_SERIALISE_COMPILATION=0 gdb -batch --ex 'r' --ex 'bt' --args ../src/lua -e"_U=true" ./example.lua
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffee59d6c0 (LWP 2452124)]
[Thread 0x7fffee59d6c0 (LWP 2452124) exited]
[New Thread 0x7fffee59d6c0 (LWP 2452125)]
lua: /yk/ykllvm/llvm/include/llvm/CodeGen/ValueTypes.h:289: llvm::MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed.
Thread 3 "lua" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffee59d6c0 (LWP 2452125)]
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: No such file or directory.
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1 0x00007ffff78a9d9f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 0x00007ffff785af32 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007ffff7845472 in __GI_abort () at ./stdlib/abort.c:79
#4 0x00007ffff7845395 in __assert_fail_base (fmt=0x7ffff79b9a90 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7ffff7208c40 "isSimple() && \"Expected a SimpleValueType!\"", file=file@entry=0x7ffff7208c00 "/yk/ykllvm/llvm/include/llvm/CodeGen/ValueTypes.h", line=line@entry=289, function=function@entry=0x7ffff7208bd0 "llvm::MVT llvm::EVT::getSimpleVT() const") at ./assert/assert.c:92
#5 0x00007ffff7853e32 in __GI___assert_fail (assertion=0x7ffff7208c40 "isSimple() && \"Expected a SimpleValueType!\"", file=0x7ffff7208c00 "/yk/ykllvm/llvm/include/llvm/CodeGen/ValueTypes.h", line=289, function=0x7ffff7208bd0 "llvm::MVT llvm::EVT::getSimpleVT() const") at ./assert/assert.c:101
#6 0x00007ffff6f82540 in (anonymous namespace)::X86DAGToDAGISel::Select(llvm::SDNode*) () from /yk/target/debug/ykllvm/lib/libLLVMX86CodeGen.so.16git
#7 0x00007ffff4f101e5 in llvm::SelectionDAGISel::DoInstructionSelection() () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#8 0x00007ffff4f1e0e5 in llvm::SelectionDAGISel::CodeGenAndEmitDAG() () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#9 0x00007ffff4f21980 in llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#10 0x00007ffff4f237ff in llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) [clone .part.0] () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#11 0x00007ffff6f836a5 in (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) () from /yk/target/debug/ykllvm/lib/libLLVMX86CodeGen.so.16git
#12 0x00007ffff456da9b in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) [clone .part.0] () from /yk/target/debug/ykllvm/lib/../lib/libLLVMCodeGen.so.16git
#13 0x00007ffff5a67570 in llvm::FPPassManager::runOnFunction(llvm::Function&) () from /yk/target/debug/ykllvm/lib/libLLVMCore.so.16git
#14 0x00007ffff5a676b1 in llvm::FPPassManager::runOnModule(llvm::Module&) () from /yk/target/debug/ykllvm/lib/libLLVMCore.so.16git
#15 0x00007ffff5a67f77 in llvm::legacy::PassManagerImpl::run(llvm::Module&) () from /yk/target/debug/ykllvm/lib/libLLVMCore.so.16git
#16 0x00007ffff7df49bf in llvm::MCJIT::emitObject(llvm::Module*) () from /yk/target/debug/ykllvm/lib/libLLVMMCJIT.so.16git
#17 0x00007ffff7df5282 in llvm::MCJIT::generateCodeForModule(llvm::Module*) () from /yk/target/debug/ykllvm/lib/libLLVMMCJIT.so.16git
#18 0x00007ffff7def504 in llvm::MCJIT::finalizeObject() () from /yk/target/debug/ykllvm/lib/libLLVMMCJIT.so.16git
#19 0x00007ffff7bedcc1 in compileModule (TraceName="__yk_compiled_trace_0", M=0x7fffeab08f80, GlobalMappings=std::map with 3 elements = {...}, LiveAOTVals=0x7fffeab177a0, GuardCount=39) at src/ykllvmwrap.cc:266
#20 0x00007ffff7bef7ab in compileIRTrace<std::tuple<llvm::Module*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<llvm::GlobalValue*, void*, std::less<llvm::GlobalValue*>, std::allocator<std::pair<llvm::GlobalValue* const, void*> > >, void*, unsigned long> (*)(llvm::Module*, char**, unsigned long*, unsigned long, char**, void**, unsigned long)> (Func=0x7ffff7bf9b00 <createModule[abi:cxx11](llvm::Module*, char**, unsigned long*, unsigned long, char**, void**, unsigned long)>, FuncNames=0x7fffe8089b40, BBs=0x7fffe808a360, TraceLen=258, FAddrKeys=0x7fffe808ad40, FAddrVals=0x7fffe808ae50, FAddrLen=20, BitcodeData=0x257ae0 <llvm.embedded[module]+8>, BitcodeLen=3622916, DebugInfoFD=-1, DebugInfoPath=0x0) at src/ykllvmwrap.cc:442
#21 0x00007ffff7bef4de in __yktracec_irtrace_compile (FuncNames=0x7fffe8089b40, BBs=0x7fffe808a360, TraceLen=258, FAddrKeys=0x7fffe808ad40, FAddrVals=0x7fffe808ae50, FAddrLen=20, BitcodeData=0x257ae0 <llvm.embedded[module]+8>, BitcodeLen=3622916, DebugInfoFD=-1, DebugInfoPath=0x0) at src/ykllvmwrap.cc:450
#22 0x00007ffff7a7a0f8 in ykrt::compile::jitc_llvm::{impl#0}::compile (self=0x91d720, mt=..., irtrace=...) at ykrt/src/compile/jitc_llvm.rs:38
#23 0x00007ffff7a7ccad in ykrt::mt::{impl#0}::queue_compile_job::{closure#0} () at ykrt/src/mt.rs:397
#24 0x00007ffff7a63bce in core::ops::function::FnOnce::call_once<ykrt::mt::{impl#0}::queue_compile_job::{closure_env#0}, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/core/src/ops/function.rs:250
#25 0x00007ffff7a63928 in alloc::boxed::{impl#47}::call_once<(), (dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global> (self=..., args=()) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/alloc/src/boxed.rs:2007
#26 0x00007ffff7a830ab in lock_api::mutex::MutexGuard<parking_lot::raw_mutex::RawMutex, alloc::collections::vec_deque::VecDeque<alloc::boxed::Box<(dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global>, alloc::alloc::Global>>::unlocked<parking_lot::raw_mutex::RawMutex, alloc::collections::vec_deque::VecDeque<alloc::boxed::Box<(dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global>, alloc::alloc::Global>, alloc::boxed::Box<(dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global>, ()> (s=0x7fffee59c9e0, f=...) at /home/pd/.cargo/registry/src/index.crates.io-6f17d22bba15001f/lock_api-0.4.10/src/mutex.rs:567
#27 0x00007ffff7a7b4d1 in ykrt::mt::{impl#0}::queue_job::{closure#0} () at ykrt/src/mt.rs:168
#28 0x00007ffff7a7d3b3 in std::sys_common::backtrace::__rust_begin_short_backtrace<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()> (f=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/sys_common/backtrace.rs:154
#29 0x00007ffff7a6a254 in std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/thread/mod.rs:529
#30 0x00007ffff7a6f424 in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>> (self=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/core/src/panic/unwind_safe.rs:271
#31 0x00007ffff7a6ea77 in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>>, ()> (data=0x7fffee59cb00) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/panicking.rs:526
#32 0x00007ffff7a6ecdb in __rust_try () from /yk/bin/../target/debug/deps/libykcapi.so
#33 0x00007ffff7a6e97e in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>>> (f=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/panicking.rs:490
#34 0x00007ffff7a6a096 in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>>, ()> (f=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/panic.rs:142
#35 std::thread::{impl#0}::spawn_unchecked_::{closure#1}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/thread/mod.rs:528
#36 0x00007ffff7a63caf in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#1}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/core/src/ops/function.rs:250
#37 0x00007ffff7c801e5 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2007
#38 alloc::boxed::{impl#47}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2007
#39 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#40 0x00007ffff78a8044 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#41 0x00007ffff79285fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
YKD_SERIALISE_COMPILATION=0 gdb -batch --ex 'r' --ex 'bt' --args ../src/lua -e"_U=true" ./example.lua
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffee59d6c0 (LWP 2451224)]
[Thread 0x7fffee59d6c0 (LWP 2451224) exited]
[New Thread 0x7fffee59d6c0 (LWP 2451225)]
lua: /yk/ykllvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:8144: llvm::SDValue llvm::SelectionDAG::getStore(llvm::SDValue, const llvm::SDLoc&, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*): Assertion `Chain.getValueType() == MVT::Other && "Invalid chain type"' failed.
Thread 3 "lua" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffee59d6c0 (LWP 2451225)]
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: No such file or directory.
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1 0x00007ffff78a9d9f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 0x00007ffff785af32 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007ffff7845472 in __GI_abort () at ./stdlib/abort.c:79
#4 0x00007ffff7845395 in __assert_fail_base (fmt=0x7ffff79b9a90 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7ffff5011870 "Chain.getValueType() == MVT::Other && \"Invalid chain type\"", file=file@entry=0x7ffff500c398 "/yk/ykllvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp", line=line@entry=8144, function=function@entry=0x7ffff5014228 "llvm::SDValue llvm::SelectionDAG::getStore(llvm::SDValue, const llvm::SDLoc&, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*)") at ./assert/assert.c:92
#5 0x00007ffff7853e32 in __GI___assert_fail (assertion=0x7ffff5011870 "Chain.getValueType() == MVT::Other && \"Invalid chain type\"", file=0x7ffff500c398 "/yk/ykllvm/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp", line=8144, function=0x7ffff5014228 "llvm::SDValue llvm::SelectionDAG::getStore(llvm::SDValue, const llvm::SDLoc&, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*)") at ./assert/assert.c:101
#6 0x00007ffff4ed0077 in llvm::SelectionDAG::getStore(llvm::SDValue, llvm::SDLoc const&, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*) () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#7 0x00007ffff4f303d0 in lowerIncomingStatepointValue(llvm::SDValue, bool, llvm::SmallVectorImpl<llvm::SDValue>&, llvm::SmallVectorImpl<llvm::MachineMemOperand*>&, llvm::SelectionDAGBuilder&) () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#8 0x00007ffff4f33baf in llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(llvm::SelectionDAGBuilder::StatepointLoweringInfo&) () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#9 0x00007ffff4f36568 in llvm::SelectionDAGBuilder::LowerCallSiteWithDeoptBundleImpl(llvm::CallBase const*, llvm::SDValue, llvm::BasicBlock const*, bool, bool) () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#10 0x00007ffff4f36826 in llvm::SelectionDAGBuilder::LowerDeoptimizeCall(llvm::CallInst const*) () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#11 0x00007ffff4e6535f in llvm::SelectionDAGBuilder::visitIntrinsicCall(llvm::CallInst const&, unsigned int) () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#12 0x00007ffff4e9c290 in llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#13 0x00007ffff4f20607 in llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, bool&) () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#14 0x00007ffff4f21980 in llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#15 0x00007ffff4f237ff in llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) [clone .part.0] () from /yk/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#16 0x00007ffff6f836a5 in (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) () from /yk/target/debug/ykllvm/lib/libLLVMX86CodeGen.so.16git
#17 0x00007ffff456da9b in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) [clone .part.0] () from /yk/target/debug/ykllvm/lib/../lib/libLLVMCodeGen.so.16git
#18 0x00007ffff5a67570 in llvm::FPPassManager::runOnFunction(llvm::Function&) () from /yk/target/debug/ykllvm/lib/libLLVMCore.so.16git
#19 0x00007ffff5a676b1 in llvm::FPPassManager::runOnModule(llvm::Module&) () from /yk/target/debug/ykllvm/lib/libLLVMCore.so.16git
#20 0x00007ffff5a67f77 in llvm::legacy::PassManagerImpl::run(llvm::Module&) () from /yk/target/debug/ykllvm/lib/libLLVMCore.so.16git
#21 0x00007ffff7df49bf in llvm::MCJIT::emitObject(llvm::Module*) () from /yk/target/debug/ykllvm/lib/libLLVMMCJIT.so.16git
#22 0x00007ffff7df5282 in llvm::MCJIT::generateCodeForModule(llvm::Module*) () from /yk/target/debug/ykllvm/lib/libLLVMMCJIT.so.16git
#23 0x00007ffff7def504 in llvm::MCJIT::finalizeObject() () from /yk/target/debug/ykllvm/lib/libLLVMMCJIT.so.16git
#24 0x00007ffff7bedcc1 in compileModule (TraceName="__yk_compiled_trace_0", M=0x7fffeab07c80, GlobalMappings=std::map with 3 elements = {...}, LiveAOTVals=0x7fffeab31520, GuardCount=39) at src/ykllvmwrap.cc:266
#25 0x00007ffff7bef7ab in compileIRTrace<std::tuple<llvm::Module*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<llvm::GlobalValue*, void*, std::less<llvm::GlobalValue*>, std::allocator<std::pair<llvm::GlobalValue* const, void*> > >, void*, unsigned long> (*)(llvm::Module*, char**, unsigned long*, unsigned long, char**, void**, unsigned long)> (Func=0x7ffff7bf9b00 <createModule[abi:cxx11](llvm::Module*, char**, unsigned long*, unsigned long, char**, void**, unsigned long)>, FuncNames=0x7fffe808a0d0, BBs=0x7fffe808a910, TraceLen=263, FAddrKeys=0x7fffe81656a0, FAddrVals=0x7fffe81657b0, FAddrLen=20, BitcodeData=0x257ae0 <llvm.embedded[module]+8>, BitcodeLen=3622916, DebugInfoFD=-1, DebugInfoPath=0x0) at src/ykllvmwrap.cc:442
#26 0x00007ffff7bef4de in __yktracec_irtrace_compile (FuncNames=0x7fffe808a0d0, BBs=0x7fffe808a910, TraceLen=263, FAddrKeys=0x7fffe81656a0, FAddrVals=0x7fffe81657b0, FAddrLen=20, BitcodeData=0x257ae0 <llvm.embedded[module]+8>, BitcodeLen=3622916, DebugInfoFD=-1, DebugInfoPath=0x0) at src/ykllvmwrap.cc:450
#27 0x00007ffff7a7a0f8 in ykrt::compile::jitc_llvm::{impl#0}::compile (self=0x91d720, mt=..., irtrace=...) at ykrt/src/compile/jitc_llvm.rs:38
#28 0x00007ffff7a7ccad in ykrt::mt::{impl#0}::queue_compile_job::{closure#0} () at ykrt/src/mt.rs:397
#29 0x00007ffff7a63bce in core::ops::function::FnOnce::call_once<ykrt::mt::{impl#0}::queue_compile_job::{closure_env#0}, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/core/src/ops/function.rs:250
#30 0x00007ffff7a63928 in alloc::boxed::{impl#47}::call_once<(), (dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global> (self=..., args=()) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/alloc/src/boxed.rs:2007
#31 0x00007ffff7a830ab in lock_api::mutex::MutexGuard<parking_lot::raw_mutex::RawMutex, alloc::collections::vec_deque::VecDeque<alloc::boxed::Box<(dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global>, alloc::alloc::Global>>::unlocked<parking_lot::raw_mutex::RawMutex, alloc::collections::vec_deque::VecDeque<alloc::boxed::Box<(dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global>, alloc::alloc::Global>, alloc::boxed::Box<(dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global>, ()> (s=0x7fffee59c9e0, f=...) at /home/pd/.cargo/registry/src/index.crates.io-6f17d22bba15001f/lock_api-0.4.10/src/mutex.rs:567
#32 0x00007ffff7a7b4d1 in ykrt::mt::{impl#0}::queue_job::{closure#0} () at ykrt/src/mt.rs:168
#33 0x00007ffff7a7d3b3 in std::sys_common::backtrace::__rust_begin_short_backtrace<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()> (f=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/sys_common/backtrace.rs:154
#34 0x00007ffff7a6a254 in std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/thread/mod.rs:529
#35 0x00007ffff7a6f424 in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>> (self=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/core/src/panic/unwind_safe.rs:271
#36 0x00007ffff7a6ea77 in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>>, ()> (data=0x7fffee59cb00) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/panicking.rs:526
#37 0x00007ffff7a6ecdb in __rust_try () from /yk/bin/../target/debug/deps/libykcapi.so
#38 0x00007ffff7a6e97e in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>>> (f=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/panicking.rs:490
#39 0x00007ffff7a6a096 in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>>, ()> (f=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/panic.rs:142
#40 std::thread::{impl#0}::spawn_unchecked_::{closure#1}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/thread/mod.rs:528
#41 0x00007ffff7a63caf in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#1}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/core/src/ops/function.rs:250
#42 0x00007ffff7c801e5 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2007
#43 alloc::boxed::{impl#47}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2007
#44 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#45 0x00007ffff78a8044 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#46 0x00007ffff79285fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
|
Added logs in YKD_SERIALISE_COMPILATION=0 gdb -batch --ex 'r' --ex 'bt' --args ../src/lua -e"_U=true" ./mre.lua
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffee59d6c0 (LWP 2564435)]
[Thread 0x7fffee59d6c0 (LWP 2564435) exited]
[New Thread 0x7fffee59d6c0 (LWP 2564437)]
[YK] Instruction: br i1 %460, label %guardsuccess2, label %guardfail1, Value: %459 = load i8, ptr %458, align 8, !dbg !9443
[YK] Instruction: br i1 %470, label %guardfail3, label %guardsuccess4, Value: %469 = load i64, ptr %468, align 8, !dbg !9447
[YK] Instruction: br i1 %511, label %guardfail5, label %guardsuccess6, Value: %508 = load i32, ptr %507, align 4, !dbg !9476
[YK] Instruction: br i1 %.not, label %guardfail7, label %guardsuccess8, Value: %520 = load i32, ptr %509, align 4, !dbg !9482
[YK] Instruction: br i1 %531, label %guardsuccess10, label %guardfail9, Value: %530 = load i32, ptr %17, align 4, !dbg !9487
[YK] Instruction: br i1 %548, label %guardsuccess12, label %guardfail11, Value: %546 = load i32, ptr %19, align 4, !dbg !9442
[YK] Instruction: br i1 %573, label %guardsuccess14, label %guardfail13, Value: %572 = load i8, ptr %571, align 8, !dbg !9500
[YK] Instruction: br i1 %587, label %guardfail15, label %guardsuccess16, Value: %585 = load i8, ptr %584, align 8, !dbg !9500
[YK] Instruction: br i1 %609, label %guardfail17, label %guardsuccess18, Value: %607 = load i32, ptr %606, align 4, !dbg !9476
[YK] Instruction: br i1 %.not115, label %guardfail19, label %guardsuccess20, Value: %618 = load i32, ptr %509, align 4, !dbg !9482
[YK] Instruction: br i1 %629, label %guardsuccess22, label %guardfail21, Value: %628 = load i32, ptr %17, align 4, !dbg !9487
[YK] Instruction: br i1 %646, label %guardsuccess24, label %guardfail23, Value: %644 = load i32, ptr %19, align 4, !dbg !9442
[YK] Instruction: br i1 %671, label %guardsuccess26, label %guardfail25, Value: %670 = load i8, ptr %669, align 8, !dbg !9500
[YK] Instruction: br i1 %685, label %guardfail27, label %guardsuccess28, Value: %683 = load i8, ptr %682, align 8, !dbg !9500
[YK] Instruction: br i1 %707, label %guardfail29, label %guardsuccess30, Value: %705 = load i32, ptr %704, align 4, !dbg !9476
[YK] Instruction: br i1 %.not116, label %guardfail31, label %guardsuccess32, Value: %716 = load i32, ptr %509, align 4, !dbg !9482
[YK] Instruction: br i1 %727, label %guardsuccess34, label %guardfail33, Value: %726 = load i32, ptr %17, align 4, !dbg !9487
[YK] Instruction: br i1 %744, label %guardsuccess36, label %guardfail35, Value: %742 = load i32, ptr %19, align 4, !dbg !9442
[YK] Instruction: br i1 %766, label %guardsuccess38, label %guardfail37, Value: %765 = load i8, ptr %764, align 8, !dbg !9513
[YK] Instruction: br i1 %780, label %guardfail39, label %guardsuccess40, Value: %778 = load i8, ptr %777, align 8, !dbg !9513
[YK] Instruction: br i1 %802, label %guardfail41, label %guardsuccess42, Value: %800 = load i32, ptr %799, align 4, !dbg !9476
[YK] Instruction: br i1 %.not117, label %guardfail43, label %guardsuccess44, Value: %811 = load i32, ptr %509, align 4, !dbg !9482
[YK] Instruction: br i1 %822, label %guardsuccess46, label %guardfail45, Value: %821 = load i32, ptr %17, align 4, !dbg !9487
[YK] Instruction: br i1 %839, label %guardsuccess48, label %guardfail47, Value: %837 = load i32, ptr %19, align 4, !dbg !9442
[YK] Instruction: br i1 %851, label %guardfail49, label %guardsuccess50, Value: %846 = load i32, ptr %19, align 4, !dbg !9519
[YK] Instruction: br i1 %871, label %guardsuccess52, label %guardfail51, Value: %870 = call ptr @luaD_precall(ptr noundef %867, ptr noundef %868, i32 noundef %869), !dbg !9538
[YK] Instruction: br i1 %890, label %guardfail53, label %guardsuccess54, Value: %888 = load i32, ptr %887, align 4, !dbg !9476
[YK] Instruction: br i1 %.not118, label %guardfail55, label %guardsuccess56, Value: %899 = load i32, ptr %509, align 4, !dbg !9482
[YK] Instruction: br i1 %910, label %guardsuccess58, label %guardfail57, Value: %909 = load i32, ptr %17, align 4, !dbg !9487
[YK] Instruction: br i1 %927, label %guardsuccess60, label %guardfail59, Value: %925 = load i32, ptr %19, align 4, !dbg !9442
[YK] Instruction: br i1 %941, label %guardsuccess62, label %guardfail61, Value: %935 = load i32, ptr %19, align 4, !dbg !9542
[YK] Instruction: br i1 %956, label %guardsuccess64, label %guardfail63, Value: %955 = load i8, ptr %954, align 8, !dbg !9547
[YK] Instruction: br i1 %968, label %guardsuccess66, label %guardfail65, Value: %967 = load i8, ptr %966, align 8, !dbg !9550
[YK] Instruction: br i1 %982, label %guardsuccess68, label %guardfail67, Value: %982 = icmp ult i64 %976, %981, !dbg !9550
[YK] Instruction: br i1 %999, label %guardsuccess70, label %guardfail69, Value: %997 = load i8, ptr %996, align 8, !dbg !9550
[YK] Instruction: br i1 %1029, label %guardsuccess72, label %guardfail71, Value: %1027 = load i32, ptr %1026, align 4, !dbg !9476
[YK] Instruction: br i1 %1051, label %guardsuccess76, label %guardfail75, Value: %1050 = load i32, ptr %17, align 4, !dbg !9487
[YK] Instruction: %3 = load ptr, ptr %0, align 8, Value: ptr %0
[YK] Instruction: %5 = load ptr, ptr %4, align 8, Value: %4 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 1, !dbg !9435
[YK] Instruction: %7 = load ptr, ptr %6, align 8, Value: %6 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 2, !dbg !9435
[YK] Instruction: %9 = load ptr, ptr %8, align 8, Value: %8 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 3, !dbg !9435
[YK] Instruction: %11 = load ptr, ptr %10, align 8, Value: %10 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 4, !dbg !9435
[YK] Instruction: %13 = load ptr, ptr %12, align 8, Value: %12 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 5, !dbg !9435
[YK] Instruction: %15 = load ptr, ptr %14, align 8, Value: %14 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 6, !dbg !9435
[YK] Instruction: %17 = load ptr, ptr %16, align 8, Value: %16 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 7, !dbg !9435
[YK] Instruction: %19 = load ptr, ptr %18, align 8, Value: %18 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 8, !dbg !9435
[YK] Instruction: %21 = load ptr, ptr %20, align 8, Value: %20 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 9, !dbg !9435
[YK] Instruction: %23 = load ptr, ptr %22, align 8, Value: %22 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 10, !dbg !9435
[YK] Instruction: %25 = load ptr, ptr %24, align 8, Value: %24 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 11, !dbg !9435
[YK] Instruction: %27 = load ptr, ptr %26, align 8, Value: %26 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 12, !dbg !9435
[YK] Instruction: %29 = load ptr, ptr %28, align 8, Value: %28 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 13, !dbg !9435
[YK] Instruction: %31 = load ptr, ptr %30, align 8, Value: %30 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 14, !dbg !9435
[YK] Instruction: %33 = load ptr, ptr %32, align 8, Value: %32 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 15, !dbg !9435
[YK] Instruction: %35 = load ptr, ptr %34, align 8, Value: %34 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 16, !dbg !9435
[YK] Instruction: %37 = load ptr, ptr %36, align 8, Value: %36 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 17, !dbg !9435
[YK] Instruction: %39 = load ptr, ptr %38, align 8, Value: %38 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 18, !dbg !9435
[YK] Instruction: %41 = load ptr, ptr %40, align 8, Value: %40 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 19, !dbg !9435
[YK] Instruction: %43 = load ptr, ptr %42, align 8, Value: %42 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 20, !dbg !9435
[YK] Instruction: %45 = load ptr, ptr %44, align 8, Value: %44 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 21, !dbg !9435
[YK] Instruction: %47 = load ptr, ptr %46, align 8, Value: %46 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 22, !dbg !9435
[YK] Instruction: %49 = load ptr, ptr %48, align 8, Value: %48 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 23, !dbg !9435
[YK] Instruction: %51 = load ptr, ptr %50, align 8, Value: %50 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 24, !dbg !9435
[YK] Instruction: %53 = load ptr, ptr %52, align 8, Value: %52 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 25, !dbg !9435
[YK] Instruction: %55 = load ptr, ptr %54, align 8, Value: %54 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 26, !dbg !9435
[YK] Instruction: %57 = load ptr, ptr %56, align 8, Value: %56 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 27, !dbg !9435
[YK] Instruction: %59 = load ptr, ptr %58, align 8, Value: %58 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 28, !dbg !9435
[YK] Instruction: %61 = load ptr, ptr %60, align 8, Value: %60 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 29, !dbg !9435
[YK] Instruction: %63 = load ptr, ptr %62, align 8, Value: %62 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 30, !dbg !9435
[YK] Instruction: %65 = load ptr, ptr %64, align 8, Value: %64 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 31, !dbg !9435
[YK] Instruction: %67 = load ptr, ptr %66, align 8, Value: %66 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 32, !dbg !9435
[YK] Instruction: %69 = load ptr, ptr %68, align 8, Value: %68 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 33, !dbg !9435
[YK] Instruction: %71 = load ptr, ptr %70, align 8, Value: %70 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 34, !dbg !9435
[YK] Instruction: %73 = load ptr, ptr %72, align 8, Value: %72 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 35, !dbg !9435
[YK] Instruction: %75 = load ptr, ptr %74, align 8, Value: %74 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 36, !dbg !9435
[YK] Instruction: %77 = load ptr, ptr %76, align 8, Value: %76 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 37, !dbg !9435
[YK] Instruction: %79 = load ptr, ptr %78, align 8, Value: %78 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 38, !dbg !9435
[YK] Instruction: %81 = load ptr, ptr %80, align 8, Value: %80 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 39, !dbg !9435
[YK] Instruction: %83 = load ptr, ptr %82, align 8, Value: %82 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 40, !dbg !9435
[YK] Instruction: %85 = load ptr, ptr %84, align 8, Value: %84 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 41, !dbg !9435
[YK] Instruction: %87 = load ptr, ptr %86, align 8, Value: %86 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 42, !dbg !9435
[YK] Instruction: %89 = load ptr, ptr %88, align 8, Value: %88 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 43, !dbg !9435
[YK] Instruction: %91 = load ptr, ptr %90, align 8, Value: %90 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 44, !dbg !9435
[YK] Instruction: %93 = load ptr, ptr %92, align 8, Value: %92 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 45, !dbg !9435
[YK] Instruction: %95 = load ptr, ptr %94, align 8, Value: %94 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 46, !dbg !9435
[YK] Instruction: %97 = load ptr, ptr %96, align 8, Value: %96 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 47, !dbg !9435
[YK] Instruction: %99 = load ptr, ptr %98, align 8, Value: %98 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 48, !dbg !9435
[YK] Instruction: %101 = load ptr, ptr %100, align 8, Value: %100 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 49, !dbg !9435
[YK] Instruction: %103 = load ptr, ptr %102, align 8, Value: %102 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 50, !dbg !9435
[YK] Instruction: %105 = load ptr, ptr %104, align 8, Value: %104 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 51, !dbg !9435
[YK] Instruction: %107 = load ptr, ptr %106, align 8, Value: %106 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 52, !dbg !9435
[YK] Instruction: %109 = load ptr, ptr %108, align 8, Value: %108 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 53, !dbg !9435
[YK] Instruction: %111 = load ptr, ptr %110, align 8, Value: %110 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 54, !dbg !9435
[YK] Instruction: %113 = load ptr, ptr %112, align 8, Value: %112 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 55, !dbg !9435
[YK] Instruction: %115 = load ptr, ptr %114, align 8, Value: %114 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 56, !dbg !9435
[YK] Instruction: %117 = load ptr, ptr %116, align 8, Value: %116 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 57, !dbg !9435
[YK] Instruction: %119 = load ptr, ptr %118, align 8, Value: %118 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 58, !dbg !9435
[YK] Instruction: %121 = load ptr, ptr %120, align 8, Value: %120 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 59, !dbg !9435
[YK] Instruction: %123 = load ptr, ptr %122, align 8, Value: %122 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 60, !dbg !9435
[YK] Instruction: %125 = load ptr, ptr %124, align 8, Value: %124 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 61, !dbg !9435
[YK] Instruction: %127 = load ptr, ptr %126, align 8, Value: %126 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 62, !dbg !9435
[YK] Instruction: %129 = load ptr, ptr %128, align 8, Value: %128 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 63, !dbg !9435
[YK] Instruction: %131 = load ptr, ptr %130, align 8, Value: %130 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 64, !dbg !9435
[YK] Instruction: %133 = load ptr, ptr %132, align 8, Value: %132 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 65, !dbg !9435
[YK] Instruction: %135 = load ptr, ptr %134, align 8, Value: %134 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 66, !dbg !9435
[YK] Instruction: %137 = load ptr, ptr %136, align 8, Value: %136 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 67, !dbg !9435
[YK] Instruction: %139 = load ptr, ptr %138, align 8, Value: %138 = getelementptr %YkCtrlPointVars, ptr %0, i64 0, i32 68, !dbg !9435
[YK] Instruction: %141 = load ptr, ptr %140, align 8, Value: lua: /home/pd/yk-fork/ykllvm/llvm/lib/IR/Metadata.cpp:1216: llvm::MDNode* llvm::NamedMDNode::getOperand(unsigned int) const: Assertion `i < getNumOperands() && "Invalid Operand number!"' failed.
Thread 3 "lua" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffee59d6c0 (LWP 2564437)]
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44 ./nptl/pthread_kill.c: No such file or directory.
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1 0x00007ffff78a9d9f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 0x00007ffff785af32 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007ffff7845472 in __GI_abort () at ./stdlib/abort.c:79
#4 0x00007ffff7845395 in __assert_fail_base (fmt=0x7ffff79b9a90 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7ffff5c46930 "i < getNumOperands() && \"Invalid Operand number!\"", file=file@entry=0x7ffff5c45e80 "/home/pd/yk-fork/ykllvm/llvm/lib/IR/Metadata.cpp", line=line@entry=1216, function=function@entry=0x7ffff5c468f0 "llvm::MDNode* llvm::NamedMDNode::getOperand(unsigned int) const") at ./assert/assert.c:92
#5 0x00007ffff7853e32 in __GI___assert_fail (assertion=0x7ffff5c46930 "i < getNumOperands() && \"Invalid Operand number!\"", file=0x7ffff5c45e80 "/home/pd/yk-fork/ykllvm/llvm/lib/IR/Metadata.cpp", line=1216, function=0x7ffff5c468f0 "llvm::MDNode* llvm::NamedMDNode::getOperand(unsigned int) const") at ./assert/assert.c:101
#6 0x00007ffff5a721f3 in llvm::NamedMDNode::getOperand(unsigned int) const () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#7 0x00007ffff58cf4ee in llvm::SlotTracker::processModule() () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#8 0x00007ffff58d027b in llvm::SlotTracker::getLocalSlot(llvm::Value const*) () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#9 0x00007ffff58d8b9c in (anonymous namespace)::AssemblyWriter::printInstruction(llvm::Instruction const&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#10 0x00007ffff58ded62 in llvm::Value::print(llvm::raw_ostream&, llvm::ModuleSlotTracker&, bool) const () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#11 0x00007ffff58df3ce in llvm::Value::print(llvm::raw_ostream&, bool) const () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#12 0x00007ffff3c8fba1 in llvm::LazyValueInfo::getConstant(llvm::Value*, llvm::Instruction*) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMAnalysis.so.16git
#13 0x00007ffff30af676 in runImpl(llvm::Function&, llvm::LazyValueInfo*, llvm::DominatorTree*, llvm::SimplifyQuery const&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMScalarOpts.so.16git
#14 0x00007ffff30b17cb in (anonymous namespace)::CorrelatedValuePropagation::runOnFunction(llvm::Function&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMScalarOpts.so.16git
#15 0x00007ffff5a67570 in llvm::FPPassManager::runOnFunction(llvm::Function&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#16 0x00007ffff3b41c4f in (anonymous namespace)::CGPassManager::runOnModule(llvm::Module&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMAnalysis.so.16git
#17 0x00007ffff5a67f77 in llvm::legacy::PassManagerImpl::run(llvm::Module&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#18 0x00007ffff7bef6c8 in compileIRTrace<std::tuple<llvm::Module*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<llvm::GlobalValue*, void*, std::less<llvm::GlobalValue*>, std::allocator<std::pair<llvm::GlobalValue* const, void*> > >, void*, unsigned long> (*)(llvm::Module*, char**, unsigned long*, unsigned long, char**, void**, unsigned long)> (Func=0x7ffff7bf9b00 <createModule[abi:cxx11](llvm::Module*, char**, unsigned long*, unsigned long, char**, void**, unsigned long)>, FuncNames=0x7fffe8089d00, BBs=0x7fffe808a590, TraceLen=273, FAddrKeys=0x7fffe8165580, FAddrVals=0x7fffe8165690, FAddrLen=20, BitcodeData=0x257ae0 <llvm.embedded[module]+8>, BitcodeLen=3622916, DebugInfoFD=-1, DebugInfoPath=0x0) at src/ykllvmwrap.cc:432
#19 0x00007ffff7bef4de in __yktracec_irtrace_compile (FuncNames=0x7fffe8089d00, BBs=0x7fffe808a590, TraceLen=273, FAddrKeys=0x7fffe8165580, FAddrVals=0x7fffe8165690, FAddrLen=20, BitcodeData=0x257ae0 <llvm.embedded[module]+8>, BitcodeLen=3622916, DebugInfoFD=-1, DebugInfoPath=0x0) at src/ykllvmwrap.cc:450
#20 0x00007ffff7a7a0f8 in ykrt::compile::jitc_llvm::{impl#0}::compile (self=0x91d720, mt=..., irtrace=...) at ykrt/src/compile/jitc_llvm.rs:38
#21 0x00007ffff7a7ccad in ykrt::mt::{impl#0}::queue_compile_job::{closure#0} () at ykrt/src/mt.rs:397
#22 0x00007ffff7a63bce in core::ops::function::FnOnce::call_once<ykrt::mt::{impl#0}::queue_compile_job::{closure_env#0}, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/core/src/ops/function.rs:250
#23 0x00007ffff7a63928 in alloc::boxed::{impl#47}::call_once<(), (dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global> (self=..., args=()) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/alloc/src/boxed.rs:2007
#24 0x00007ffff7a830ab in lock_api::mutex::MutexGuard<parking_lot::raw_mutex::RawMutex, alloc::collections::vec_deque::VecDeque<alloc::boxed::Box<(dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global>, alloc::alloc::Global>>::unlocked<parking_lot::raw_mutex::RawMutex, alloc::collections::vec_deque::VecDeque<alloc::boxed::Box<(dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global>, alloc::alloc::Global>, alloc::boxed::Box<(dyn core::ops::function::FnOnce<(), Output=()> + core::marker::Send), alloc::alloc::Global>, ()> (s=0x7fffee59c9e0, f=...) at /home/pd/.cargo/registry/src/index.crates.io-6f17d22bba15001f/lock_api-0.4.10/src/mutex.rs:567
#25 0x00007ffff7a7b4d1 in ykrt::mt::{impl#0}::queue_job::{closure#0} () at ykrt/src/mt.rs:168
#26 0x00007ffff7a7d3b3 in std::sys_common::backtrace::__rust_begin_short_backtrace<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()> (f=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/sys_common/backtrace.rs:154
#27 0x00007ffff7a6a254 in std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/thread/mod.rs:529
#28 0x00007ffff7a6f424 in core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>> (self=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/core/src/panic/unwind_safe.rs:271
#29 0x00007ffff7a6ea77 in std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>>, ()> (data=0x7fffee59cb00) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/panicking.rs:526
#30 0x00007ffff7a6ecdb in __rust_try () from /home/pd/yk-fork/bin/../target/debug/deps/libykcapi.so
#31 0x00007ffff7a6e97e in std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>>> (f=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/panicking.rs:490
#32 0x00007ffff7a6a096 in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>>, ()> (f=...) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/panic.rs:142
#33 std::thread::{impl#0}::spawn_unchecked_::{closure#1}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/thread/mod.rs:528
#34 0x00007ffff7a63caf in core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#1}<ykrt::mt::{impl#0}::queue_job::{closure_env#0}, ()>, ()> () at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/core/src/ops/function.rs:250
#35 0x00007ffff7c801e5 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2007
#36 alloc::boxed::{impl#47}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2007
#37 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#38 0x00007ffff78a8044 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#39 0x00007ffff79285fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
|
I think I got to the bottom of this. They key is that this only happens when serialised compilation is turned off. What happens is that we try to compile a (longish) trace just before the end of the program. While one thread is busy compiling the trace, the lua program suddenly terminates. Presumably the cleanup happening when lua exits, destroys stuff the compiler depends on. You can verify this by adding prints to certain parts of function sleep(n)
os.execute("sleep " .. tonumber(n))
end
a = {}
for i=1,50000 do
a[i] = math.random()
end
table.sort(a, function(x,y) return y<x end)
sleep(2) |
This seems related to the general "the current JIT has bugs" things that will (one way or another) be bypassed, so closing. |
Issue
Failing to running yklua tests with
YKD_SERIALISE_COMPILATION=0
YkLua related Issues:
ykjit/yklua#43
ykjit/yklua#44
ykjit/yklua#46
ykjit/yklua#48
ykjit/yklua#52
Example of errors:
The text was updated successfully, but these errors were encountered: