-
Notifications
You must be signed in to change notification settings - Fork 96
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
Add option --stack-trace
to print the stack trace of a failure
#3681
Labels
[C] Feature / Enhancement
A new feature request or enhancement to an existing feature.
[E] User Experience
An UX enhancement for an existing feature. Including deprecation of an existing one.
Comments
celinval
added
the
[C] Feature / Enhancement
A new feature request or enhancement to an existing feature.
label
Nov 4, 2024
BTW, here is the stack trace I got back:
|
celinval
added
the
[E] User Experience
An UX enhancement for an existing feature. Including deprecation of an existing one.
label
Nov 4, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
[C] Feature / Enhancement
A new feature request or enhancement to an existing feature.
[E] User Experience
An UX enhancement for an existing feature. Including deprecation of an existing one.
Requested feature: Enable Kani to print stack traces when a failure occur
Use case: Debugging failures can be very painful, especially for things that cannot be easily reproduced with concrete playback or very generic errors such as
unwrap() on None value
. Providing a stack trace of a failure can really help narrow down the exact location of a failure.Test case: Debugging the following harness from this PR:
I was getting the following failure:
This is pointing to the
#[modifies]
clause in the contract, which is the following:Concrete playback wouldn't help me in this one since the modifies clause is an artifact of contract checking. The failure is also very CBMC instrumentation specific, which doesn't help at all. I tried the trace / visualize, but I got a trace with over 3000 steps. 😞
The best way I found to narrow this down was to use the
--stack-trace
option from CBMC, however, the trace is all mangled and hard to parse. It would be fantastic if Kani could provide a more user friendly trace here.The text was updated successfully, but these errors were encountered: