-
Notifications
You must be signed in to change notification settings - Fork 274
goto-instrument --interpreter appears to be broken #3146
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
Comments
Oh wow, this looks scary 😱 |
I would suggest some unit tests for sparse vector and a review of how the interpreter is using it. |
Can people with insight into TG maybe comment on this? I thought the interpreter was in use quite a bit. |
If the reason for the invariant is that some elements in the vector may end up out of range then we could simply erase them:
We use the sparse vector to simulate a memory map, resizing it to 1 when initializing the interpreter. Erasing the out-of-scope elements shouldn't cause any problem in this case. In the other (two) uses we indeed only resize up and the invariant is valid. Maybe resizing to 1 should be handled as a special case (a different method) in which the whole vector is erased. The resizing could then retain the invariant. |
This was fixed in #2289. |
Uh oh!
There was an error while loading. Please reload this page.
CBMC version: 5.10 (cbmc-5.10-970-g7905492ff-dirty) (although I've checked, and this already happened in 4.9)
Operating system: Linux
Exact command line resulting in the issue:
What behaviour did you expect: Should interpret the program with no error
What happened instead: Hit an invariant in the interpreter
The text was updated successfully, but these errors were encountered: