Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 07 Aug 2014 20:50:06 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 192490] New: [build] race condition with multiple instances of cleandir in subdirectories; results in failure like "rm: fts_read: No such file or directory"
Message-ID:  <bug-192490-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192490

            Bug ID: 192490
           Summary: [build] race condition with multiple instances of
                    cleandir in subdirectories; results in failure like
                    "rm: fts_read: No such file or directory"
           Product: Base System
           Version: 11.0-CURRENT
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Some People
          Priority: ---
         Component: conf
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: yaneurabeya@gmail.com

I've seen issues with builds (mostly on my VMware Fusion VM running FreeBSD
CURRENT) where it fails to build with a false positive like the following (from
http://kyua3.nyi.freebsd.org/head/data/0-LATEST/output.log):

===> usr.sbin/lpr (cleandir)
--- cleandir_subdir_lastlogin ---
--- cleanobj ---
--- usr.bin.cleandir__D ---
--- cleandir_subdir_limits ---
===> usr.bin/limits (cleandir)
--- cleandir_subdir_lex ---
--- cleanobj ---
--- usr.sbin.cleandir__D ---
--- cleandir_subdir_lmcconfig ---
--- cleanobj ---
--- usr.bin.cleandir__D ---
--- _sub.cleandir ---
===> usr.bin/lex/lib (cleandir)
--- usr.sbin.cleandir__D ---
--- cleandir_subdir_lpr ---
--- _sub.cleandir ---
===> usr.sbin/lpr/common_source (cleandir)
--- usr.bin.cleandir__D ---
--- cleandir_subdir_limits ---
--- cleanobj ---
--- usr.sbin.cleandir__D ---
--- cleandir_subdir_lptcontrol ---
===> usr.sbin/lptcontrol (cleandir)
--- usr.bin.cleandir__D ---
--- cleandir_subdir_lex ---
--- cleanobj ---
--- usr.sbin.cleandir__D ---
--- cleandir_subdir_mailstats ---
===> usr.sbin/mailstats (cleandir)
--- usr.bin.cleandir__D ---
--- cleanobj ---
rm: fts_read: No such file or directory
*** [cleanobj] Error code 1

The error shown makes sense as there are 3 instances of usr.bin.cleandir__D
being run in parallel instead of one instance.

I've skated around this issue before in the past by serializing the removal of
${MAKEOBJDIRPREFIX} from Makefile.inc1 when NO_CLEAN is not set, which isn't
necessarily optimal as rm -Rf /usr/obj is a O(n) process in a single process,
but it works 100% of the time.

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-192490-8>