[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"
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Aug 7 20:50:07 UTC 2014
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 at FreeBSD.org
Reporter: yaneurabeya at 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.
More information about the freebsd-bugs
mailing list