Menu

#181 amrecover hangs during multi-tape restore

open
nobody
None
2022-07-19
2022-07-19
Anonymous
No

Originally created by: mcdamo

In a singledrive setup with a backup that spans tapes, amrecover will hang after asking for the next tape.

amrecover.20220716044941.debug.txt
amidxtaped.20220716045144.debug.txt

The crucial log is the last line of amidxtaped:

amidxtaped: ctl line: TP h-igetp:dvs

The expected result is

amidxtaped: CTL << TAPE chg-single:tape:/dev/st0

So it appears there is some problem with the client/server messaging.

I traced the problem to here, though I don't understand the underlying cause of why getline_async is failing at this point
https://github.com/zmanda/amanda/blob/6cec2349bfab67b4c6e5237c9ffdbff81ec2b6c7/server-src/amidxtaped.pl#L91-L92

Using non-async read is a workaround. It can be implemented by replacing those lines with:

my $buf;
$buf = $self->{'clientservice'}->getline($self->{'clientservice'}->{'ctl_stream'});
$steps->{'got_response'}->(undef, $buf);

This issue is present in v3.5 source as well as pre-built packages for various distributions.

Discussion


Log in to post a comment.