poudriere: poudriere fails to clean up

I noticed this while troubleshooting issue #294

Here are the steps how I got to the problem:

  • Begin from the empty poudriere/data directory
  • Run some command like this ‘poudriere bulk -j 10amd64 -p local -z workstation -t category/port’
  • During the build of ‘pkg’ hit Ctrl-Z, and wait when pkg finishes. (because Ctrl-Z only stops poudriere, but not the current build itself)
  • Change to /usr/local/poudriere/data/.m/10amd64-local-workstation/ and run command ‘du -x -s *’, enter directory ‘01’ and runt the same command there
  • Leave this directory
  • Continue poudriere (fg) and then stop it (Ctrl-C) and wait
  • Observe the messages, see below

I am not sure if this is intermittent, I only saw it once.

I can’t imagine how can the file listing process with ‘du’ influence poudriere deleting things afterwards.

One might argue that this is not a real problem because it happened when someone did ‘du’ in the middle. But to me it means that there is some latent failure condition that doesn’t normally get triggered, and might only come up during some unusual system load pattern or timing.

---- errors during clean up----

[00:09:00] ====>> Cleaning up
rm: /usr/local/poudriere/data/.m/10amd64-local-workstation/01/usr/lib32/libc.so.7: Operation not permitted
rm: /usr/local/poudriere/data/.m/10amd64-local-workstation/01/usr/lib32/libthr.so.3: Operation not permitted
rm: /usr/local/poudriere/data/.m/10amd64-local-workstation/01/usr/lib32/librt.so.1: Operation not permitted
rm: /usr/local/poudriere/data/.m/10amd64-local-workstation/01/usr/lib32/libcrypt.so.5: Operation not permitted
rm: /usr/local/poudriere/data/.m/10amd64-local-workstation/01/usr/lib32: Directory not empty
rm: /usr/local/poudriere/data/.m/10amd64-local-workstation/01/usr/bin/yppasswd: Operation not permitted
rm: /usr/local/poudriere/data/.m/10amd64-local-workstation/01/usr/bin/opieinfo: Operation not permitted
rm: /usr/local/poudriere/data/.m/10amd64-local-workstation/01/usr/bin/rlogin: Operation not permitted
rm: /usr/local/poudriere/data/.m/10amd64-local-workstation/01/usr/bin/login: Operation not permitted
rm: /usr/local/poudriere/data/.m/10amd64-local-workstation/01/usr/bin/opiepasswd: Operation not permitted

About this issue

  • Original URL
  • State: closed
  • Created 9 years ago
  • Comments: 18 (15 by maintainers)

Commits related to this issue

Most upvoted comments

I’ll look into it. However I’ve been tempted to remove the MDMFS support entirely as it is bitrotting. The USE_TMPFS feature is very supported and also avoids extra overhead of UFS in memory. Do you have a reason to use MDMFS over USE_TMPFS or was it just not knowing about the tmpfs option?

When poudriere started tmpfs was very unstable and immature in FreeBSD, but it is quite mature and stable now.