[Pkg-sysvinit-devel] Bug#374668: [sysvinit] prevents bootstrapping a system

James Westby jw+debianbugs at jameswestby.net
Tue Jun 20 14:50:59 UTC 2006


Package: sysvinit
Version: 2.86.ds1-14.1
Severity: normal

Hi,

I am having trouble using any tools that use (c)debootstrap. I have confirmed 
it with both debootstrap and cdebootstrap directly as well as pbuilder create 
(cdebootstrap), cowbuilder --create (debootstrap), qemu-make-debian-root 
(debootstrap), and I think it also affect piuparts (debootstrap). It affects 
both bootstrapping to sid, and to sarge (tested once).

I'm not sure that the bug is in sysvinit, but this is where the problem is 
observed, so I thought it was most appropriate here. I also think that it 
might be something specific to my setup, as if pbuilder create stopped working
then it would be noticed. 

I shall describe the problem as I saw in in a straight run of cdebootstrap 
to an empty partition. The result looks the same whatever method is used.

It all seems to be progressing well until it comes to configuring sysvinit,
where the process hangs indefinately. The problem in in the call to init u ||:
of the postinst, which never returns. I have attached the output of strace on
cdebootstrap from the potin just before this is called. I interrupted it after
many minutes on the open("/dev/initctl" call, which never completed.

If I chroot in to the system while this is waiting then I can verify that 
/dev/initctl exists and is writable by root. 

It may be that this is related to #206067, but it is difficult to tell. I am running a 2.6.16 kernel (self-compiled), using udev and no initrd etc.

I apologise for not being able to provide more information, but I can reproduce the problem at will at the moment, so if I can provide any more information 
please let me know.


-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (600, 'testing'), (550, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.16-lm-bootsplash-loser
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)

Versions of packages sysvinit depends on:
ii  initscripts                2.86.ds1-14.1 Scripts for initializing and shutt
ii  libc6                      2.3.6-13      GNU C Library: Shared libraries
ii  libselinux1                1.30-1        SELinux shared libraries
ii  libsepol1                  1.12-1        Security Enhanced Linux policy lib
ii  sysv-rc                    2.86.ds1-14.1 System-V-like runlevel change mech

sysvinit recommends no packages.

-- no debconf information
-------------- next part --------------
16901 --- SIGCHLD (Child exited) @ 0 (0) ---
16901 waitpid(-1, 0xbfe8d75c, WNOHANG)  = -1 ECHILD (No child processes)
16901 sigreturn()                       = ? (mask now [USR1 ALRM TERM])
16901 rt_sigaction(SIGINT, {SIG_DFL}, {0x807a180, [], 0}, 8) = 0
16901 rt_sigprocmask(SIG_BLOCK, NULL, [USR1 ALRM TERM], 8) = 0
16901 read(255, "\n#\n# Tell init to re-exec itself"..., 569) = 55
16901 rt_sigprocmask(SIG_BLOCK, NULL, [USR1 ALRM TERM], 8) = 0
16901 rt_sigprocmask(SIG_BLOCK, NULL, [USR1 ALRM TERM], 8) = 0
16901 rt_sigprocmask(SIG_BLOCK, NULL, [USR1 ALRM TERM], 8) = 0
16901 rt_sigprocmask(SIG_BLOCK, NULL, [USR1 ALRM TERM], 8) = 0
16901 stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16901 stat64("/usr/local/sbin/init", 0xbfe8d8f8) = -1 ENOENT (No such file or directory)
16901 stat64("/usr/local/bin/init", 0xbfe8d8f8) = -1 ENOENT (No such file or directory)
16901 stat64("/usr/sbin/init", 0xbfe8d8f8) = -1 ENOENT (No such file or directory)
16901 stat64("/usr/bin/init", 0xbfe8d8f8) = -1 ENOENT (No such file or directory)
16901 stat64("/sbin/init", {st_mode=S_IFREG|0755, st_size=35244, ...}) = 0
16901 stat64("/sbin/init", {st_mode=S_IFREG|0755, st_size=35244, ...}) = 0
16901 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [USR1 ALRM TERM], 8) = 0
16901 _llseek(255, -8, [561], SEEK_CUR) = 0
16901 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7df9928) = 16907
16901 rt_sigprocmask(SIG_SETMASK, [USR1 ALRM TERM], NULL, 8) = 0
16901 rt_sigprocmask(SIG_BLOCK, [CHLD], [USR1 ALRM TERM], 8) = 0
16901 rt_sigprocmask(SIG_SETMASK, [USR1 ALRM TERM], NULL, 8) = 0
16901 rt_sigprocmask(SIG_BLOCK, [CHLD], [USR1 ALRM TERM], 8) = 0
16901 rt_sigaction(SIGINT, {0x807a180, [], 0}, {SIG_DFL}, 8) = 0
16901 waitpid(-1,  <unfinished ...>
16907 close(255)                        = 0
16907 rt_sigprocmask(SIG_SETMASK, [USR1 ALRM TERM], NULL, 8) = 0
16907 rt_sigaction(SIGTSTP, {SIG_DFL}, {SIG_DFL}, 8) = 0
16907 rt_sigaction(SIGTTIN, {SIG_DFL}, {SIG_DFL}, 8) = 0
16907 rt_sigaction(SIGTTOU, {SIG_DFL}, {SIG_DFL}, 8) = 0
16907 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0
16907 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_IGN}, 8) = 0
16907 rt_sigaction(SIGCHLD, {SIG_DFL}, {0x807b8b0, [], 0}, 8) = 0
16907 execve("/sbin/init", ["init", "u"], [/* 7 vars */]) = 0
16907 uname({sys="Linux", node="loser", ...}) = 0
16907 brk(0)                            = 0x8051000
16907 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
16907 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fa1000
16907 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
16907 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fa0000
16907 open("/etc/ld.so.cache", O_RDONLY) = 4
16907 fstat64(4, {st_mode=S_IFREG|0644, st_size=4830, ...}) = 0
16907 mmap2(NULL, 4830, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb7f9e000
16907 close(4)                          = 0
16907 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
16907 open("/lib/libsepol.so.1", O_RDONLY) = 4
16907 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20/\0\000"..., 512) = 512
16907 fstat64(4, {st_mode=S_IFREG|0644, st_size=211424, ...}) = 0
16907 mmap2(NULL, 256800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7f5f000
16907 mmap2(0xb7f93000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x33) = 0xb7f93000
16907 mmap2(0xb7f94000, 39712, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f94000
16907 close(4)                          = 0
16907 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
16907 open("/lib/libselinux.so.1", O_RDONLY) = 4
16907 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\3601\0"..., 512) = 512
16907 fstat64(4, {st_mode=S_IFREG|0644, st_size=75220, ...}) = 0
16907 mmap2(NULL, 80624, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7f4b000
16907 mmap2(0xb7f5d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x11) = 0xb7f5d000
16907 close(4)                          = 0
16907 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
16907 open("/lib/tls/libc.so.6", O_RDONLY) = 4
16907 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260O\1"..., 512) = 512
16907 fstat64(4, {st_mode=S_IFREG|0755, st_size=1270928, ...}) = 0
16907 mmap2(NULL, 1276892, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7e13000
16907 mmap2(0xb7f41000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x12e) = 0xb7f41000
16907 mmap2(0xb7f49000, 7132, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f49000
16907 close(4)                          = 0
16907 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
16907 open("/lib/tls/libdl.so.2", O_RDONLY) = 4
16907 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\f\0"..., 512) = 512
16907 fstat64(4, {st_mode=S_IFREG|0644, st_size=9592, ...}) = 0
16907 mmap2(NULL, 12404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7e0f000
16907 mmap2(0xb7e11000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x1) = 0xb7e11000
16907 close(4)                          = 0
16907 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e0e000
16907 mprotect(0xb7f41000, 20480, PROT_READ) = 0
16907 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e0eb60, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
16907 munmap(0xb7f9e000, 4830)          = 0
16907 access("/etc/selinux/", F_OK)     = -1 ENOENT (No such file or directory)
16907 brk(0)                            = 0x8051000
16907 brk(0x8072000)                    = 0x8072000
16907 open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 4
16907 fstat64(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
16907 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f9f000
16907 read(4, "rootfs / rootfs rw 0 0\n/dev/root"..., 1024) = 870
16907 read(4, "", 1024)                 = 0
16907 close(4)                          = 0
16907 munmap(0xb7f9f000, 4096)          = 0
16907 open("/etc/ld.so.cache", O_RDONLY) = 4
16907 fstat64(4, {st_mode=S_IFREG|0644, st_size=4830, ...}) = 0
16907 mmap2(NULL, 4830, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb7f9e000
16907 close(4)                          = 0
16907 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
16907 open("/lib/tls/i686/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/tls/i686/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/tls/i686/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/tls/i686", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/tls/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/tls/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/tls/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/tls", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16907 open("/lib/i686/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/i686/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/i686/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/i686", 0xbfcb393c)   = -1 ENOENT (No such file or directory)
16907 open("/lib/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/cmov", 0xbfcb393c)   = -1 ENOENT (No such file or directory)
16907 open("/lib/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16907 open("/usr/lib/tls/i686/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/tls/i686/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/tls/i686/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/tls/i686", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/tls/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/tls/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/tls/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/tls", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/i686/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/i686/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/i686/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/i686", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16907 open("/lib/i486-linux-gnu/tls/i686/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/i486-linux-gnu/tls/i686/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/i486-linux-gnu/tls/i686/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/i486-linux-gnu/tls/i686", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/i486-linux-gnu/tls/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/i486-linux-gnu/tls/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/i486-linux-gnu/tls/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/i486-linux-gnu/tls", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/i486-linux-gnu/i686/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/i486-linux-gnu/i686/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/i486-linux-gnu/i686/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/i486-linux-gnu/i686", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/i486-linux-gnu/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/i486-linux-gnu/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/lib/i486-linux-gnu/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/lib/i486-linux-gnu", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16907 open("/usr/lib/i486-linux-gnu/tls/i686/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/i486-linux-gnu/tls/i686/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/i486-linux-gnu/tls/i686/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/i486-linux-gnu/tls/i686", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/i486-linux-gnu/tls/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/i486-linux-gnu/tls/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/i486-linux-gnu/tls/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/i486-linux-gnu/tls", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/i486-linux-gnu/i686/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/i486-linux-gnu/i686/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/i486-linux-gnu/i686/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/i486-linux-gnu/i686", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/i486-linux-gnu/cmov/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/i486-linux-gnu/cmov", 0xbfcb393c) = -1 ENOENT (No such file or directory)
16907 open("/usr/lib/i486-linux-gnu/libsetrans.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
16907 stat64("/usr/lib/i486-linux-gnu", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
16907 munmap(0xb7f9e000, 4830)          = 0
16907 umask(022)                        = 022
16907 geteuid32()                       = 0
16907 getpid()                          = 16907
16907 rt_sigaction(SIGALRM, {0x804a490, [], 0}, NULL, 8) = 0
16907 alarm(3)                          = 0
16907 open("/dev/initctl", O_WRONLY <unfinished ...>
13582 <... poll resumed> [{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, -1) = -1 EINTR (Interrupted system call)
16907 <... open resumed> )              = ? ERESTARTSYS (To be restarted)
13582 --- SIGINT (Interrupt) @ 0 (0) ---
13582 oldumount("/mnt/test/proc")       = 0
13582 write(3, "W: got signal\n", 14)   = 14
13582 write(2, "W: got signal\n", 14)   = 14
13582 oldumount("/mnt/test/proc")       = -1 EINVAL (Invalid argument)
13582 munmap(0xb7fa9000, 4096)          = 0
13582 munmap(0xb7fa8000, 4096)          = 0
13582 exit_group(1)                     = ?
16907 --- SIGINT (Interrupt) @ 0 (0) ---
16901 <... waitpid resumed> 0xbfe8d99c, 0) = ? ERESTARTSYS (To be restarted)
16901 --- SIGINT (Interrupt) @ 0 (0) ---
16901 sigreturn()                       = ? (mask now [USR1 ALRM TERM CHLD])
16901 waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGINT}], 0) = 16907
16901 rt_sigaction(SIGINT, {SIG_DFL}, {0x807a180, [], 0}, 8) = 0
16901 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0
16901 kill(16901, SIGINT)               = 0
16901 --- SIGINT (Interrupt) @ 0 (0) ---
16148 <... waitpid resumed> 0xbf91d528, 0) = ? ERESTARTSYS (To be restarted)
16148 --- SIGINT (Interrupt) @ 0 (0) ---
16148 waitpid(16901, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGINT}], 0) = 16901
16148 --- SIGCHLD (Child exited) @ 0 (0) ---
16148 write(2, "dpkg: error processing sysvinit "..., 113) = -1 EPIPE (Broken pipe)
16148 --- SIGPIPE (Broken pipe) @ 0 (0) ---


More information about the Pkg-sysvinit-devel mailing list