ykjit / yklua

yk-enabled Lua interpreter
4 stars 4 forks source link

Failing test - sort.lua #46

Open Pavel-Durov opened 1 year ago

Pavel-Durov commented 1 year ago

Issue

Getting "Floating point instructions are not supported yet" error when running sort.lua.

Steps to reproduce

$ YKD_SERIALISE_COMPILATION=0 try_repeat 1000 ../src/lua ./sort.lua
Floating point instructions are not supported yet:   %27 = call double @I2d(i64 noundef %24), !dbg !9444

$ YKD_SERIALISE_COMPILATION=1 try_repeat 1000 ../src/lua ./sort.lua
Floating point instructions are not supported yet:   %27 = call double @I2d(i64 noundef %24), !dbg !9444 

Versions:

YkLua - lua-tests/fac6e7e244d3a30366bb06b01c00d2462e901fbd Yk - master/a690e6eaf7253a4fa9c04bb54406c07b7efc0085

Pavel-Durov commented 1 year ago

After https://github.com/ykjit/yk/pull/830 change in YK we can probably run sorting now. Running resiliency test as validation:

YKD_SERIALISE_COMPILATION=1 try_repeat 100 ../src/lua -e"_U=true" sort.lua
ltratt commented 1 year ago

Running more tests is good!

Pavel-Durov commented 1 year ago

sort.lua don't work with with non-serialised compilation (master/73c7115b6ba4225d217db21c00c3dcbbfa46675b) Errors:

lua: /home/pd/yk-fork/ykllvm/llvm/lib/IR/Value.cpp:1101: void llvm::ValueHandleBase::RemoveFromUseList(): Assertion `*PrevPtr == this && "List invariant broken"' failed.
....
lua: /home/pd/yk-fork/ykllvm/llvm/lib/IR/Value.cpp:285: llvm::ValueName* llvm::Value::getValueName() const: Assertion `I != Ctx.pImpl->ValueNames.end() && "No name entry found!"' failed.
lua: /home/pd/yk-fork/ykllvm/llvm/lib/IR/Value.cpp:285: llvm::ValueName* llvm::Value::getValueName() const: Assertion `I != Ctx.pImpl->ValueNames.end() && "No name entry found!"' failed.
...
lua: /home/pd/yk-fork/ykllvm/llvm/include/llvm/ADT/ScopedHashTable.h:248: llvm::ScopedHashTableScope<K, V, KInfo, AllocatorTy>::~ScopedHashTableScope() [with K = llvm::MemoryLocation; V = unsigned int; KInfo = llvm::DenseMapInfo<llvm::MemoryLocation>; AllocatorTy = llvm::RecyclingAllocator<llvm::BumpPtrAllocatorImpl<>, llvm::ScopedHashTableVal<llvm::MemoryLocation, unsigned int> >]: Assertion `KeyEntry == ThisEntry && "Scope imbalance!"' failed.

Backtrace:

__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=0x7ffff5c75db8 "*PrevPtr == this && \"List invariant broken\"", file=file@entry=0x7ffff5c744f8 "/home/pd/yk-fork/ykllvm/llvm/lib/IR/Value.cpp", line=line@entry=1101, function=function@entry=0x7ffff5c75d30 "void llvm::ValueHandleBase::RemoveFromUseList()") at ./assert/assert.c:92
#5  0x00007ffff7853e32 in __GI___assert_fail (assertion=0x7ffff5c75db8 "*PrevPtr == this && \"List invariant broken\"", file=0x7ffff5c744f8 "/home/pd/yk-fork/ykllvm/llvm/lib/IR/Value.cpp", line=1101, function=0x7ffff5c75d30 "void llvm::ValueHandleBase::RemoveFromUseList()") at ./assert/assert.c:101
#6  0x00007ffff5aea588 in llvm::ValueHandleBase::RemoveFromUseList() () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#7  0x00007ffff3c8b9c6 in llvm::SmallDenseMap<llvm::AssertingVH<llvm::Value>, llvm::detail::DenseSetEmpty, 2u, llvm::DenseMapInfo<llvm::AssertingVH<llvm::Value>, void>, llvm::detail::DenseSetPair<llvm::AssertingVH<llvm::Value> > >::grow(unsigned int) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMAnalysis.so.16git
#8  0x00007ffff3c8bbd2 in AddNonNullPointer(llvm::Value*, llvm::SmallDenseSet<llvm::AssertingVH<llvm::Value>, 2u, llvm::DenseMapInfo<llvm::AssertingVH<llvm::Value>, void> >&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMAnalysis.so.16git
#9  0x00007ffff3c8c19e in (anonymous namespace)::LazyValueInfoImpl::intersectAssumeOrGuardBlockValueConstantRange(llvm::Value*, llvm::ValueLatticeElement&, llvm::Instruction*) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMAnalysis.so.16git
#10 0x00007ffff3c8c8d2 in (anonymous namespace)::LazyValueInfoImpl::getBlockValue(llvm::Value*, llvm::BasicBlock*, llvm::Instruction*) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMAnalysis.so.16git
#11 0x00007ffff3c8f852 in (anonymous namespace)::LazyValueInfoImpl::getValueInBlock(llvm::Value*, llvm::BasicBlock*, llvm::Instruction*) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMAnalysis.so.16git
#12 0x00007ffff3c8fbde in llvm::LazyValueInfo::getConstant(llvm::Value*, llvm::Instruction*) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMAnalysis.so.16git
#13 0x00007ffff30b0565 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 0x00007ffff30b16bb 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 0x00007ffff7beee98 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=0x7ffff7bf92d0 <createModule[abi:cxx11](llvm::Module*, char**, unsigned long*, unsigned long, char**, void**, unsigned long)>, FuncNames=0x7fffe00085c0, BBs=0x7fffe00090e0, TraceLen=354, FAddrKeys=0x7fffe0004b80, FAddrVals=0x7fffe0004c10, FAddrLen=15, BitcodeData=0x2579b0 <llvm.embedded[module]+8>, BitcodeLen=3622780, DebugInfoFD=-1, DebugInfoPath=0x0) at src/ykllvmwrap.cc:432
#19 0x00007ffff7beecae in __yktracec_irtrace_compile (FuncNames=0x7fffe00085c0, BBs=0x7fffe00090e0, TraceLen=354, FAddrKeys=0x7fffe0004b80, FAddrVals=0x7fffe0004c10, FAddrLen=15, BitcodeData=0x2579b0 <llvm.embedded[module]+8>, BitcodeLen=3622780, DebugInfoFD=-1, DebugInfoPath=0x0) at src/ykllvmwrap.cc:450
#20 0x00007ffff7a9d528 in ykrt::compile::jitc_llvm::{impl#0}::compile (self=0x91d720, mt=..., irtrace=...) at ykrt/src/compile/jitc_llvm.rs:38
#21 0x00007ffff7a8fe2d in ykrt::mt::{impl#0}::queue_compile_job::{closure#0} () at ykrt/src/mt.rs:397
#22 0x00007ffff7a5cbbe 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 0x00007ffff7a8c888 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 0x00007ffff7a780fb 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=0x7fffedc9a9e0, f=...) at /home/pd/.cargo/registry/src/index.crates.io-6f17d22bba15001f/lock_api-0.4.10/src/mutex.rs:567
#25 0x00007ffff7a8e651 in ykrt::mt::{impl#0}::queue_job::{closure#0} () at ykrt/src/mt.rs:168
#26 0x00007ffff7a9ae33 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 0x00007ffff7a89a04 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 0x00007ffff7a959b4 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 0x00007ffff7a87297 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=0x7fffedc9ab00) at /rustc/8142a319ed5c1d1f96e5a1881a6546e463b77c8f/library/std/src/panicking.rs:526
#30 0x00007ffff7a8758b in __rust_try () from /home/pd/yk-fork/bin/../target/debug/deps/libykcapi.so
#31 0x00007ffff7a8712e 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 0x00007ffff7a89846 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 0x00007ffff7a5cb0f 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 0x00007ffff7c7ee55 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
Pavel-Durov commented 1 year ago

