Subject: Upstart Problem
From: Michael Hoffrath <m.hoffrath@clano-it.com>
Date: Thu, 27 Jan 2011 17:15:37 +0100

 Thu, 27 Jan 2011 17:15:37 +0100
Hello,

i've got a strange Problem running Ubuntu 10.04 with upstart.

Server:
vserver 0.30.216-pre2924 -- manages the state of vservers
This program is part of util-vserver 0.30.216-pre2924

Linux HOSTNAME 2.6.36.1-vs2.3.0.36.38.build1-cti #4 SMP Thu Dec 2 20:21:58 CET 2010
x86 64 GNU/Linux

when i try to run "start ssh" or "stop ssh" or on any other daemon the process hangs.
when killing it with ctrl+c the action happens (daemon is stopped or started).
the config looks like:

description     "OpenSSH server"

start on startup
stop on runlevel S

#expect fork
respawn
respawn limit 10 5
umask 022
# replaces SSHD OOM ADJUST in /etc/default/ssh
#oom never

pre-start script
    test -x /usr/sbin/sshd || { stop; exit 0; }
    test -e /etc/ssh/sshd not to be run && { stop; exit 0; }
    test -c /dev/null || { stop; exit 0; }

    mkdir -p -m0755 /var/run/sshd
end script

# if you used to set SSHD OPTS in /etc/default/ssh, you can change the
# 'exec' line here instead
exec /usr/sbin/sshd

