chakra-core / ChakraCore

ChakraCore is an open source Javascript engine with a C API.
MIT License
9.1k stars 1.19k forks source link

ASSERTION 453147: (ChakraCore/lib/Backend/FlowGraph.cpp, line 2078) this->func->IsLoopBodyInTry() #6949

Open anbu1024 opened 1 year ago

anbu1024 commented 1 year ago

ChakraCore version: commit c3ead3f

Build cmd:

./build.sh --debug --static

Test case:

function foo()
{   
    for (let i = 0; i < 16; i++) {
        try {
            const s = ~"__proto__";
            switch (s) {
                case s:
                    try {
                        break;
                    } 
                    finally {
                    }
                    break;
                default:
                    break;
            }
        } 
        catch(e) {
            ;
        }
    }
}

let i = 0;
while(i < 1024)
{
    foo();
    i++;
}

Execute

./ch ./test.js

Error msg:

ASSERTION 453147: (ChakraCore/lib/Backend/FlowGraph.cpp, line 2078) this->func->IsLoopBodyInTry()
 Failure: (this->func->IsLoopBodyInTry())
Illegal instruction (core dumped)