pkgsrc-Bugs archive

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

Re: pkg/48385: gmake 4.0 loops on tmpfs



The following reply was made to PR pkg/48385; it has been noted by GNATS.

From: David Holland <dholland-pbugs%netbsd.org@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: pkg/48385: gmake 4.0 loops on tmpfs
Date: Sun, 17 Nov 2013 21:17:06 +0000

 On Sun, Nov 17, 2013 at 05:00:01PM +0000, David Holland wrote:
  >  On Sun, Nov 17, 2013 at 04:55:00PM +0000, dholland%NetBSD.org@localhost 
wrote:
  >   > rerunning the recipe for objdir/depend.mk. It does not happen with
  >   > gmake 3.82.
  >  
  >  Upstream report:
  >  
  >  http://savannah.gnu.org/bugs/index.php?40610
 
 So it looks like gmake going into an infinite loop is a symptom, and
 the trigger is that
 
    echo stuff > objdir/depend.mk
 
 when objdir/depend.mk doesn't yet exist leaves objdir newer than
 depend.mk, typically by about 1 ms. Then the make rule
 
    objdir/depend.mk: objdir
 
 causes gmake to rebuild depend.mk again, and of course it never
 stops. I think the reason this doesn't happen in gmake 3.82 is that
 gmake 3.82 doesn't read the nanoseconds field of the mtime.
 
 I think this qualifies as a tmpfs bug; the open() that creates
 depend.mk and therefore sets the directory timestamp necessarily comes
 before the write() that puts stuff into the file and sets the file
 timestamp. The timestamps ought to reflect this ordering, and don't.
 
 -- 
 David A. Holland
 dholland%netbsd.org@localhost
 


Home | Main Index | Thread Index | Old Index