Skip to content
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

Regression testing: Assertion `func->localIndices.size() == func->params.size()' failed. #1885

Closed
wcventure opened this issue Jan 23, 2019 · 3 comments

Comments

@wcventure
Copy link

Hi there,

We did a regression test on previous commits. And we still discovered an Assertion. This probelm was very different to found. Please use "./wasm2js $POC" to reproduce the error.
POC.zip

program output

Assertion `func->localIndices.size() == func->params.size()' failed.

We use the master branch for testing. Git log are shown as follow.

commit e63c4a7d04c145dafaf4b09de5f9f5de69cee8ef
Author: Alon Zakai <alonzakai@gmail.com>
Date:   Tue Jan 22 17:15:37 2019 -0800

    More misc ASAN fixes (#1882)

    * fix buffer overflow in simple_ast.h printing.
    * check wasm binary format reading of function export indexes for errors.
    * check if s-expr format imports have a non-empty module and base.

    Fixes #1876
    Fixes #1877
    Fixes #1879

Other fixes are very effective, and it's hard to find other problems. Thank you for attention!

@wcventure wcventure changed the title Assertion `func->localIndices.size() == func->params.size()' failed. Regression testing: Assertion `func->localIndices.size() == func->params.size()' failed. Jan 23, 2019
@kripken
Copy link
Member

kripken commented Jan 23, 2019

Thanks! Will be fixed in #1886

@wcventure
Copy link
Author

Some other different Assertion Fail. Please use "./wasm2js $POC" to reproduce the error.
AF.zip

binaryen/src/passes/I64ToI32Lowering.cpp:1608: wasm::I64ToI32Lowering::TempVar wasm::I64ToI32Lowering::fetchOutParam(wasm::Expression *): Assertion `outParamIt != highBitVars.end()' failed.
src/wasm-builder.h:263: wasm::Store *wasm::Builder::makeStore(unsigned int, uint32_t, unsigned int, wasm::Expression *, wasm::Expression *, wasm::Type): Assertion `isConcreteType(ret->value->type) ? ret->value->type == type : true' failed.
src/passes/I64ToI32Lowering.cpp:896: void wasm::I64ToI32Lowering::visitUnary(wasm::Unary *): Assertion `hasOutParam(curr->value) || curr->type == i64 || curr->type == f64' failed.

@kripken
Copy link
Member

kripken commented Jan 24, 2019

I think those are fixed with #1887

kripken added a commit that referenced this issue Jan 24, 2019
fixes bug reported in comment on e63c4a7 , #1885 (comment) , #1879 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants