#8677: Race condition creating dirs during Sage build
-------------------------------------------+--------------------------------
Reporter: GeorgSWeber | Owner: GeorgSWeber
Type: defect | Status: positive_review
Priority: blocker | Milestone: sage-4.6
Component: build | Keywords:
Author: Volker Braun, William Stein | Upstream: N/A
Reviewer: Volker Braun, Mitesh Patel | Merged:
Work_issues: |
-------------------------------------------+--------------------------------
Changes (by newvalueoldvalue):
* status: needs_review => positive_review
* reviewer: => Volker Braun, Mitesh Patel
* author: William Stein => Volker Braun, William Stein
Old description:
> In a recent thread: http://groups.google.com/group/sage-
> devel/browse_thread/thread/97f1e17019caf2d0# it was reported, that "
> sage 4.3.5 won't build on Red Hat Enterprise Linux 5.4: File exists:
> '/usr/local_machine/sage-4.3.5/local//lib/python/site-
> packages//sage/structure' " The partial log output was:
>
> {{{
> python `which cython` --embed-positions --directive cdivision=True
> -I/usr/local_machine/sage-4.3.5/devel/sage-main -o sage/stats/hmm/chmm.c
> sage/stats/hmm/chmm.pyx
> sage/stats/hmm/chmm.pyx -->
> /usr/local_machine/sage-4.3.5/local//lib/python/site-
> packages//sage/stats/hmm/chmm.pyx
> python `which cython` --embed-positions --directive cdivision=True
> -I/usr/local_machine/sage-4.3.5/devel/sage-main -o
> sage/structure/coerce_dict.c sage/structure/coerce_dict.pyx
> sage/structure/coerce_dict.pyx -->
> /usr/local_machine/sage-4.3.5/local//lib/python/site-
> packages//sage/structure/coerce_dict.pyx
> python `which cython` --emTraceback (most recent call last):
> File "setup.py", line 754, in <module>
> execute_list_of_commands(queue)
> File "setup.py", line 250, in execute_list_of_commands
> execute_list_of_commands_in_parallel(command_list, nthreads)
> File "setup.py", line 191, in execute_list_of_commands_in_parallel
> for r in p.imap(apply_pair, command_list):
> File
> "/usr/local_machine/sage-4.3.5/local/lib/python/multiprocessing/pool.py",
> line 520, in next
> raise value
> OSError: [Errno 17] File exists:
> '/usr/local_machine/sage-4.3.5/local//lib/python/site-
> packages//sage/structure'
> sage: There was an error installing modified sage library code.
>
> ERROR installing SAGE
>
> real 1m56.499s
> user 8m27.884s
> sys 0m19.321s
> sage: An error occurred while installing sage-4.3.5
> Please email sage-devel http://groups.google.com/group/sage-devel
> explaining the problem and send the relevant part of
> of /usr/local_machine/sage-4.3.5/install.log. Describe your computer,
> operating system, etc.
> If you want to try to fix the problem yourself, *don't* just cd to
> /usr/local_machine/sage-4.3.5/spkg/build/sage-4.3.5 and type 'make
> check' or whatever is appropriate.
> Instead, the following commands setup all environment variables
> correctly and load a subshell for you to debug the error:
> (cd '/usr/local_machine/sage-4.3.5/spkg/build/sage-4.3.5' &&
> '/usr/local_machine/sage-4.3.5/sage' -sh)
> When you are done debugging, you can type "exit" to leave the
> subshell.
> make[1]: *** [installed/sage-4.3.5] Error 1
> make[1]: Leaving directory `/usr/local_machine/sage-4.3.5/spkg'
>
> real 59m35.961s
> user 64m50.926s
> sys 11m16.115s
> Error building Sage.
> warning:
> /usr/local_machine/sage-4.3.5/devel/sage-
> main/sage/structure/parent_base.pyx:63:4:
> Overriding cdef method with def method.
> warning:
> /usr/local_machine/sage-4.3.5/devel/sage-
> main/sage/structure/parent.pyx:118:4:
> dict already a builtin Cython type
> }}}
> My suspicion is, that the reason is some race condition in checking,
> whether during the build some directory has to be newly added, or already
> exists.
New description:
In a recent thread: http://groups.google.com/group/sage-
devel/browse_thread/thread/97f1e17019caf2d0# it was reported, that " sage
4.3.5 won't build on Red Hat Enterprise Linux 5.4: File exists:
'/usr/local_machine/sage-4.3.5/local//lib/python/site-
packages//sage/structure' " The partial log output was:
{{{
python `which cython` --embed-positions --directive cdivision=True
-I/usr/local_machine/sage-4.3.5/devel/sage-main -o sage/stats/hmm/chmm.c
sage/stats/hmm/chmm.pyx
sage/stats/hmm/chmm.pyx -->
/usr/local_machine/sage-4.3.5/local//lib/python/site-
packages//sage/stats/hmm/chmm.pyx
python `which cython` --embed-positions --directive cdivision=True
-I/usr/local_machine/sage-4.3.5/devel/sage-main -o
sage/structure/coerce_dict.c sage/structure/coerce_dict.pyx
sage/structure/coerce_dict.pyx -->
/usr/local_machine/sage-4.3.5/local//lib/python/site-
packages//sage/structure/coerce_dict.pyx
python `which cython` --emTraceback (most recent call last):
File "setup.py", line 754, in <module>
execute_list_of_commands(queue)
File "setup.py", line 250, in execute_list_of_commands
execute_list_of_commands_in_parallel(command_list, nthreads)
File "setup.py", line 191, in execute_list_of_commands_in_parallel
for r in p.imap(apply_pair, command_list):
File
"/usr/local_machine/sage-4.3.5/local/lib/python/multiprocessing/pool.py",
line 520, in next
raise value
OSError: [Errno 17] File exists:
'/usr/local_machine/sage-4.3.5/local//lib/python/site-
packages//sage/structure'
sage: There was an error installing modified sage library code.
ERROR installing SAGE
real 1m56.499s
user 8m27.884s
sys 0m19.321s
sage: An error occurred while installing sage-4.3.5
Please email sage-devel http://groups.google.com/group/sage-devel
explaining the problem and send the relevant part of
of /usr/local_machine/sage-4.3.5/install.log. Describe your computer,
operating system, etc.
If you want to try to fix the problem yourself, *don't* just cd to
/usr/local_machine/sage-4.3.5/spkg/build/sage-4.3.5 and type 'make
check' or whatever is appropriate.
Instead, the following commands setup all environment variables
correctly and load a subshell for you to debug the error:
(cd '/usr/local_machine/sage-4.3.5/spkg/build/sage-4.3.5' &&
'/usr/local_machine/sage-4.3.5/sage' -sh)
When you are done debugging, you can type "exit" to leave the
subshell.
make[1]: *** [installed/sage-4.3.5] Error 1
make[1]: Leaving directory `/usr/local_machine/sage-4.3.5/spkg'
real 59m35.961s
user 64m50.926s
sys 11m16.115s
Error building Sage.
warning:
/usr/local_machine/sage-4.3.5/devel/sage-
main/sage/structure/parent_base.pyx:63:4:
Overriding cdef method with def method.
warning:
/usr/local_machine/sage-4.3.5/devel/sage-
main/sage/structure/parent.pyx:118:4:
dict already a builtin Cython type
}}}
My suspicion is, that the reason is some race condition in checking,
whether during the build some directory has to be newly added, or already
exists.
== Release manager ==
Apply only [attachment:trac_8677.4.patch].
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8677#comment:16>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.