-
-
Notifications
You must be signed in to change notification settings - Fork 567
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
make doc-html sometimes hangs after having finished #10163
Comments
This comment has been minimized.
This comment has been minimized.
Changed keywords from none to build Makefile |
comment:2
This might be due to NFS (I know it happened on sage.math.washington.edu but I can't remember whether it ever happened on other machines). |
comment:3
I am getting more and more convinced that this is an NFS issue, so proposal to close this ticket as invalid. |
comment:4
Just because NFS triggers it doesn't necessarily mean that its not a bug in Sage. I've never seen this issue, but then I never use high-latency filesystems. Can you run strace/gdb on the stuck process if you see it again? (use -p to attach to existing pid) |
This comment has been minimized.
This comment has been minimized.
comment:6
Should there be some timeout setting in sage-cleaner? If it has to wait too long, exit but print a warning message that there may be some stray processes which should be killed by hand? |
comment:7
No the sage cleaner needs to stick around for as long as Sage is running. There might be a computation running that, after a long while, does a big |
comment:8
Does |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:12
Can you also add the content of |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:14
It seems to have pulled itself through after a while. Don't know why... |
comment:15
Replying to @vbraun:
What do mean with "empty"? Does this mean that, if I have 10 copies of Sage running, the Sage cleaner will only exit if all those 10 copies of Sage exit? |
comment:16
I think so. Its purpose is to delete the |
comment:17
Replying to @vbraun:
This is probably because of file descriptors being open. |
comment:25
|
comment:26
Frustrating that it is hard to reproduce: |
comment:27
This is
Note the line "import sage.all". Perhaps this can sometimes (indirectly) run |
comment:28
I don't see how the import sage.all could start sage-cleaner. If you can reproduce the problem, how about you strace the docbuild process? Then it would be easy to find out which child process starts the cleaner. |
comment:29
Replying to @vbraun:
That's precisely the problem, it must be some weird race-condition. |
comment:30
I found a way to reproduce it: when |
comment:31
It is indeed the line |
Attachment: 10163_debug_sage_cleaner.patch.gz STOP all processes when sage-cleaner is run, do not apply |
comment:32
|
comment:33
But why does make hang until the cleaner exits? The sage-cleaner process is already orphaned, so nobody should be waiting for it. Did you strace the hanging make process? I would tend to think that it is a good thing that the sage-cleaner is started. |
comment:34
This reproduces the problem:
What happens here is that we start from a clean |
Attachment: 10163_sage_cleaner.patch.gz |
This comment has been minimized.
This comment has been minimized.
Author: Jeroen Demeyer |
comment:36
The problem was dangling file descriptors. This patch fixes the problem for me. |
comment:37
Hmm maybe sage-cleaner should close its stdout/stderr instead of hoping that all instances that call it do. But then that would make it annoying to debug the cleaner... In any case, the patch looks good to me. |
Reviewer: Volker Braun |
comment:38
Replying to @vbraun:
Exactly, that's what I was also thinking. |
Changed keywords from build Makefile to build Makefile sage-cleaner |
Changed keywords from build Makefile sage-cleaner to build Makefile sage-cleaner cleaner |
comment:40
We had similar problems with (e.g.) Killing the orphans the shell prompt returned. |
Merged: sage-4.7.2.alpha4 |
The following is a non-reproducible problem, but it happened several times.
When building the Sage documentation using
it can happen that
make
simply hangs forever after the messagePressing CTRL-C at this point gives
Here is a
ps
snapshot of a situation where it happened:Note the orphaned
sage-cleaner
process with the same session ID asmake doc-html
.If it matters:
Apply attachment: 10163_sage_cleaner.patch
Component: build
Keywords: build Makefile sage-cleaner cleaner
Author: Jeroen Demeyer
Reviewer: Volker Braun
Merged: sage-4.7.2.alpha4
Issue created by migration from https://trac.sagemath.org/ticket/10163
The text was updated successfully, but these errors were encountered: