Skip to content

Crash in wasm-opt due to infinite recursion in GenerateStackIR::doWalkFunction #1903

@msorvig

Description

@msorvig

When running wasm-opt ./gui_opengl.wasm.pre -o ./gui_opengl.wasm -Os
Using binaryen version_55

Stack trace:

frame #0: 0x000000010000fbb8 wasm-optMixedArena::allocSpace(unsigned long, unsigned long) + 8
frame #1: 0x000000010014d74a wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitBlock(wasm::Block*) + 42 frame #2: 0x000000010014d8a3 wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitBlock(wasm::Block*) + 387
frame #3: 0x000000010014d8a3 wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitBlock(wasm::Block*) + 387 frame #4: 0x000000010014d8a3 wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitBlock(wasm::Block*) + 387`

...

frame #5447: 0x000000010014d8a3 wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitBlock(wasm::Block*) + 387
frame #5448: 0x000000010014d8a3 wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitBlock(wasm::Block*) + 387 frame #5449: 0x000000010014d491 wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitPossibleBlockContents(wasm::Expression*) + 177
frame #5450: 0x000000010014dc20 wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitLoop(wasm::Loop*) + 272 frame #5451: 0x000000010014d8a3 wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitBlock(wasm::Block*) + 387
frame #5452: 0x000000010014d8a3 wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitBlock(wasm::Block*) + 387 frame #5453: 0x000000010014d491 wasm-optwasm::StackWriter<(wasm::StackWriterMode)1, wasm::GenerateStackIR::doWalkFunction(wasm::Function*)::Parent>::visitPossibleBlockContents(wasm::Expression*) + 177
frame #5454: 0x000000010014d27b wasm-optwasm::GenerateStackIR::doWalkFunction(wasm::Function*) + 171 frame #5455: 0x000000010014b62d wasm-optwasm::WalkerPass<wasm::PostWalker<wasm::GenerateStackIR, wasm::Visitor<wasm::GenerateStackIR, void> > >::runOnFunction(wasm::PassRunner*, wasm::Module*, wasm::Function*) + 29
frame #5456: 0x000000010009bd0b wasm-optwasm::PassRunner::runPassOnFunction(wasm::Pass*, wasm::Function*) + 219 frame #5457: 0x000000010009c6de wasm-optstd::__1::__function::__func<wasm::PassRunner::run()::$_1::operator()() const::'lambda'(), std::__1::allocator<wasm::PassRunner::run()::$_1::operator()() const::'lambda'()>, wasm::ThreadWorkState ()>::operator()() + 110
frame #5458: 0x00000001002054c6 wasm-optwasm::Thread::mainLoop(void*) + 86 frame #5459: 0x00000001002062dc wasm-optvoid* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, void ()(void), wasm::Thread*> >(void*) + 44
frame #5460: 0x00007fff6659b305 libsystem_pthread.dylib_pthread_body + 126 frame #5461: 0x00007fff6659e26f libsystem_pthread.dylib_pthread_start + 70
frame #5462: 0x00007fff6659a415 libsystem_pthread.dylibthread_start + 13^C

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions