-
Notifications
You must be signed in to change notification settings - Fork 123
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
REPL evaluation doesn't work after interrupting prover with Ctrl-C #1167
Comments
I guess we need to be more clever about restarting the type-checking solver. Bummer, that's going to be a bit trickier. |
This maybe related to something I'm working on right now in What4, where solver cleanup doesn't handle a closed solver process; I'll update this issue once I've completed that work to determine if that affects this issue. |
There is a typechecking solver session running alongside that may be the issue. There is supposed to be code to restart this as needed, but perhaps that is not working correctly. Consider maybe starting the solver in a different process group, checking the ctlc_delegate flag, verifying cleanup actions aren't attempted after the process exits, and catching the exception. |
An acceptable behavior would be for Ctrl-C to cause all external prover processes to be killed and restarted. |
Just to add some color to this, I expected that a45072d would basically do what Brian is asking for here (reset the solver on Ctrl-C). I don't understand why this handler isn't being called in this instance. |
This is a bit old, but I am adding the link here in case it contains something relevant: |
Whelp, CTRL^C now appears to drop you out of the REPL altogether. I haven't checked yet, but I suspect this follows the merge of #1225. |
@robdockins what did you do exactly? I can't seem to get ctrl-c to do anything odd, at least on my Linux machine running bash. I tried I wonder if there is a platform specific difference we are encountering. |
I stopped a computation during a I guess it could be platform-specific differences... sigh |
A little testing demonstrates that it only seems to happen when |
This seems very closely related to #1157. Since #1158, cryptol can continue gracefully after a Ctrl-C during evaluation or while waiting for input. But the REPL still gets into a bad state if you interrupt it during a long-running
:prove
command. This example reliably causes a "resource vanished" error for me on MacOS:The text was updated successfully, but these errors were encountered: