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

Fatal Error when step limit reached #1244

Open
claudemarche opened this issue Oct 3, 2024 · 4 comments
Open

Fatal Error when step limit reached #1244

claudemarche opened this issue Oct 3, 2024 · 4 comments
Labels
bug decysif Related to DéCySif

Comments

@claudemarche
Copy link
Collaborator

When Alt-Ergo reaches the given step bound, an uncaught exception is signaled. It is desirable to display a proper information message and not an error message, this is a perfectly expected potential answer. For example, a SMTLIB-style message

unknown (RESOURCEOUT)

would be perfect. Moreover: we want the prover to continue, and answer to the next query, that could be for example

(get-model)

and get a potential model. I attach a reproducer. Here is the output I get with Alt-Ergo 2.6.0:

$ alt-ergo --steps-bound=10 ae-fatal-error-step-limit.psmt2
Fatal error: exception AltErgoLib.Util.Step_limit_reached(10)
@claudemarche
Copy link
Collaborator Author

I would like to put a label "Décysif" on such an issue. Why am I not allowed to put labels on issues?

@bclement-ocp bclement-ocp added the decysif Related to DéCySif label Oct 3, 2024
@bclement-ocp
Copy link
Collaborator

This should have been fixed in #936 but seems we re-introduced the issue.

I am not sure why you can't add labels; I think this needs you to have the "Triage" permission but it does not appear in the list of possible permissions… I gave you "Read" access to the repo in case it would allow me to upgrade to "Triage" but that does not seem possible either. I have added the "decysif" label for this one.

@claudemarche
Copy link
Collaborator Author

I still can't modify labels. Never mind, it is not important.

bclement-ocp added a commit to bclement-ocp/alt-ergo that referenced this issue Oct 3, 2024
This is a partial fix for OCamlPro#1244 that only addresses the fatal error
issue, but not incrementality.
@bclement-ocp
Copy link
Collaborator

Turns out the fix in #936 only applies if the step limit is reached while processing an assertion, not while processing (check-sat).

Moreover: we want the prover to continue, and answer to the next query, that could be for example

The current semantics of the step limit is that it is a global limit; we only support a per-goal time limit, so any further queries would immediately return unknown as well. We also are currently not able to provide a model after the step limit is reached because the required internal state is thrown away (the step limit is internally implemented as an exception).

The steps limit mechanism was designed when Alt-Ergo supported neither incremental queries nor model generation, and it seems clear that the implementation is no longer satisfactory. I have a fix ( #1245 ) to avoid returning a fatal error; fixing the rest of the issue w.r.t incrementality and model generation after a timeout will require more work.

bclement-ocp added a commit that referenced this issue Oct 7, 2024
This is a partial fix for #1244 that only addresses the fatal error
issue, but not incrementality.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug decysif Related to DéCySif
Projects
None yet
Development

No branches or pull requests

2 participants