As a few of you will know, there's been some issues recently with Singular failing to build in parallel due to incorrect dependencies in the Makefiles.

To test the latest Singular:

http://trac.sagemath.org/sage_trac/ticket/9946


A script called "gcc" was created, which waited for a random time before it called the real gcc. This was in an attempt to find race conditions. The code I wrote used /dev/urandom as a source of random numbers, and nanosleep() to sleep for a random time. I've built Singular 500 times, and had no failures.

Today I decided to try to build the whole of Sage whilst inserting random delays to gcc, g++ and gfortran. This was on a machine where I've built Sage 100's of times (quite literally) with no problems at all. (It's a Sun Ultra 27 running OpenSolaris 06/2009).

Anyway, when random delays were inserted in front of gcc, boehm_gc-7.1.p6 failed to build. It looks to me like there's a race condition here. See below.


I note this package is called version 7.1, but the latest stable release is 6.8 as far as I can see from

http://www.hpl.hp.com/personal/Hans_Boehm/gc/

I find it quite annoying that we are using an unstable release, probably taken from a CVS snapshot, but the package names gives no evidence of this.

Is there a good reason to use an unstable release?

I can hardly report this upstream, given it was a CVS snapshot taken at some unknown date.

Note, the Sage package uses "make" and not "$MAKE" so it's not clear exactly what happens in parallel here, but clearly something has gone wrong - see below.

When I removed the random delays, so the package built fine. So I'm pretty sure I've uncovered a bug here.


gcc "-DPACKAGE_NAME=\"gc\"" "-DPACKAGE_TARNAME=\"gc\"" "-DPACKAGE_VERSION=\"7.1\"" "-DPACKAGE_STRING=\"gc 7.1\"" "-DPACKAGE_BUGREPORT=\"hans.bo...@hp.com\"" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 "-DPACKAGE=\"gc\"" "-DVERSION=\"7.1\"" -DGC_SOLARIS_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSOLARIS25_PROC_VDB_BUG_FIXED=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1 -I./include -fexceptions -I libatomic_ops/src -g -O2 -MT dyn_load.lo -MD -MP -MF .deps/dyn_load.Tpo -c dyn_load.c -fPIC -DPIC -o .libs/dyn_load.o gcc "-DPACKAGE_NAME=\"gc\"" "-DPACKAGE_TARNAME=\"gc\"" "-DPACKAGE_VERSION=\"7.1\"" "-DPACKAGE_STRING=\"gc 7.1\"" "-DPACKAGE_BUGREPORT=\"hans.bo...@hp.com\"" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 "-DPACKAGE=\"gc\"" "-DVERSION=\"7.1\"" -DGC_SOLARIS_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSOLARIS25_PROC_VDB_BUG_FIXED=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1 -I./include -fexceptions -I libatomic_ops/src -g -O2 -MT blacklst.lo -MD -MP -MF .deps/blacklst.Tpo -c blacklst.c -fPIC -DPIC -o .libs/blacklst.o gcc "-DPACKAGE_NAME=\"gc\"" "-DPACKAGE_TARNAME=\"gc\"" "-DPACKAGE_VERSION=\"7.1\"" "-DPACKAGE_STRING=\"gc 7.1\"" "-DPACKAGE_BUGREPORT=\"hans.bo...@hp.com\"" -DGC_VERSION_MAJOR=7 -DGC_VERSION_MINOR=1 "-DPACKAGE=\"gc\"" "-DVERSION=\"7.1\"" -DGC_SOLARIS_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSOLARIS25_PROC_VDB_BUG_FIXED=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1 -DATOMIC_UNCOLLECTABLE=1 -DLARGE_CONFIG=1 -I./include -fexceptions -I libatomic_ops/src -g -O2 -MT dbg_mlc.lo -MD -MP -MF .deps/dbg_mlc.Tpo -c dbg_mlc.c -fPIC -DPIC -o .libs/dbg_mlc.o
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
make[3]: *** [dyn_load.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
make[3]: *** [alloc.lo] Error 1
make[3]: *** [mallocx.lo] Error 1
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
make[3]: *** [finalize.lo] Error 1
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
make[3]: *** [gcj_mlc.lo] Error 1
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
make[3]: *** [checksums.lo] Error 1
make[3]: *** [allchblk.lo] Error 1
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
make[3]: *** [headers.lo] Error 1
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
make[3]: *** [gc_dlopen.lo] Error 1
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
make[3]: *** [dbg_mlc.lo] Error 1
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
make[3]: *** [blacklst.lo] Error 1
gcc: 7.1": No such file or directory
<command-line>:0:16: warning: missing terminating " character
make[3]: *** [malloc.lo] Error 1
make[3]: Leaving directory `/export/home/drkirkby/slow/sage-4.6.alpha1/spkg/build/boehm_gc-7.1.p6/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/export/home/drkirkby/slow/sage-4.6.alpha1/spkg/build/boehm_gc-7.1.p6/src'
Error building BoehmGC.

real    8m38.373s
user    0m4.844s
sys     0m5.826s
sage: An error occurred while installing boehm_gc-7.1.p6


--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to