bugmake - Bugs: bug #30823, double-colon rules not always...

 
 

bug #30823: double-colon rules not always executed in parallel make

Submitter:  None
Submitted:  Thu 19 Aug 2010 07:24:54 PM UTC
   
 
Severity:  3 - Normal Item Group:  Bug
Status:  Duplicate Privacy:  Public
Assigned to:  None Open/Closed:  Closed
Component Version:  3.81 Operating System:  None
Fixed Release:  None Triage Status:  Verified
* Mandatory Fields

Add a New Comment Rich Markup
   

Sun 22 Sep 2013 09:35:35 PM UTC, comment #2: 

I was able to reproduce this with GNU make 3.82 within 100 iterations or so; however I ran the makefile 5000 times with the next release of GNU make and it never failed.  I believe this has been fixed.

Paul D. Smith <psmith>
Group administrator
Thu 19 Aug 2010 07:38:21 PM UTC, comment #1: 

Yes, I see this too.  It definitely looks like a bug.

Paul D. Smith <psmith>
Group administrator
Thu 19 Aug 2010 07:24:54 PM UTC, original submission:  

I'm not sure if this has been already reported but at least I can't find a similar report.

I have a modular build system using make which uses some double-colon rules which are triggered indirectly. That means these rules are not a direct prerequisite of the make goal provided on command line.

With -j1 the rules are executed as expected but with multiple jobs sometimes not all of these rules are made. On my dual core machine I can reproduce this very easily with the attached example Makefile. On may quad core box it happens rather seldom with this example but with the rather complex build system it happens more often.

A workaround is to add the double-colon rules as a direct prerequisite of the user specified make goal. But wait - this is not the full truth - it only works when added to targets like all or install. Calling "make -j2 b" in the concrete example it fails as well.

The attached Makefile example can be used to reproduce the issue.
When called with -j1 the output is:

a1
q
a2
a3
b

which is expected. When called with -j2 the output is often only

a1
q
b

I think while the execution order of the double-colon rules might change they should at least execute before the target counts as being made.

I checked make-3.82 as well but it behaves the same way. My system is a Fedora 13 64bit.

Anonymous

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #21261:  Makefile added by None (100B - application/octet-stream - Makefile example to show the issue)

 

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)
  •  

    There are 0 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 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-09-22 psmith StatusNone Duplicate
        Open/ClosedOpen Closed
    2010-08-19 psmith Triage StatusNone Verified
    2010-08-19 None Attached File- Added Makefile, #21261

    Back to the top

    Powered by Savane 3.13-3230.
    Corresponding source code