Open
Description
ChakraCore Version
Steps to reproduce
The code will crash in debug builds.
Proof of concept
async function test() {
var i8 = new Int8Array(256);
var IntArr0 = [];
for (var _strvar1 of i8) {
for (var _strvar1 of IntArr0) {}
}
}
test();
Exception or Error
ASSERTION 2355039: (/home/yijan/Tools/ChakraCore/lib/Backend/IRBuilder.cpp, line 7076) !this->handlerOffsetStack->Empty()
Failure: (!this->handlerOffsetStack->Empty())
fish: Job 1, '/home/yijan/Tools/ChakraCore/ou…' terminated by signal SIGILL (Illegal instruction)
Additional Context
Stack trace:
#0 0x0000555556b71cf7 in IRBuilder::BuildEmpty (this=0x7ff7f2ffeb88, newOpcode=Js::OpCode::Finally, offset=328) at /home/yijan/Tools/ChakraCore/lib/Backend/IRBuilder.cpp:7076
#1 0x0000555556b6d4cc in IRBuilder::Build (this=0x7ff7f2ffeb88) at /home/yijan/Tools/ChakraCore/lib/Backend/../Runtime/ByteCode/LayoutTypes.h:46
#2 0x0000555556a8bf1d in Func::TryCodegen (this=0x7ff7f2ffeff0) at /home/yijan/Tools/ChakraCore/lib/Backend/Func.cpp:422
#3 0x0000555556a8b9e6 in Func::Codegen (alloc=0x7ff7f2fff588, workItem=0x7ffff59e2030, threadContextInfo=0x5555574cc498, scriptContextInfo=0x5555574fe258, outputData=0x7ff7f2fff9c0, epInfo=0x7ffff7aa3180,
runtimeInfo=0x0, polymorphicInlineCacheInfo=0x7ffff77a68a0, codeGenAllocators=0x5555575028b8, codeGenProfiler=0x0, isBackgroundJIT=true) at /home/yijan/Tools/ChakraCore/lib/Backend/Func.cpp:325
#4 0x000055555689e2ab in NativeCodeGenerator::CodeGen (this=0x5555574ffa28, pageAllocator=0x555557500fc8, workItemData=0x555557518e80, jitWriteData=..., foreground=false, epInfo=0x7ffff7aa3180)
at /home/yijan/Tools/ChakraCore/lib/Backend/NativeCodeGenerator.cpp:895
#5 0x000055555689fee2 in NativeCodeGenerator::CodeGen (this=0x5555574ffa28, pageAllocator=0x555557500fc8, workItem=0x555557518e58, foreground=false)
at /home/yijan/Tools/ChakraCore/lib/Backend/NativeCodeGenerator.cpp:1012
#6 0x00005555568a2bde in NativeCodeGenerator::Process (this=0x5555574ffa28, job=0x555557518e60, threadData=0x555557500fa8) at /home/yijan/Tools/ChakraCore/lib/Backend/NativeCodeGenerator.cpp:1900
#7 0x0000555556947b04 in JsUtil::BackgroundJobProcessor::Process (this=0x5555574ffba8, job=0x555557518e60, threadData=0x555557500fa8) at /home/yijan/Tools/ChakraCore/lib/Common/Common/Jobs.cpp:1037
#8 0x00005555569480a7 in JsUtil::BackgroundJobProcessor::Run (this=0x5555574ffba8, threadData=0x555557500fa8) at /home/yijan/Tools/ChakraCore/lib/Common/Common/Jobs.cpp:1135
#9 0x000055555694580b in JsUtil::BackgroundJobProcessor::StaticThreadProc (lpParam=0x555557500fa8) at /home/yijan/Tools/ChakraCore/lib/Common/Common/Jobs.cpp:1319
#10 0x000055555582a0c1 in CorUnix::CPalThread::ThreadEntry (pvParam=0x5555575013a0) at /home/yijan/Tools/ChakraCore/pal/src/thread/pal_thread.cpp:1554
#11 0x00007ffff789caa4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#12 0x00007ffff7929c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78