bugmake - Bugs: bug #26893, parallel build randomly skips...

 
 

bug #26893: parallel build randomly skips intermediate prerequesites

Submitter:  None
Submitted:  Fri 26 Jun 2009 07:03:10 AM UTC
Votes: 90
 
Severity:  3 - Normal Item Group:  Bug
Status:  Duplicate Privacy:  Public
Assigned to:  None Open/Closed:  Closed
Component Version:  3.81 Operating System:  POSIX-Based
Fixed Release:  None Triage Status:  Need Info
* Mandatory Fields

Add a New Comment Rich Markup
   

Mon 22 Jul 2013 02:52:37 AM UTC, comment #3: 

Closing as duplicate of bug #37703.  Please post a comment if you feel it's not a duplicate.

Paul D. Smith <psmith>
Group administrator
Sat 06 Apr 2013 02:54:29 PM UTC, comment #2: 

If possible, please check if this issue is resolved by the fix for bug #37703.

Paul D. Smith <psmith>
Group administrator
Fri 16 Apr 2010 01:57:45 PM UTC, comment #1: 

We have the same problem on Linux (current Ubuntu & Gentoo) and C/C++ code.
Some C++ files are generated in .SECONDARY targets. Occasionally, g++ complains that these intermediate .cpp files don't exist and 'make' aborts.
I'm pretty sure that the rules are correct.
This problem only occurs with multi-threaded builds.
I doesn't happen often and is therefore difficult to reproduce.

'pmake' never shows this issue. That's why we have switched to 'pmake' a year ago. We would switch back, it this issue was fixed.

Max Reichardt <max_r>
Fri 26 Jun 2009 07:03:10 AM UTC, original submission:  

I experience failues with parallel make on my dual-core laptop machine (GNU/Linux, x86-64).
I faintly remember something similar on Solaris/x86-64 on a 16-core box, but I dismissed it as artefact of the not well-synched clocks we have there between NFS filesystems.
I'll try to check this.

Anyway, problem is:

I have a Fortran 90/95 project that contains .F90 files that need preprocessing to .f90 before being compiled to .o .
Excerpt from the Makefile (I'll attach it, it is not that big):

.SUFFIXES:
.SUFFIXES: .F90 .f90 .o

%.bin: %.o
$(LINK) -o $@ $(shell perl f90dep.pl link "$<") $(LIBS)

.F90.f90:
$(PREPROCESS) $< > $@

.f90.o:
$(COMPILE) -c -o $@ $<


I also have Makefile snippets that contain dependency information in .deps/ (they are auto-generated by the Makefile, but already up to date for the situation at hand).

Now, when I build a set of targets (final .bin programs), one intermediate .f90 file may not be generated and the build fails on the subsequent .o file, when running make with -j5 (could not reproduce with -j2 now).
This occurs with some randomness, sometimes the build works, sometimes not.

Single make is always fine, so I assume I got the rules and dependencies right. I hope the to-be-attached logs shed some light on this. Parallel make prunes misc/multiindex.f90 while single make builds it...

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #18327:  make.log added by None (269KiB - text/x-log - Makefile and logs for single and parallel build, make clean has been executed before each build.)
file #18328:  make-single.log added by None (210KiB - text/x-log - Makefile and logs for single and parallel build, make clean has been executed before each build.)
file #18326:  Makefile added by None (1KiB - text/x-makefile - Makefile and logs for single and parallel build, make clean has been executed before each build.)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by psmith (Posted a comment)
  • -email is unavailable- added by max_r (Posted a comment)
  • -email is unavailable- added by max_r (Voted in favor of this item)
  • -email is unavailable- added by sobukus (I'm the reporter.)
  •  

    There are 90 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-07-22 psmith StatusNone Duplicate
        Open/ClosedOpen Closed
    2013-04-06 psmith Triage StatusNone Need Info
    2010-04-16 max_r Carbon-Copy- Added max_r
    2009-06-26 sobukus Carbon-Copy- Added sobukus
    2009-06-26 None Attached File- Added Makefile, #18326
        Attached File- Added make.log, #18327
        Attached File- Added make-single.log, #18328

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code