bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fwd: issue with -j 2]


From: Antoine Petitet
Subject: [Fwd: issue with -j 2]
Date: Thu, 19 Feb 2009 13:23:56 +0100
User-agent: Mozilla Thunderbird 1.0RC1 (X11/20041209)

Hi Folks,

I sent this message to help mailing alias. I should have sent it
maybe to this alias, eventhough, it is not obvious to me at this
point that the issue is in GNU make.

Best wishes,

Antoine
--- Begin Message --- Subject: issue with -j 2 Date: Tue, 17 Feb 2009 09:49:59 +0100 User-agent: Mozilla Thunderbird 1.0RC1 (X11/20041209)
Hi,

GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
GNU C Library stable release version 2.3.2, by Roland McGrath et al.
(Red Hat Enterprise Linux WS release 3 (Taroon Update 6))

I am having a problem when builing my software library with the option
-j 2. It works fine with all other -j N I tried.  A child process seems
to have dissapeared before the end of the make of command. The object
file however is indeed produced. It does not always happen at the same
place. Sometimes even the make -j 2 works fine up to the end. Below is
the end of a run that fails.

I tried 3.8.1 and observed the same behaviour. I looked at the file
jobs.c of the 3.8.1 version and if I change line 565
             pfatal_with_name ("wait");
into
             if( ! WIFEXITED( status ) ) pfatal_with_name ("wait");
the problem dissapears. It seems that the child has already normally
terminated when the wait function occurs, the value of pid is < 0,
and the program exits calling pfatal_with_name.

I could not find any related post on the web concerning this. I would
be grateful if you could tell me if this is a behavior you have heard
of before. Obviously, I can be wrong and the problem could be somewhere
else. Any suggestion on what I could be doing wrong would be highly
appreciated. If you are interested, I can provide you with the sources.

Best wishes,

Antoine


(...)
Obtained token for child 0x005e17e0 (obj/els/els_dlamch.o).
icc -O0 -I/nisprod/products1/mkl/10.1.0.015/include -DLINUX -DEM64T -DELS_COMP_INTEL -DELS_VARI_DEFAULT -openmp -fpic -vec-report0 -DELS_DEBUG -DELS_ARGS_CHECK -I/tmp/ape/els/include -I/tmp/ape/els/src/contrib/cblas/include -I/tmp/ape/els/src/contrib/MUMPS_4.8.4/include -I/tmp/ape/els/src/contrib/MUMPS_4.8.4/src -I/tmp/ape/els/src/contrib/MUMPS_4.8.4/libseq -mtune=core2 -xO -c /tmp/ape/els/src/kernel/els_dlamch.c -o obj/els/els_dlamch.o
Putting child 0x005e17e0 (obj/els/els_dlamch.o) PID 14323 on the chain.
 Commands of `obj/els/els_dlamch.o' are being run.
  Pruning file `/tmp/ape/els/src/kernel/els_dlamch.c'.
Finished prerequisites of target file `elslibbeg'.
The prerequisites of `elslibbeg' are being made.
Pruning file `obj/els/els_slamch.o'.
Pruning file `obj/els/els_dlamch.o'.
Live child 0x005e17e0 (obj/els/els_dlamch.o) PID 14323
Live child 0x005e1500 (obj/els/els_slamch.o) PID 14322
Got a SIGCHLD; 1 unreaped children.
Reaping winning child 0x005e17e0 PID 14323
Removing child 0x005e17e0 PID 14323  from chain.
Released token for child 0x005e17e0 (obj/els/els_dlamch.o).
Live child 0x005e1500 (obj/els/els_slamch.o) PID 14322
Got a SIGCHLD; 1 unreaped children.
make[2]: *** wait: No child processes.  Stop.
make[2]: *** Waiting for unfinished jobs....
Live child 0x005e1500 (obj/els/els_slamch.o) PID 14322
Reaping winning child 0x005e1500 PID 14322
Removing child 0x005e1500 PID 14322  from chain.
make[2]: Leaving directory `/tmp/ape/Linux_em64t'
Got a SIGCHLD; 1 unreaped children.
Reaping losing child 0x005df2b0 PID 14168
make[1]: *** [elslib] Error 2
Removing child 0x005df2b0 PID 14168  from chain.
make[1]: Leaving directory `/tmp/ape/Linux_em64t'
Got a SIGCHLD; 1 unreaped children.
Reaping losing child 0x00545130 PID 13849
make: *** [elslib] Error 2
Removing child 0x00545130 PID 13849  from chain.




--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]