* Jean-Francois Malouin <jean-francois.malo...@bic.mni.mcgill.ca> [20170210 
11:22]:
> * Jean-Louis Martineau <jmartin...@carbonite.com> [20170210 11:10]:
> > valgrind is a useful tool to find memory corruption.
> > 
> > Try the attached patch.
> 
> Thanks Jean-Louis.
> 
> I'll try as soon as the server finishes a flush run. 
> Should take a few more hours to complete.

This as seemingly solved the glitch with amadmin:

~# ~amanda/sbin/amadmin top tape
The next Amanda should go onto 3 new tapes.
The next 3 new tapes already labelled are: NEO-T48-B00028, NEO-T48-B00029, 
NEO-T48-B00030

Thanks Jean-Louis,

jf
> 
> Thanks,
> jf
> 
> > 
> > Jean-Louis
> > 
> > On 10/02/17 09:35 AM, Jean-Francois Malouin wrote:
> > > * Jean-Louis Martineau <jmartin...@carbonite.com> [20170210 07:54]:
> > >> Jean-Francois,
> > >>
> > >> I was not able to find the problem with the stacktrace.
> > >>
> > >> Do you have valgrind installed on your system?, if yes, can you run the
> > >> following command:
> > >> G_DEBUG=gc-friendly G_SLICE=always-malloc valgrind --trace-children=yes
> > >> --log-file=valgrind.amtape.output --leak-check=full
> > >> --leak-resolution=high --track-origins=yes amadmin top tape
> > >>
> > >> And send me the resulting valgrind.amtape.output file.
> > > The output from valgrind file is attached.
> > >
> > > cheers,
> > > jf
> > >
> > >> Jean-Louis
> > >>
> > >> On 09/02/17 02:19 PM, Jean-Francois Malouin wrote:
> > >>> * Jean-Louis Martineau <jmartin...@carbonite.com> [20170209 14:09]:
> > >>>> Jean-Francois,
> > >>>>
> > >>>> Can you run amadmin in gdb and get a stacktrace?
> > >>>>
> > >>>> $ gdb ~amanda/sbin/amadmin
> > >>>> (gdb) run top tape
> > >>>> (gdb) bt
> > >>>> (gdb) quit
> > >>>>
> > >>>> Jean-Louis
> > >>> Here you go:
> > >>>
> > >>> amanda@dow:~$ gdb ~amanda/sbin/amadmin
> > >>> GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
> > >>> Copyright (C) 2014 Free Software Foundation, Inc.
> > >>> License GPLv3+: GNU GPL version 3 or later
> > >>> <http://gnu.org/licenses/gpl.html>
> > >>> This is free software: you are free to change and redistribute it.
> > >>> There is NO WARRANTY, to the extent permitted by law.  Type "show 
> > >>> copying"
> > >>> and "show warranty" for details.
> > >>> This GDB was configured as "x86_64-linux-gnu".
> > >>> Type "show configuration" for configuration details.
> > >>> For bug reporting instructions, please see:
> > >>> <http://www.gnu.org/software/gdb/bugs/>.
> > >>> Find the GDB manual and other documentation resources online at:
> > >>> <http://www.gnu.org/software/gdb/documentation/>.
> > >>> For help, type "help".
> > >>> Type "apropos word" to search for commands related to "word"...
> > >>> Reading symbols from /opt/amanda/sbin/amadmin...(no debugging symbols
> > >>> found)...done.
> > >>> (gdb) run top tape
> > >>> Starting program: /opt/amanda-3.4.2/sbin/amadmin top tape
> > >>> [Thread debugging using libthread_db enabled]
> > >>> Using host libthread_db library 
> > >>> "/lib/x86_64-linux-gnu/libthread_db.so.1".
> > >>> The next Amanda should go onto 3 new tapes.
> > >>> *** Error in `/opt/amanda-3.4.2/sbin/amadmin': corrupted double-linked 
> > >>> list: 0x00000000006f4710 ***
> > >>> The next 3 new tapes already labelled are: NEO-T48-B00022,
> > >>> NEO-T48-B00023, NEO-T48-B00024
> > >>> Program received signal SIGABRT, Aborted.
> > >>> 0x00007ffff50ee067 in __GI_raise (sig=sig@entry=6) at 
> > >>> ../nptl/sysdeps/unix/sysv/linux/raise.c:56
> > >>> 56  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> > >>> (gdb) bt
> > >>> #0  0x00007ffff50ee067 in __GI_raise (sig=sig@entry=6) at 
> > >>> ../nptl/sysdeps/unix/sysv/linux/raise.c:56
> > >>> #1  0x00007ffff50ef448 in __GI_abort () at abort.c:89
> > >>> #2  0x00007ffff512c1b4 in __libc_message (do_abort=do_abort@entry=1, 
> > >>> fmt=fmt@entry=0x7ffff5221210 "*** Error in `%s': %s: 0x%s ***\n") at 
> > >>> ../sysdeps/posix/libc_fatal.c:175
> > >>> #3  0x00007ffff513198e in malloc_printerr (action=1, str=0x7ffff521d2ec 
> > >>> "corrupted double-linked list", ptr=<optimized out>) at malloc.c:4996
> > >>> #4  0x00007ffff5131c4c in malloc_consolidate 
> > >>> (av=av@entry=0x7ffff545e620 <main_arena>) at malloc.c:4165
> > >>> #5  0x00007ffff5132e98 in _int_malloc (av=0x7ffff545e620 <main_arena>, 
> > >>> bytes=32816) at malloc.c:3423
> > >>> #6  0x00007ffff5135020 in __GI___libc_malloc (bytes=32816) at 
> > >>> malloc.c:2891
> > >>> #7  0x00007ffff516ee31 in __alloc_dir (fd=3, close_fd=<optimized out>, 
> > >>> flags=<optimized out>, statp=<optimized out>) at 
> > >>> ../sysdeps/posix/opendir.c:207
> > >>> #8  0x00007ffff74a5d19 in debug_unlink_old () from 
> > >>> /opt/amanda/lib/amanda/libamanda-3.4.2.so
> > >>> #9  0x00007ffff74a6cf2 in debug_close () from 
> > >>> /opt/amanda/lib/amanda/libamanda-3.4.2.so
> > >>> #10 0x00000000004038b7 in main ()
> > >>> (gdb) quit
> > >>> A debugging session is active.
> > >>>
> > >>>       Inferior 1 [process 4173] will be killed.
> > >>>
> > >>> Quit anyway? (y or n) y
> > >>>
> > >>> cheers,
> > >>> jf
> > >>>
> > >>>> On 09/02/17 01:56 PM, Jean-Francois Malouin wrote:
> > >>>>> * Stefan G. Weichinger <s...@amanda.org> [20170209 13:36]:
> > >>>>>> Does anyone use amanda 3.4.2 packages on debian jessie already?
> > >>>>>> Which one, do they work?
> > >>>>> I only see amanda 3.3.6 on Debian/Jessie stable repos at the moment:
> > >>>>>
> > >>>>> Inst amanda-common (1:3.3.6-4 Debian:8.7/stable [amd64])
> > >>>>> Inst amanda-server (1:3.3.6-4 Debian:8.7/stable [amd64])
> > >>>>> Inst amanda-client (1:3.3.6-4 Debian:8.7/stable [amd64])
> > >>>>>
> > >>>>> I've been running a self-compiled amanda-3.4.1 on a Jessie host for a
> > >>>>> month now with little problems so far, except this
> > >>>>>
> > >>>>> :~# su amanda -c "~amanda/sbin/amadmin top tape"
> > >>>>> The next Amanda should go onto 3 new tapes.
> > >>>>> *** Error in `/opt/amanda/sbin/amadmin': corrupted double-linked 
> > >>>>> list: 0x0000000001153710 ***
> > >>>>> The next 3 new tapes already labelled are: NEO-T48-B00022, 
> > >>>>> NEO-T48-B00023, NEO-T48-B00024
> > >>>>>
> > >>>>> I have seen this on 3.4.1 and 3.4.2 (I just upgraded).
> > >>>>>
> > >>>>> cheers,
> > >>>>> jf
> > >>>>>
> > >>>>>
> > >>>>>> I have to switch OS on a backup server and want to stay with
> > >>>>>> amanda-3.4.x because I need some of the latest features ...
> > >>>>>>
> > >>>>>> self-compile, you know ... I can do but I'd like to avoid.
> > >>>>>> lower maintenance.
> 
> > diff --git a/server-src/amadmin.c b/server-src/amadmin.c
> > index 4c25e87..3653bab 100644
> > --- a/server-src/amadmin.c
> > +++ b/server-src/amadmin.c
> > @@ -774,16 +774,13 @@ tape(
> >         }
> >         if (c == 1) {
> >             printf("The next new tape already labelled is: %s.", *tapes);
> > -           g_free(*tapes);
> >         } else {
> >             printf("The next %d new tapes already labelled are: %s",
> >                     c, *tapes);
> > -           g_free(*tapes);
> >             tape = tapes;
> >             tape++;
> >             while (*tape != NULL) {
> >                 printf(", %s", *tape);
> > -               g_free(*tape);
> >                 tape++;
> >             }
> >         }
> 
> 
> -- 
> Jean-Francois Malouin | IT Operations and Infrastructure
> McConnell Brain Imaging Centre | MNI | McGill University

Reply via email to