Bug#560348: xen: racy temporary files for kernel and initrd
Ian Campbell <ijc@hellion.org.uk> writes:
> On Thu, 2009-12-10 at 17:46 +0100, Ferenc Wagner wrote:
>
>> The current code in xm-debian.cfg uses Python-managed temporary files,
>> which are unlinked too early (in parallel with the RPC call). I can't
>> recommend a good solution, and maybe it's already fixed in the current
>> (version 3.4) tools.
>
> I noticed this a little while ago and began investigating a solution
> using the upstream data:// URI support (see xen-unstable
> 20117:4fc6ff1e1141) but then I upgraded to Xen 3.4 and the issue went
> away.
>
> Can you please confirm what your host and guest Debian versions are as
> well as which hypervisor+tools you see this with.
The guest is the Debian Installer daily image, you surely know it much
better than I do. :) The host is a Lenny system with the Etch kernel:
$ cat /etc/debian_version
5.0.3
$ uname -a
Linux xen2-ha 2.6.18-6-xen-686 #1 SMP Thu Nov 5 19:54:42 UTC 2009 i686 GNU/Linux
$ apt-cache policy linux-image-2.6.18-6-xen-686 xen-hypervisor-3.2-1-i386 xen-utils-3.2-1 xen-utils-common
linux-image-2.6.18-6-xen-686:
Installed: 2.6.18.dfsg.1-26etch1
Candidate: 2.6.18.dfsg.1-26etch1
Version table:
*** 2.6.18.dfsg.1-26etch1 0
500 http://security.debian.org etch/updates/main Packages
100 /var/lib/dpkg/status
2.6.18.dfsg.1-24 0
500 http://ftp.hu.debian.org etch/main Packages
xen-hypervisor-3.2-1-i386:
Installed: 3.2.1-2
Candidate: 3.2.1-2
Version table:
*** 3.2.1-2 0
500 http://ftp.hu.debian.org lenny/main Packages
100 /var/lib/dpkg/status
xen-utils-3.2-1:
Installed: 3.2.1-2
Candidate: 3.2.1-2
Version table:
*** 3.2.1-2 0
500 http://ftp.hu.debian.org lenny/main Packages
100 /var/lib/dpkg/status
xen-utils-common:
Installed: 3.2.0-2
Candidate: 3.2.0-2
Version table:
*** 3.2.0-2 0
500 http://ftp.hu.debian.org lenny/main Packages
100 /var/lib/dpkg/status
3.0.3-0-2 0
500 http://ftp.hu.debian.org etch/main Packages
$ sudo xm info
host : xen2-ha
release : 2.6.18-6-xen-686
version : #1 SMP Thu Nov 5 19:54:42 UTC 2009
machine : i686
nr_cpus : 4
nr_nodes : 1
cores_per_socket : 1
threads_per_core : 2
cpu_mhz : 3056
hw_caps : bfebfbff:00000000:00000000:00000080:00004400
total_memory : 3071
free_memory : 2781
node_to_cpu : node0:0-3
xen_major : 3
xen_minor : 2
xen_extra : -1
xen_caps : xen-3.0-x86_32p
xen_scheduler : credit
xen_pagesize : 4096
platform_params : virt_start=0xf5800000
xen_changeset : unavailable
cc_compiler : gcc version 4.3.1 (Debian 4.3.1-2)
cc_compile_by : waldi
cc_compile_domain : debian.org
cc_compile_date : Sat Jun 28 15:25:00 UTC 2008
xend_config_format : 4
> AFAIR this worked on Lenny (where I developed it) and now it works
> again on Sid (and so I expect it will work again on Squeeze eventually
> if it doesn't already).
I can't easily test anything else but this Lenny host, but there seems
to be some problem there. Btw. I noticed that the temporary files are
unlinked twice (the first unlink belongs to some unrelated weirdness,
the first column is the PID):
$ fgrep unlink notexists2.strace
14124 unlink("/tmp/hL5gTk") = 0
14131 unlink("/tmp/tmp8kZcOJ") = 0
14131 unlink("/tmp/tmpZmbQSd.gz") = 0
14124 unlink("/tmp/tmp8kZcOJ") = -1 ENOENT (No such file or directory)
14124 unlink("/tmp/tmpZmbQSd.gz") = -1 ENOENT (No such file or directory)
--
Thanks,
Feri.
Reply to: