mock: chroot proc busy when unmounting

Alan Franzoni mailing at franzoni.eu
Wed Feb 24 10:18:09 UTC 2010


Sorry if any of you is getting duplicate messages, it seems I had sent
the previous one to an old list address. I'm recollecting the issue here.

----

Hello, I'm experiencing a rather strange error with mock. This happens
almost every time, hence I'd like to find out what's happening.

Build host machine: Fedora 12, 64 bit
Build target: Centos 5 64 bit, using some additional repos in the
config, otherwise the config is the stock epel-5-x86_64.cfg
Mock version: 1.0.2
Running mock as root.

After building (either with success or without) I get this problem:

DEBUG: Executing command: umount -n
/var/lib/mock/rhel5-unstable-x86_64/root/proc
DEBUG: umount: /var/lib/mock/rhel5-unstable-x86_64/root/proc: device is
busy.
DEBUG:         (In some cases useful info about processes that use
DEBUG:          the device is found by lsof(8) or fuser(1))

I tried modifying mock's backend.py in order to run lsof before and
after running umount and grepping for proc, but without success - there
seems to be no open file there. I tried running orphanskill before
umounting, I tried sleeping before umount, but nothing changed.

While that error has no great impact, that one and some subsequent
(involving some failing chattr calls) really get my build logs messed up
and hard to crawl when something goes wrong.

I tried catting /proc/mounts as well and I discovered this nested mount
under proc in the chroot:

none on /var/lib/mock/rhel5-unstable-x86_64/root/proc/sys/fs/binfmt_misc
type binfmt_misc (rw)

Adding it to umountCmds fixed my issue.

This doesn't seem to get mounted explicitly by mock, hence I think it's
something happening inside the chroot that triggers its mount? I'm not
really an expert in rhel/fedora internals, any clue?

-- 
Alan Franzoni
contact me at public@[mysurname].eu


More information about the buildsys mailing list