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

saw abort override #334

Closed
I-am-Batman opened this issue Dec 12, 2018 · 4 comments
Closed

saw abort override #334

I-am-Batman opened this issue Dec 12, 2018 · 4 comments

Comments

@I-am-Batman
Copy link

When applying an override, I get this message a number of times. However, since the proof eventually succeeds, it seems like the override is in fact being applied -- removing the overrides makes saw spin for longer than I care to wait)

Are the overrides being applied? Maybe only sometimes? If not, how can I tell what the issue is? debugging flags maybe?

...
Abort due to false assumption:
  no override specification applies for add_round_key
  in overrideBranches at verify_aes/aes_cipher.saw:183:22
  When calling overrideBranches
  When calling add_round_key
  In aes_cipher at internal
...
Symbolic simulation completed with side conditions.
Proof succeeded! aes_cipher
@WeeknightMVP
Copy link

As of 7c58270, saw-script/examples/llvm/dotprod_struct-crucible.saw behaves likewise:

> saw dotprod_struct-crucible.saw
Loading file "saw-script/examples/llvm/dotprod_struct-crucible.saw"
Proof succeeded! dotprod_struct
Registering override for `dotprod_struct`
Abort due to false assumption:
  no override specification applies for dotprod_struct
  in overrideBranches at saw-script/examples/llvm/dotprod_struct-crucible.saw:30:1
  When calling overrideBranches
  When calling dotprod_struct
  In dotprod_wrap at internal
Symbolic simulation completed with side conditions.
Proof succeeded! dotprod_wrap

@robdockins
Copy link
Contributor

This is entirely a UI problem. The SAW frontend is reporting path abort conditions that occur even in cases where we can later prove that the speculative branch of execution is impossible. This new message is occurring because we recently reengineered the way that overrides are selected.

The fix for this is to avoid reporting spurious abort messages. It shouldn't be hard; I'll look into it.

@robdockins
Copy link
Contributor

As a workaround, you can silence these options by lowering the "simulator" verbosity to 0 (using option -d 0). I've increased the required crucible verbosity to see these messages to 3, so at some point when that update gets pulled into saw, these messages will be silenced unless requested by a high verbosity setting.

@robdockins
Copy link
Contributor

The change regarding verbosity levels has now propagated into master saw-script.

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

No branches or pull requests

3 participants