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

Large models crash hyst #6

Open
ttj opened this issue Oct 24, 2015 · 2 comments
Open

Large models crash hyst #6

ttj opened this issue Oct 24, 2015 · 2 comments
Labels

Comments

@ttj
Copy link
Contributor

ttj commented Oct 24, 2015

Large models may crash Hyst due to a stackoverflow in the grammar/parser.

Example model has hundreds of variables. Apparently github is stupid and won't let you upload plain text files without .txt extension....

iss_full_model.cfg.txt
iss_full_model.xml.txt

Possible fix is here:

http://stackoverflow.com/questions/26062730/antlr4-throws-java-lang-stackoverflowerror-on-longer-files

@ttj ttj added the bug label Oct 24, 2015
@stanleybak
Copy link
Contributor

Is it the expression parser that's throwing the error? If so, we might be able to just add a unit test with the long expression that causes the problem.

@ttj
Copy link
Contributor Author

ttj commented Oct 25, 2015

It seems to be the config parser, particularly the initial condition parsing (which is an expression), after I debugged some. The overflow starts from:

https://github.com/LuanVietNguyen/hyst/blob/master/src/java/de/uni_freiburg/informatik/swt/spaxeexxmlreader/SpaceExXMLReader.java#L122

I created a test related for the flows and invariants, both of which passed:

https://github.com/LuanVietNguyen/hyst/blob/master/src/java/com/verivital/hyst/junit/SmallTest.java#L70

The original file had newlines, so I got rid of those in case they were creating extra tokens, but that didn't work.

I'll try to debug the init condition parser more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants