#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.

Reply via email to