strace output:
strace start ssh
execve("/sbin/start", ["start", "ssh"], [/* 18 vars */]) = 0
brk(0)                                  = 0x7fde6f417000
access("/etc/ld.so.nohwcap", F OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT READ|PROT WRITE, MAP PRIVATE|MAP ANONYMOUS, -1, 0) = 0x7fde6d684000
access("/etc/ld.so.preload", R OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O RDONLY)      = 3
fstat(3, {st mode=S IFREG|0644, st size=9414, ...}) = 0
mmap(NULL, 9414, PROT READ, MAP PRIVATE, 3, 0) = 0x7fde6d681000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnih.so.1", O RDONLY)      = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0Pf\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st mode=S IFREG|0644, st size=92208, ...}) = 0
mmap(NULL, 2187640, PROT READ|PROT EXEC, MAP PRIVATE|MAP DENYWRITE, 3, 0) = 0x7fde6d250000
mprotect(0x7fde6d266000, 2093056, PROT NONE) = 0
mmap(0x7fde6d465000, 8192, PROT READ|PROT WRITE, MAP PRIVATE|MAP FIXED|MAP DENYWRITE,
3, 0x15000) = 0x7fde6d465000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnih-dbus.so.1", O RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 2\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st mode=S IFREG|0644, st size=38952, ...}) = 0
mmap(NULL, 2134056, PROT READ|PROT EXEC, MAP PRIVATE|MAP DENYWRITE, 3, 0) = 0x7fde6d046000
mprotect(0x7fde6d04e000, 2097152, PROT NONE) = 0
mmap(0x7fde6d24e000, 8192, PROT READ|PROT WRITE, MAP PRIVATE|MAP FIXED|MAP DENYWRITE,
3, 0x8000) = 0x7fde6d24e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F OK)      = -1 ENOENT (No such file or directory)
open("/lib/libdbus-1.so.3", O RDONLY)   = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@j\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st mode=S IFREG|0644, st size=256768, ...}) = 0
mmap(NULL, 4096, PROT READ|PROT WRITE, MAP PRIVATE|MAP ANONYMOUS, -1, 0) = 0x7fde6d680000
mmap(NULL, 2352648, PROT READ|PROT EXEC, MAP PRIVATE|MAP DENYWRITE, 3, 0) = 0x7fde6ce07000
mprotect(0x7fde6ce44000, 2097152, PROT NONE) = 0
mmap(0x7fde6d044000, 8192, PROT READ|PROT WRITE, MAP PRIVATE|MAP FIXED|MAP DENYWRITE,
3, 0x3d000) = 0x7fde6d044000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F OK)      = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360Y\0\0\0\0\0\0"..., 832) =
832
fstat(3, {st mode=S IFREG|0755, st size=135745, ...}) = 0
mmap(NULL, 2212736, PROT READ|PROT EXEC, MAP PRIVATE|MAP DENYWRITE, 3, 0) = 0x7fde6cbea000
mprotect(0x7fde6cc02000, 2093056, PROT NONE) = 0
mmap(0x7fde6ce01000, 8192, PROT READ|PROT WRITE, MAP PRIVATE|MAP FIXED|MAP DENYWRITE,
3, 0x17000) = 0x7fde6ce01000
mmap(0x7fde6ce03000, 13184, PROT READ|PROT WRITE, MAP PRIVATE|MAP FIXED|MAP ANONYMOUS,
-1, 0) = 0x7fde6ce03000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F OK)      = -1 ENOENT (No such file or directory)
open("/lib/librt.so.1", O RDONLY)       = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220!\0\0\0\0\0\0"..., 832) =
832
fstat(3, {st mode=S IFREG|0644, st size=31744, ...}) = 0
mmap(NULL, 2128848, PROT READ|PROT EXEC, MAP PRIVATE|MAP DENYWRITE, 3, 0) = 0x7fde6c9e2000
mprotect(0x7fde6c9e9000, 2093056, PROT NONE) = 0
mmap(0x7fde6cbe8000, 8192, PROT READ|PROT WRITE, MAP PRIVATE|MAP FIXED|MAP DENYWRITE,
3, 0x6000) = 0x7fde6cbe8000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F OK)      = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O RDONLY)        = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\355\1\0\0\0\0\0"..., 832) =
832
fstat(3, {st mode=S IFREG|0755, st size=1568136, ...}) = 0
mmap(NULL, 4096, PROT READ|PROT WRITE, MAP PRIVATE|MAP ANONYMOUS, -1, 0) = 0x7fde6d67f000
mmap(NULL, 3676200, PROT READ|PROT EXEC, MAP PRIVATE|MAP DENYWRITE, 3, 0) = 0x7fde6c660000
mprotect(0x7fde6c7d8000, 2097152, PROT NONE) = 0
mmap(0x7fde6c9d8000, 20480, PROT READ|PROT WRITE, MAP PRIVATE|MAP FIXED|MAP DENYWRITE,
3, 0x178000) = 0x7fde6c9d8000
mmap(0x7fde6c9dd000, 18472, PROT READ|PROT WRITE, MAP PRIVATE|MAP FIXED|MAP ANONYMOUS,
-1, 0) = 0x7fde6c9dd000
close(3)                                = 0
mmap(NULL, 4096, PROT READ|PROT WRITE, MAP PRIVATE|MAP ANONYMOUS, -1, 0) = 0x7fde6d67e000
mmap(NULL, 4096, PROT READ|PROT WRITE, MAP PRIVATE|MAP ANONYMOUS, -1, 0) = 0x7fde6d67d000
mmap(NULL, 4096, PROT READ|PROT WRITE, MAP PRIVATE|MAP ANONYMOUS, -1, 0) = 0x7fde6d67c000
arch prctl(ARCH SET FS, 0x7fde6d67d700) = 0
mprotect(0x7fde6c9d8000, 16384, PROT READ) = 0
mprotect(0x7fde6cbe8000, 4096, PROT READ) = 0
mprotect(0x7fde6ce01000, 4096, PROT READ) = 0
mprotect(0x7fde6d044000, 4096, PROT READ) = 0
mprotect(0x7fde6d24e000, 4096, PROT READ) = 0
mprotect(0x7fde6d465000, 4096, PROT READ) = 0
mprotect(0x7fde6d8a3000, 4096, PROT READ) = 0
mprotect(0x7fde6d686000, 4096, PROT READ) = 0
munmap(0x7fde6d681000, 9414)            = 0
set tid address(0x7fde6d67d9d0)         = 10905
set robust list(0x7fde6d67d9e0, 0x18)   = 0
futex(0x7fffaf7d889c, FUTEX WAKE PRIVATE, 1) = 0
futex(0x7fffaf7d889c, FUTEX WAIT BITSET PRIVATE|FUTEX CLOCK REALTIME, 1, NULL, 7fde6d67d700)
= -1 EAGAIN (Resource temporarily unavailable)
rt sigaction(SIGRTMIN, {0x7fde6cbef870, [], SA RESTORER|SA SIGINFO, 0x7fde6cbf98f0},
NULL, 8) = 0
rt sigaction(SIGRT 1, {0x7fde6cbef900, [], SA RESTORER|SA RESTART|SA SIGINFO, 0x7fde6cbf98f0},
NULL, 8) = 0
rt sigprocmask(SIG UNBLOCK, [RTMIN RT 1], NULL, 8) = 0
getrlimit(RLIMIT STACK, {rlim cur=8192*1024, rlim max=RLIM INFINITY}) = 0
brk(0)                                  = 0x7fde6f417000
brk(0x7fde6f438000)                     = 0x7fde6f438000
getuid()                                = 0
socket(PF FILE, SOCK STREAM, 0)         = 3
connect(3, {sa family=AF FILE, path=@"/com/ubuntu/upstart"}, 22) = 0
fcntl(3, F GETFL)                       = 0x2 (flags O RDWR)
fcntl(3, F SETFL, O RDWR|O NONBLOCK)    = 0
fcntl(3, F GETFD)                       = 0
fcntl(3, F SETFD, FD CLOEXEC)           = 0
geteuid()                               = 0
rt sigaction(SIGPIPE, {SIG IGN, [PIPE], SA RESTORER|SA RESTART, 0x7fde6c693af0}, {SIG
DFL, [], 0}, 8) = 0
poll([{fd=3, events=POLLOUT}], 1, 0)    = 1 ([{fd=3, revents=POLLOUT}])
write(3, "\0", 1)                       = 1
write(3, "AUTH EXTERNAL 30\r\n", 18)    = 18
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
read(3, "OK c77747061a1f2ed0808cea824d419"..., 2048) = 37
poll([{fd=3, events=POLLOUT}], 1, -1)   = 1 ([{fd=3, revents=POLLOUT}])
write(3, "BEGIN\r\n", 7)                = 7
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{"l\1\2\1\10\0\0\0\1\0\0\0 \0\0\0\1\1o\0\23\0\0\0/com/ubu"..., 112}, {"\3\0\0\0ssh\0",
8}], 2) = 120
poll([{fd=3, events=POLLIN}], 1, 25000) = 1 ([{fd=3, revents=POLLIN}])
read(3, "l\2\1\1!\0\0\0\1\0\0\0\17\0\0\0\5\1u\0\1\0\0\0\10\1g\0\1o\0\0"..., 2048) =
65
read(3, 0x7fde6f419370, 2048)           = -1 EAGAIN (Resource temporarily unavailable)
writev(3, [{"l\1\2\1\10\0\0\0\2\0\0\0i\0\0\0\1\1o\0\34\0\0\0/com/ubu"..., 128}, {"\0\0\0\0\1\0\0\0",
8}], 2) = 136
poll([{fd=3, events=POLLIN}], 1, -1

I really can't find any solution for this problem, someone with the same problem here?

Regards,
Michael