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

Discuss how to report internal tool errors #93

Open
viper-admin opened this issue Sep 25, 2017 · 1 comment
Open

Discuss how to report internal tool errors #93

viper-admin opened this issue Sep 25, 2017 · 1 comment

Comments

@viper-admin
Copy link
Member

Created by @mschwerhoff on 2017-09-25 10:00
Last updated on 2017-09-25 10:12

Silicon and Carbon sometimes report internal errors, e.g. because the interaction with Z3 or Boogie didn't go as expected, or because a runtime assertion was violated. Tool users should be informed about the internal error; however, there are a few things to keep in mind:

  • The reported error message should, by default, be concise and not display (too many) internals, e.g. the stack trace corresponding to the failed runtime assertion or Boogie's raw output
  • The error message should nevertheless hint at the underlying problem. In particular in the case of failing interaction with Z3 or Boogie, in which case an experienced user might be able to overcome the problem, e.g. because of insufficient OS permissions to access an executable file or because the installed Z3 version has a known bug and needs to be updated.
  • Providing helpful information (to non-developers) in the case of an internal runtime violation is typically not possible and the corresponding error message should thus be concise and rather generic. However, it should be possible to obtain further information (such as a stack trace), e.g. by setting a configuration option of the tool or the IDE. This can again be useful for experienced users.
@viper-admin
Copy link
Member Author

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

No branches or pull requests

1 participant