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

ast.hh:198: T* MiniZinc::Expression::cast() [with T = MiniZinc::VarDecl]: Assertion `isa<T>()' failed. #77

Closed
einarjohan opened this Issue Jan 18, 2016 · 1 comment

Comments

Projects
None yet
2 participants
@einarjohan

einarjohan commented Jan 18, 2016

When running the attached model with -Dmeh_par=9740, the following assertion is triggered:

libminizinc/include/minizinc/ast.hh:198: 
T* MiniZinc::Expression::cast() [with T = MiniZinc::VarDecl]: Assertion `isa<T>()' failed.

This was originally found in a quite large and complex model, that I've since tried to trim down to as small an example as I could. Sadly the length of variable-names seems to have an effect on this issue, thus it was not trivial to make a trivial test. Adding or removing a few variables will of course imply that the relevant -D-parameter may need a slight adjustment.

(Files had to be renamed to .txt for GitHub to allow them).
huge_array.mzn.txt
model.mzn.txt

@guidotack

This comment has been minimized.

Member

guidotack commented Jan 18, 2016

Thanks for the bug report. This was a garbage collection problem, I've fixed it in the develop branch. If you want to apply the fix to your working copy and you're not up to date with develop, just add a line GCLock lock; in flatten.cpp, right before the definition of class OV1 : public ItemVisitor.

@guidotack guidotack closed this in f1c74b2 Nov 16, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment