-
Notifications
You must be signed in to change notification settings - Fork 161
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
Heavy use of CallWithTimeout makes GAP crash / produce wrong results #695
Comments
Crashes we should fix, if we can figure out how to reproduce them. Unpredictable wrong results are, unfortunately, always going to happen, and are I think may be an unfixable problem. I realise that's a scary-sounding thing to say! |
What code are you running to produce this behaviour? I have observed similar things last night but didn't get to investigate yet. I |
Running the current grplatt.tst test, waiting, and then hitting Ctrl-C
crashes my GAP.
|
For me, this occurred in a longer GAP session which is not easily reproducible. |
Looks like |
Yes, this is the message I also get when GAP crashes. A way to reproduce the crash is to run the
I don't know whether the error is triggered eventually if one waits long enough. |
I've found one issue -- on stats.c:164, we should set |
The documentation does say
|
The segfaulting is (hopefully) fixed in #698. Is actually a very small fix. This does introduce a different (tiny) bug -- if you press ctrl+c just as a timer goes off, the ctrl+c will get ignored. I'm just going to ignore that, because fixing it would be (I think) reasonably fiddly, and that is a much less serious issue to fix, particularly in stable. |
See #664 for a suggestion to phase out |
That’s a pity. It is no more dangerous than running the code and hitting ^C and then quit; which has always carried the risk of leaving your workspace in an inconsistent state, but I guess if you make it a programmable people will use it without being aware of it.
Steve
… On 16 Mar 2017, at 23:10, Max Horn ***@***.***> wrote:
See #664 for a suggestion to phase out CallWithTimeout again due to major issues with it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/gap-system/gap","title":"gap-system/gap","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in ***@***.*** in #695: See #664 for a suggestion to phase out `CallWithTimeout` again due to major issues with it."}],"action":{"name":"View Issue","url":"#695 (comment)"}}}
|
@Stefan-Kohl Have you tried using |
@Stefan-Kohl : But you realise, any answers you calculate when using |
As noted before, this is fundamentally hard to do, and the only way of doing this without completely rewriting GAP, is to use |
@markuspf What does "completely rewrite GAP" mean here? -- I would assume this concerns only the kernel, thus only a tiny part of the GAP system(?) |
@Stefan-Kohl : Could you try this replacement
|
@ChrisJefferson This seems to work -- thank you! |
@Stefan-Kohl : If you start using that, please rename the function. Just because I plan to add that function to |
It had fundamental problems which seem unlikely to be resolved. See also issues gap-system#664, gap-system#695, gap-system#765.
It had fundamental problems which seem unlikely to be resolved. See also issues gap-system#664, gap-system#695, gap-system#765.
It had fundamental problems which seem unlikely to be resolved. See also issues gap-system#664, gap-system#695, gap-system#765.
Resolved by #1324. |
In GAP 4.8.3, in sessions with heavy use of CallWithTimeout I observed the following:
These seem to happen only when making heavy use of CallWithTimeout, but I am
not sure under which precise circumstances they do. My guess is that sometimes
things are left in an inconsistent state when a timeout occurs.
The text was updated successfully, but these errors were encountered: