Re: bash: Fails to upgrade in kFreeBSD jails
Hi,
Hmmm, I can't seem to reproduce the problem here, in a kfreebsd-i386
jail environment on a GNU/kFreeBSD (9.0) host. I had bash 4.2-2 already
installed though.
I'm trying "apt-get --reinstall install bash" or directly running
/var/lib/dpkg/info/bash.preinst
Here's a system call trace:
72202 bash.preinst CALL open(0x8049678,0x1<><invalid>1,<unused>0)
72202 bash.preinst NAMI "/dev/null"
72202 bash.preinst RET open 3
72202 bash.preinst CALL fcntl(0x3,<invalid=3>,0x8149)
72202 bash.preinst RET fcntl 1
72202 bash.preinst CALL fcntl(0x3,<invalid=4>,0x1<><invalid>1)
72202 bash.preinst RET fcntl 0
Successfully opened /dev/null as fd 0x3. I assume that is fcntl()
F_GETFL returning flags = 0x1 (which actually means FD_CLOEXEC was
already set), then F_SETFL returning 0 = success.
72202 bash.preinst CALL pipe
72202 bash.preinst RET pipe 4
72202 bash.preinst CALL fcntl(0x4,<invalid=3>,0x1)
72202 bash.preinst RET fcntl 2
72202 bash.preinst CALL fcntl(0x4,<invalid=4>,0x3<><invalid>3)
72202 bash.preinst RET fcntl 0
72202 bash.preinst CALL fcntl(0x5,<invalid=3>,0x28066d20)
72202 bash.preinst RET fcntl 2
72202 bash.preinst CALL fcntl(0x5,<invalid=4>,0x3<><invalid>3)
72202 bash.preinst RET fcntl 0
And successful in setting FD_CLOEXEC there on the pipe descriptors 0x4
and 0x5.
If this problem can still be reproduced, a ktrace[1] may be helpful, and
maybe the output from /proc/mounts and of course "ls -al /dev/null"
I don't have my jail in ZFS, but I guess devfs should be mounted at
/path/to/jail/dev anyway, or else /dev/null could be missing, and get
created as a regular file (which I also tried, and still couldn't
reproduce this failure).
[1]
http://wiki.debian.org/Debian_GNU/kFreeBSD_FAQ#Q._How_do_I_trace_system_calls.3F
Regards,
--
Steven Chamberlain
steven@pyro.eu.org
Reply to: