Re: Amanda 3.5.1 - "ERROR: amcheck-device terminated with signal 11"
Nathan Stratton Treadway <[email protected]>
| Newsgroups | gmane.comp.archivers.amanda.user |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Oct 11, 2020 at 14:48:13 -0400, Chris Hoogendyk wrote: > In any case, I currently have both systems flushing to tape using > the traditional taper scan. That may work for now, but it would be > good to track this down. It's also puzzling that it just turned up R.e. tracking this down: my thought is to see if we can track down the problem by tweaking the code for lexical.pm -- that way, you can trigger test runs using "amcheck -otaperscan=taper_lexical" without running the risk of having a normal cron job attempt to run the code you are in the middle of modifying. I've attached a patch which, hopefully, will both fix the "uninitialized" warning messages that have been appearing in the logs and also print some debugging info as it loops through the tape inventory so we can see if it dies in the middle of that loop. So, when you are ready to investigate further, save a copy of the original /usr/local/share/perl/5.22.1/Amanda/Taper/Scan/lexical.pm, then apply the patch to the "live" lexical.pm file, and then try running amcheck -s (with lexical scan) again. You may have to fix unblanced quotes or whatever typos in the patched lines, but hopefully you'll soon get a log file which lists the tapes in the inventory (but doesn't have the warning lines any more)... at which point, send me those log lines.... Nathan ---------------------------------------------------------------------------- Nathan Stratton Treadway - [email protected] - Mid-Atlantic region Ray Ontko & Co. - Software consulting services - http://www.ontko.com/ GPG Key: http://www.ontko.com/~nathanst/gpg_key.txt ID: 1023D/ECFB6239 Key fingerprint = 6AD8 485E 20B9 5C71 231C 0C32 15F3 ADCD ECFB 6239
lexical.pm.patch_20201011
(text/plain, 749 B)
--- lexical.pm_orig_v3.5.1 2020-10-11 18:23:37.650643033 -0400
+++ lexical.pm 2020-10-11 18:47:47.097749555 -0400
@@ -97,6 +97,10 @@
for my $i (0..(scalar(@$inventory)-1)) {
my $sl = $inventory->[$i];
+
+ # tracing segfault:
+ debug("slot: $i label: " . $sl->{'label'} . "ds: " . $$sl->{device_status});
+
next if $seen->{$sl->{slot}};
if (!defined $sl->{'state'} ||
@@ -104,6 +108,7 @@
push @unknown, $sl
} elsif ($sl->{'state'} == Amanda::Changer::SLOT_EMPTY) {
} elsif (defined $sl->{'label'} &&
+ defined $sl->{device_status} &&
$sl->{device_status} == $DEVICE_STATUS_SUCCESS) {
if ($self->is_reusable_volume(label => $sl->{'label'})) {
if ($last_label && $sl->{'label'} gt $last_label) {