-
Notifications
You must be signed in to change notification settings - Fork 82
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
Not enough time between SIGTERM and SIGKILL #882
Comments
I just noticed that the MiniZinc manual describes the |
Does this still cause problems when you have MiniZinc does deduct the time spent on flattening if a solver configuration In addition, when a solver supports the I do think we can also increase the interval between I can't imagine that a solver should need more than 1 second to do any clean up - is that the case here? |
When
minizinc
is used with the-t
option, it sendsSIGTERM
after timeout and, about ~100ms later,SIGKILL
:In this case, the solver printed the solution and got killed in the further process of shutting down without finishing what it was supposed to do, namely to aggregate and print profiling metrics collected during search. The JVM loaded the classes and then ... boom.
So there is hardly any time for useful work apart from stopping the solver and printing the solution when optimizing, and even that might not always work.
I suggest to add one or both of the following timeout mechanisms:
Add a FlatZinc solver flag: If
-t
is supported according to the solver configuration, then launch the solver with whatever time is left after flattening and trust it to terminate after timeout.Extend the solver configuration with the Boolean property
terminatesOnInterrupt
: If set, sendSIGTERM
on timeout and trust the solver to terminate as quickly as possible.If none of the above is available, then use the existing mechanism.
The text was updated successfully, but these errors were encountered: