-
Notifications
You must be signed in to change notification settings - Fork 273
path-based symex throws map out of range error #2866
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
Oooh, thanks. I'll take a look over the weekend. |
@polgreen I'm going to try debugging this blindly, but I can't actually run CBMC on the binary that you linked to.
@tautschnig do you know what might be causing this? @polgreen would you mind checking what version of |
OK, can reproduce with int foo(int *x)
{
if(*x)
{
int y = 9;
}
else
{
int z = 4;
}
}
int main()
{
int x;
foo(&x);
} backtrace:
|
The map of safe pointers are now maintained separately for each path, ensuring that pointer accesses on one path do not influence a (lack of) pointer accesses on a different path. This commit fixes diffblue#2866, a segfault that would happen when running CBMC on the included regression test.
The map of safe pointers are now maintained separately for each path, ensuring that pointer accesses on one path do not influence a (lack of) pointer accesses on a different path. This commit fixes diffblue#2866, a segfault that would happen when running CBMC on the included regression test.
I think i compiled that binary with CBMC 5.10, which I guess would explain that? (think...I've got a lot of binaries and a lot of different versions of CBMC at the moment). |
The map of safe pointers is now maintained separately for each path, ensuring that pointer accesses on one path do not influence a (lack of) pointer accesses on a different path. This commit fixes diffblue#2866, a segfault that would happen when running CBMC on the included regression test.
Great, that was quick, thanks! It's been running for ~10 minutes and not thrown any exceptions, so I'd say that's fixed. I'll let you know if it finds a path. (pathsymex_test was a 5.10 binary, I can run your branch on it without any changes, so I'm running that instead of patching) Looks like some java library changes have snuck into the PR by accident? |
The map of safe pointers is now maintained separately for each path, ensuring that pointer accesses on one path do not influence a (lack of) pointer accesses on a different path. This commit fixes diffblue#2866, a segfault that would happen when running CBMC on the included regression test.
The map of safe pointers is now maintained separately for each path, ensuring that pointer accesses on one path do not influence a (lack of) pointer accesses on a different path. This commit fixes diffblue#2866, a segfault that would happen when running CBMC on the included regression test.
The map of safe pointers is now maintained separately for each path, ensuring that pointer accesses on one path do not influence a (lack of) pointer accesses on a different path. This commit fixes diffblue#2866, a segfault that would happen when running CBMC on the included regression test.
Yes, not sure why the submodule change got included in the patch; fixed now. Thanks for the report. |
The map of safe pointers is now maintained separately for each path, ensuring that pointer accesses on one path do not influence a (lack of) pointer accesses on a different path. This commit fixes diffblue#2866, a segfault that would happen when running CBMC on the included regression test.
The map of safe pointers is now maintained separately for each path, ensuring that pointer accesses on one path do not influence a (lack of) pointer accesses on a different path. This commit fixes diffblue#2866, a segfault that would happen when running CBMC on the included regression test.
The map of safe pointers is now maintained separately for each path, ensuring that pointer accesses on one path do not influence a (lack of) pointer accesses on a different path. This commit fixes diffblue#2866, a segfault that would happen when running CBMC on the included regression test.
The map of safe pointers is now maintained separately for each path, ensuring that pointer accesses on one path do not influence a (lack of) pointer accesses on a different path. This commit fixes diffblue#2866, a segfault that would happen when running CBMC on the included regression test.
Path based symex throws the following error with :
Stack trace
Binary:
https://s3.amazonaws.com/cbmc-public-bucket/pathsymex_test.binary
Command:
(Error is independent of whether fifo or lifo is used)
Maybe of interest to @karkhaz
The text was updated successfully, but these errors were encountered: