Amanda-Users

Re: failures in 2.6.0 ("cannot read header ...")

2008-04-14 16:59:27
Subject: Re: failures in 2.6.0 ("cannot read header ...")
From: Jean-Louis Martineau <martineau AT zmanda DOT com>
To: "Dustin J. Mitchell" <dustin AT zmanda DOT com>
Date: Mon, 14 Apr 2008 16:15:52 -0400
Charles, Dustin,

I think the 127.0.0.2 is the source of the problem.
Check the named configuration and host database, NIS, /etc/hosts.
Why the hostname (fiume.localnet) resolve to 127.0.0.2?
Do you have an interface configured for 127.0.0.2?

Jean-Louis

Dustin J. Mitchell wrote:
On Fri, Apr 11, 2008 at 4:05 PM, Charles Stroom
<charles AT stremen.xs4all DOT nl> wrote:
Many thanks for the offer.  I will send you the last 3 days to your
 email address.

OK, the 172.0.0.2 stuff is definitely weird, but doesn't seem to be
causing the problem.  Here's what I found in the dumper debug logs:

1207905486.973842: dumper: security_getdriver(name=bsdtcp) returns 0xb7e7b1e0
1207905486.973863: dumper: security_handleinit(handle=0x805b110,
driver=0xb7e7b1e0 (BSDTCP))
1207905486.973900: dumper: security_streaminit(stream=0x805b1d8,
driver=0xb7e7b1e0 (BSDTCP))
1207905486.978126: dumper: connect_port: Skip port 700: owned by epp.
1207905486.978613: dumper: connect_port: Skip port 701: owned by lmp.
1207905486.979098: dumper: connect_port: Skip port 702: owned by iris-beep.
1207905486.982921: dumper: connect_port: Try  port 703: available - Success
1207905486.982936: dumper: connect_portrange: Connect from 0.0.0.0.703
failed: Cannot assign requested address
1207905486.982944: dumper: connect_portrange: connect to
127.0.0.2.10080 failed: Cannot assign requested address
1207905486.983435: dumper: connect_port: Skip port 704: owned by elcsd.
1207905486.983921: dumper: connect_port: Skip port 705: owned by agentx.
1207905486.984410: dumper: connect_port: Skip port 706: owned by silc.
1207905486.984896: dumper: connect_port: Skip port 707: owned by borland-dsj.
1207905486.988626: dumper: connect_port: Try  port 708: available - Success
1207905486.988638: dumper: connect_portrange: Connect from 0.0.0.0.708
failed: Cannot assign requested address
1207905486.988646: dumper: connect_portrange: connect to
127.0.0.2.10080 failed: Cannot assign requested address
1207905486.989138: dumper: connect_port: Skip port 709: owned by entrust-kmsh.
1207905486.989677: dumper: connect_port: Skip port 710: owned by entrust-ash.
1207905486.989685: dumper: connect_portrange: All ports between 700
and 710 are busy.
1207905486.989691: dumper: stream_client: Could not bind to port in
range 700-710.
1207905486.989702: dumper: security_seterror(handle=0x805b110,
driver=0xb7e7b1e0 (BSDTCP) error=Resource temporarily unavailable)
1207905486.989710: dumper: security_close(handle=0x805b110,
driver=0xb7e7b1e0 (BSDTCP))
1207905486.989720: dumper: security_stream_close(0x805b1d8)

So Amanda was compiled with a port range of 700-710.  Of those, only
703 and 708 are not registered with a service name in /etc/services,
so Amanda tried both of those ports, and got "Cannot assign requested
address" (EADDRNOTAVAIL).  Amanda then summed that up with the
(admittedly totally uninformative) error "Resource temporarily
unavailable" (EAGAIN).

Amanda is probably failing on those two ports because another dumper
is already using them.  On "good" days, Amanda manages to get each DLE
dumped via an open port, perhaps after retrying a few times.  On bad
days, a dumper or two gets retried too many times, and Amanda gives
up.

The solution is for you to rebuild Amanda with a bigger range of ports
or (if you're feeling hackish) to remove the other services in that
range from your /etc/services.  I'll look into changing the error
message.

HTH
Dustin