Hi, On 14/12/11 20:50, Henrique de Moraes Holschuh wrote: > On Wed, 14 Dec 2011, Michael Reincke wrote: >> But when changing the init script >> as105849:~# diff -u /etc/init.d/amavis-save /etc/init.d/amavis >> --- /etc/init.d/amavis-save 2011-12-14 10:19:07.000000000 +0100 >> +++ /etc/init.d/amavis 2011-12-14 10:19:32.000000000 +0100 >> @@ -42,7 +42,7 @@ >> set -e >> >> START="--start --quiet --pidfile $PIDFILE --name ${DAEMONNAME} --startas >> ${DAEMON}" >> -STOP="--stop --quiet --pidfile $PIDFILE --name ${DAEMONNAME}" >> +STOP="--stop --quiet --pidfile $PIDFILE" >> PARAMS= >> >> check_noncompatible_upgrade() { >> as105849:~# >> >> It works: > > Ok, so what broke perl/start-stop-daemon, now? --name uses > /proc/<pid>/stat to locate the process... > > Might be the kernel, it seems to be failing on 3.1. > > Please give us the output of cat /proc/<pid of an amavis process>/stat, > preferably for the master process (the one listed in the pid file). > the output as requested:
<503 pcew80@reincke:~> ps -aef | grep amavis amavis 2299 1 0 00:47 ? 00:00:01 amavisd (master) amavis 2496 2299 0 00:47 ? 00:00:00 amavisd (ch7-avail) amavis 2497 2299 0 00:47 ? 00:00:00 amavisd (ch7-avail) amavis 2498 2299 0 00:47 ? 00:00:00 amavisd (ch6-avail) reincke 7749 7078 0 08:32 pts/1 00:00:00 grep amavis <504 pcew80@reincke:~> cat /proc/2299/stat 2299 (amavisd (master) S 1 2299 2299 0 -1 4202560 9771 0 4 0 119 5 0 0 20 0 1 0 22660083 221208576 22204 18446744073709551615 1 1 0 0 0 0 0 4224 81927 18446744073709551615 0 0 17 2 0 0 7 0 0 > Failing that, stracing the start-stop-daemon call should tell us what is > wrong... Additional I attach to files of a strace call for start-satop-daemon 1. strace start-stop-daemon --stop --quiet --pidfile /var/run/amavis/amavisd.pid --name amavisd-new --retry 10 >> /tmp/amavis_strace_with_name_option 2>&1 2. strace start-stop-daemon --stop --quiet --pidfile /var/run/amavis/amavisd.pid --retry 10 >> /tmp/amavis_strace_without_name_option 2>&1 Regards Michael Reincke -- Dipl.-Math. Michael Reincke System Services ATLAS ELEKTRONIK GmbH Sebaldsbruecker Heerstrasse 235 28309 BREMEN GERMANY Telefon / Phone +49 (0)421 457-2302 Telefax / Fax +49 (0)421 457-2977 michael.rein...@atlas-elektronik.com www.atlas-elektronik.com Geschäftsführung / Management Board: Dieter Rottsieper (Vorsitz / Chairman), Volker Paltzo Vorsitzender des Aufsichtsrats / Chairman Supervisory Board: Dr. Stefan Zoller Sitz der Gesellschaft / Registered Office: Bremen Register / Commercial Register: Amtsgericht Bremen, HRB 21570
execve("/sbin/start-stop-daemon", ["start-stop-daemon", "--stop", "--quiet", "--pidfile", "/var/run/amavis/amavisd.pid", "--name", "amavisd-new", "--retry", "10"], [/* 33 vars */]) = 0 brk(0) = 0x1adf000 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) = 0x7fe87ed46000 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=122342, ...}) = 0 mmap(NULL, 122342, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fe87ed28000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/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\300\357\1\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1570832, ...}) = 0 mmap(NULL, 3684440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fe87e7a5000 mprotect(0x7fe87e91f000, 2097152, PROT_NONE) = 0 mmap(0x7fe87eb1f000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17a000) = 0x7fe87eb1f000 mmap(0x7fe87eb24000, 18520, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe87eb24000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe87ed27000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe87ed26000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe87ed25000 arch_prctl(ARCH_SET_FS, 0x7fe87ed26700) = 0 mprotect(0x7fe87eb1f000, 16384, PROT_READ) = 0 mprotect(0x605000, 4096, PROT_READ) = 0 mprotect(0x7fe87ed48000, 4096, PROT_READ) = 0 munmap(0x7fe87ed28000, 122342) = 0 brk(0) = 0x1adf000 brk(0x1b00000) = 0x1b00000 open("/var/run/amavis/amavisd.pid", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0640, st_size=5, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe87ed45000 read(3, "2299\n", 4096) = 5 open("/proc/2299/stat", O_RDONLY) = 4 fstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe87ed44000 read(4, "2299 (amavisd (master) S 1 2299 "..., 1024) = 226 close(4) = 0 munmap(0x7fe87ed44000, 4096) = 0 close(3) = 0 munmap(0x7fe87ed45000, 4096) = 0 exit_group(1) = ?
execve("/sbin/start-stop-daemon", ["start-stop-daemon", "--stop", "--quiet", "--pidfile", "/var/run/amavis/amavisd.pid", "--retry", "10"], [/* 33 vars */]) = 0 brk(0) = 0x1fee000 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) = 0x7f6a5cac4000 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=122342, ...}) = 0 mmap(NULL, 122342, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6a5caa6000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/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\300\357\1\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1570832, ...}) = 0 mmap(NULL, 3684440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6a5c523000 mprotect(0x7f6a5c69d000, 2097152, PROT_NONE) = 0 mmap(0x7f6a5c89d000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17a000) = 0x7f6a5c89d000 mmap(0x7f6a5c8a2000, 18520, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f6a5c8a2000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6a5caa5000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6a5caa4000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6a5caa3000 arch_prctl(ARCH_SET_FS, 0x7f6a5caa4700) = 0 mprotect(0x7f6a5c89d000, 16384, PROT_READ) = 0 mprotect(0x605000, 4096, PROT_READ) = 0 mprotect(0x7f6a5cac6000, 4096, PROT_READ) = 0 munmap(0x7f6a5caa6000, 122342) = 0 brk(0) = 0x1fee000 brk(0x200f000) = 0x200f000 open("/var/run/amavis/amavisd.pid", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0640, st_size=5, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6a5cac3000 read(3, "2299\n", 4096) = 5 close(3) = 0 munmap(0x7f6a5cac3000, 4096) = 0 kill(2299, SIGTERM) = 0 kill(2299, SIG_0) = 0 select(0, NULL, NULL, NULL, {0, 20000}) = 0 (Timeout) kill(2299, SIG_0) = 0 select(0, NULL, NULL, NULL, {0, 20000}) = 0 (Timeout) kill(2299, SIG_0) = -1 ESRCH (No such process) exit_group(0) = ?