Minimal reproducible example of sort.lua:

a = {}
for i=1,50000 do
  a[i] = math.random()
end

table.sort(a, function(x,y) return y<x end)

Backtrace:

 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 2450185)]
[Thread 0x7fffee59d6c0 (LWP 2450185) exited]
[New Thread 0x7fffee59d6c0 (LWP 2450186)]
lua: /home/pd/yk-fork/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 2450186)]
__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 "/home/pd/yk-fork/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 "/home/pd/yk-fork/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 /home/pd/yk-fork/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 /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#8  0x00007ffff4f33baf in llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(llvm::SelectionDAGBuilder::StatepointLoweringInfo&) () from /home/pd/yk-fork/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 /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#10 0x00007ffff4f36826 in llvm::SelectionDAGBuilder::LowerDeoptimizeCall(llvm::CallInst const*) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#11 0x00007ffff4e6535f in llvm::SelectionDAGBuilder::visitIntrinsicCall(llvm::CallInst const&, unsigned int) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#12 0x00007ffff4e9c290 in llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) () from /home/pd/yk-fork/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 /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#14 0x00007ffff4f21980 in llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#15 0x00007ffff4f237ff in llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) [clone .part.0] () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMSelectionDAG.so.16git
#16 0x00007ffff6f836a5 in (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMX86CodeGen.so.16git
#17 0x00007ffff456da9b in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) [clone .part.0] () from /home/pd/yk-fork/target/debug/ykllvm/lib/../lib/libLLVMCodeGen.so.16git
#18 0x00007ffff5a67570 in llvm::FPPassManager::runOnFunction(llvm::Function&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#19 0x00007ffff5a676b1 in llvm::FPPassManager::runOnModule(llvm::Module&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#20 0x00007ffff5a67f77 in llvm::legacy::PassManagerImpl::run(llvm::Module&) () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMCore.so.16git
#21 0x00007ffff7df49bf in llvm::MCJIT::emitObject(llvm::Module*) () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMMCJIT.so.16git
#22 0x00007ffff7df5282 in llvm::MCJIT::generateCodeForModule(llvm::Module*) () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMMCJIT.so.16git
#23 0x00007ffff7def504 in llvm::MCJIT::finalizeObject() () from /home/pd/yk-fork/target/debug/ykllvm/lib/libLLVMMCJIT.so.16git
#24 0x00007ffff7bedcc1 in compileModule (TraceName="__yk_compiled_trace_0", M=0x7fffe8172650, GlobalMappings=std::map with 3 elements = {...}, LiveAOTVals=0x7fffeab31480, 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=0x7fffe8089a70, BBs=0x7fffe808a2e0, TraceLen=268, FAddrKeys=0x7fffe808ad10, FAddrVals=0x7fffe808ae20, 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=0x7fffe8089a70, BBs=0x7fffe808a2e0, TraceLen=268, FAddrKeys=0x7fffe808ad10, FAddrVals=0x7fffe808ae20, 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 /home/pd/yk-fork/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
Pavel-Durov commented 1 year ago

Update

ERROR - YKD_SERIALISE_COMPILATION=0

Versions

YKLUA - main/810108764e996d727442d6984f7a8318155a08c8 YK - master/a6613631e8e13cfe3ba4cc8ee24df6517831fd6c

Backtrace

Same as before