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>