| Summary: | amandad segfaults (via inetd) while running amcheck | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Matthias Wegener <befreuungsfront> |
| Component: | Current packages | Assignee: | Robin Johnson <robbat2> |
| Status: | RESOLVED NEEDINFO | ||
| Severity: | major | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | PPC64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
could you please compile Amanda with CFLAGS="-g" and repeat the test to get a core file, and then post up a backtrace from gdb using it? *** Bug 72921 has been marked as a duplicate of this bug. *** please keep all of your messages on the bug tracker. it makes it possible for other people with the problem to reference them later. 1. run: CFLAGS="-g" CPPFLAGS="-g" USE="debug" FEATURES="nostrip keepwork keeptemp noclean" emerge amanda 2. open up /etc/limits, add a new line at the end: * C50000000 3. restart [x]inetd (make sure only one of them is running) 4. run 'amcheck -c G5' 5. it should time out as in your original bug, and now you can go and look for a file named 'core' or 'core.PID'. it may be in root's home directory, or in amanda's home directory, or somewhere else (I suggest running 'updatedb' and 'locate'). 6. run 'gdb /usr/libexec/amandad corefile' (ensure the correct path to the corefile from #5). 7. in gdb, run 'bt' and give me the output of everything from the start of running gdb to the end of the 'bt' output. ping no response from user. closing. |
hi, amandad segfaults with 2.4.4_p3 (_p4 also) when running amcheck on a linux ppc64. inetd is set up and listening on the three necessary ports: tcp 0 0 0.0.0.0:10082 0.0.0.0:* LISTEN 24203/inetd tcp 0 0 0.0.0.0:10083 0.0.0.0:* LISTEN 24203/inetd udp 0 0 0.0.0.0:10080 0.0.0.0:* 24203/inetd config files seem to be ok. here is the output of amcheck: amanda@transporter amanda $ amcheck G5 Amanda Tape Server Host Check ----------------------------- WARNING: holding disk /etc/amanda/dumps: only 55532944 KB free (90071992547409920 KB requested) amcheck-server: slot 3: date X label G5-03 (new tape) NOTE: skipping tape-writable test Tape G5-03 label ok Server check took 33.762 seconds Amanda Backup Client Hosts Check -------------------------------- WARNING: transporter: selfcheck reply timed out. Client check: 1 host checked in 180.935 seconds, 1 problem found (brought to you by Amanda 2.4.4p4) while amcheck runs, amandad segfaults several times. I'll attach the interessting part of the strace (-f). (...) [pid 27184] close(1018) = -1 EBADF (Bad file descriptor) [pid 27184] close(1019) = -1 EBADF (Bad file descriptor) [pid 27184] close(1020) = -1 EBADF (Bad file descriptor) [pid 27184] close(1021) = -1 EBADF (Bad file descriptor) [pid 27184] close(1022) = -1 EBADF (Bad file descriptor) [pid 27184] close(1023) = -1 EBADF (Bad file descriptor) [pid 27184] brk(0) = 0x10015000 [pid 27184] brk(0x10036000) = 0x10036000 [pid 27184] socket(PF_UNIX, SOCK_STREAM, 0) = 3 [pid 27184] fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) [pid 27184] fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 [pid 27184] connect(3, {sa_family=AF_UNIX, path="/var/run/nscd/socket"}, 110) = 0 [pid 27184] poll([{fd=3, events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1 [pid 27184] writev(3, [{"\0\0\0\2\0\0\0\v\0\0\0\7", 12}, {"passwd\0", 7}], 2) = 19 [pid 27184] poll([{fd=3, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1 [pid 27184] recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\0\0\0\200\0/n", 7}], msg_controllen=0, msg_flags=0}, 0) = 0 [pid 27184] close(3) = 0 [pid 27184] socket(PF_UNIX, SOCK_STREAM, 0) = 3 [pid 27184] fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) [pid 27184] fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 [pid 27184] connect(3, {sa_family=AF_UNIX, path="/var/run/nscd/socket"}, 110) = 0 [pid 27184] poll([{fd=3, events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1 [pid 27184] writev(3, [{"\0\0\0\2\0\0\0\0\0\0\0\7", 12}, {"amanda\0", 7}], 2) = 19 [pid 27184] poll([{fd=3, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1 [pid 27184] read(3, "\0\0\0\2\0\0\0\1\0\0\0\7\0\0\0\2\0\0\0W\0\0\0W\0\0\0\34"..., 36) = 36 [pid 27184] read(3, "amanda\0x\0added by portage for am"..., 65) = 65 [pid 27184] close(3) = 0 [pid 27184] umask(077) = 022 [pid 27184] access("/var/spool/amanda/tmp", F_OK) = 0 [pid 27184] chdir("/var/spool/amanda/tmp") = 0 [pid 27184] stat(".", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 [pid 27184] stat("core", 0x1fffffbf300) = -1 ENOENT (No such file or directory) [pid 27184] geteuid() = 87 [pid 27184] gettimeofday({1101823477, 235308}, {18446743816011513856, 2199023253832}) = 0 [pid 27184] select(1, [0], NULL, NULL, {30, 0}) = 1 (in [0], left {30, 0}) [pid 27184] recvfrom(0, "Amanda 2.4 REQ HANDLE 000-000000"..., 65503, 0, {sa_family=AF_INET, sin_port=htons(545), sin_addr=inet_addr("192.168.1.20")}, [16]) = 125 [pid 27184] sendto(0, "Amanda 2.4 ACK HANDLE 000-000000"..., 58, 0, {sa_family=AF_INET, sin_port=htons(545), sin_addr=inet_addr("192.168.1.20")}, 16) = 58 [pid 27184] socket(PF_UNIX, SOCK_STREAM, 0) = 3 [pid 27184] fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) [pid 27184] fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 [pid 27184] connect(3, {sa_family=AF_UNIX, path="/var/run/nscd/socket"}, 110) = 0 [pid 27184] poll([{fd=3, events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1 [pid 27184] writev(3, [{"\0\0\0\2\0\0\0\r\0\0\0\6", 12}, {"hosts\0", 6}], 2) = 18 [pid 27184] poll([{fd=3, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1 [pid 27184] recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\0\0\0\200\0\7", 6}], msg_controllen=0, msg_flags=0}, 0) = 0 [pid 27184] close(3) = 0 [pid 27184] socket(PF_UNIX, SOCK_STREAM, 0) = 3 [pid 27184] fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) [pid 27184] fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 [pid 27184] connect(3, {sa_family=AF_UNIX, path="/var/run/nscd/socket"}, 110) = 0 [pid 27184] poll([{fd=3, events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1 [pid 27184] writev(3, [{"\0\0\0\2\0\0\0\6\0\0\0\4", 12}, {"\300\250\1\24", 4}], 2) = 16 [pid 27184] poll([{fd=3, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1 [pid 27184] read(3, "\0\0\0\2\0\0\0\1\0\0\0\f\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0"..., 32) = 32 [pid 27184] readv(3, [{"transporter\0", 12}, {"\300\250\1\24", 4}], 2) = 16 [pid 27184] read(3, NULL, 0) = 0 [pid 27184] close(3) = 0 [pid 27184] gettimeofday({1101823477, 237865}, NULL) = 0 [pid 27184] getpid() = 27184 [pid 27184] open("/etc/resolv.conf", O_RDONLY) = 3 [pid 27184] fstat(3, {st_mode=S_IFREG|0644, st_size=88, ...}) = 0 [pid 27184] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x8000024000 [pid 27184] read(3, "domain bauwelt\n#nameserver 137.1"..., 4096) = 88 [pid 27184] read(3, "", 4096) = 0 [pid 27184] close(3) = 0 [pid 27184] munmap(0x8000024000, 4096) = 0 [pid 27184] socket(PF_UNIX, SOCK_STREAM, 0) = 3 [pid 27184] fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) [pid 27184] fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 [pid 27184] connect(3, {sa_family=AF_UNIX, path="/var/run/nscd/socket"}, 110) = 0 [pid 27184] poll([{fd=3, events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1 [pid 27184] writev(3, [{"\0\0\0\2\0\0\0\4\0\0\0\f", 12}, {"transporter\0", 12}], 2) = 24 [pid 27184] poll([{fd=3, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1 [pid 27184] read(3, "\0\0\0\2\0\0\0\1\0\0\0\f\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0"..., 32) = 32 [pid 27184] readv(3, [{"transporter\0", 12}, {"\300\250\1\24", 4}], 2) = 16 [pid 27184] read(3, NULL, 0) = 0 [pid 27184] close(3) = 0 [pid 27184] getuid() = 87 [pid 27184] socket(PF_UNIX, SOCK_STREAM, 0) = 3 [pid 27184] fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) [pid 27184] fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 [pid 27184] connect(3, {sa_family=AF_UNIX, path="/var/run/nscd/socket"}, 110) = 0 [pid 27184] poll([{fd=3, events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1 [pid 27184] writev(3, [{"\0\0\0\2\0\0\0\1\0\0\0\3", 12}, {"87\0", 3}], 2) = 15 [pid 27184] poll([{fd=3, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1 [pid 27184] read(3, "\0\0\0\2\0\0\0\1\0\0\0\7\0\0\0\2\0\0\0W\0\0\0W\0\0\0\34"..., 36) = 36 [pid 27184] read(3, "amanda\0x\0added by portage for am"..., 65) = 65 [pid 27184] close(3) = 0 [pid 27184] open("/var/spool/amanda/.amandahosts", O_RDONLY) = 3 [pid 27184] fstat(3, {st_mode=S_IFREG|0644, st_size=47, ...}) = 0 [pid 27184] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x8000024000 [pid 27184] read(3, "transporter.bauwelt.de\tamanda\nlo"..., 4096) = 47 [pid 27184] read(3, "", 4096) = 0 [pid 27184] close(3) = 0 [pid 27184] munmap(0x8000024000, 4096) = 0 [pid 27184] --- SIGSEGV (Segmentation fault) @ 0 (0) --- Process 27184 detached <... select resumed> ) = ? ERESTARTNOHAND (To be restarted) --- SIGCHLD (Child exited) @ 0 (0) --- wait4(-1, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], WNOHANG, NULL) = 27184 time([1101823477]) = 1101823477 open("/etc/localtime", O_RDONLY) = 10 fstat(10, {st_mode=S_IFREG|0644, st_size=837, ...}) = 0 close(10) = 0 open("/etc/localtime", O_RDONLY) = 10 fstat(10, {st_mode=S_IFREG|0644, st_size=837, ...}) = 0 close(10) = 0 open("/etc/localtime", O_RDONLY) = 10 fstat(10, {st_mode=S_IFREG|0644, st_size=837, ...}) = 0 close(10) = 0 getpid() = 24203 rt_sigaction(SIGPIPE, {0x8000195ab8, [], 0}, {SIG_IGN}, 8) = 0 send(3, "<28>Nov 30 15:04:37 inetd[24203]"..., 82, 0) = 82 rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 wait4(-1, 0x1fffffbe758, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn(0xffffffffffffffff) = -1 EINTR (Interrupted system call) rt_sigprocmask(SIG_BLOCK, [HUP ALRM CHLD], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 select(10, [4 5 6 7 8 9], NULL, NULL, NULL <unfinished ...> syslog says: Nov 30 15:04:37 [inetd] /usr/libexec/amandad (pid 27184): exit signal 11 Nov 30 15:05:38 [inetd] /usr/libexec/amandad (pid 27499): exit signal 11 Nov 30 15:06:39 [inetd] /usr/libexec/amandad (pid 27500): exit signal 11 Reproducible: Always Steps to Reproduce: 1. Setup amanda, including inetd 2. Run amcheck 3. Watch it fail Actual Results: amcheck tells me WARNING: transporter: selfcheck reply timed out. (an error, that - according to the amanda-faq - may occur, if inetd is not set up properly) Expected Results: amcheck should tell me, that everything is fine ;) transporter root # emerge info Portage 2.0.51-r3 (default-ppc64-2004.3, gcc-3.4.1, glibc-2.3.4.20041102-r0, 2. 6.9 ppc64) ================================================================= System uname: 2.6.9 ppc64 PPC970FX, altivec supported Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.3-r3 Headers: sys-kernel/linux26-headers-2.6.8.1-r1 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="ppc64" AUTOCLEAN="yes" CFLAGS="-O2" CHOST="powerpc64-unknown-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/ config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache distlocks sandbox" GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="berkdb bitmap-fonts cups dvd f77 foomaticdb fortran gdbm gif imlib jpeg libwww mitshm nls oggvorbis oss pam perl png ppc64 python readline sdl slang ssl tcpd truetype xv"