Results 1 to 10 of 21

Thread: amdump segfault in 2.5.1b

Hybrid View

  1. #1
    Join Date
    Aug 2006
    Posts
    34

    Default amdump segfault in 2.5.1b

    This week I installed Amanda 2.5.1b from RPM on a RedHat EL4 x86_64 machine. When I run amdump, I get the following:

    Code:
     ~]$ sudo su amandabackup -c "amdump  ISDaily2.5"
    *** glibc detected *** double free or corruption (fasttop): 0x0805d658 ***
    This shows up in dmesg:
    Code:
    driver[11483]: segfault at 0000000000000011 rip 0000000000707f5b rsp 00000000ffff1bec error 4
    excerpt from /var/lib/amanda/ISDaily/amdump.1:
    Code:
    taper: DONE [idle wait: 2.637 secs]
    /usr/sbin/amdump: line 109: 11847 Done                    $libexecdir/planner$SUF $conf "$@"
         11848 Aborted                 | $libexecdir/driver$SUF $conf "$@"
    taper: writing end marker. [ISDaily04 OK kb 0 fm 0]
    The only other record I see of the glibc double free error on this forum is a user who didn't have the right version of Tar. I'm running tar-1.14-9.RHEL4. Could this be the issue?

    What other info can I provide to help debug? Output of amadmin version?

    thanks!
    B.

  2. #2
    Join Date
    Oct 2005
    Posts
    1,559

    Default

    Which version of 2.5.1? Is it 2.5.1b1 or 2.5.1b2? 2.5.1b2 addresses significant
    memory allocation issues.

    Please use tar 1.15.1 version. Some tar 1.14 versions have known to problems
    that will cause restoration issues.

    Are you using rpms from [url]http://www.zmanda.com/downloads.html[/url] or
    are you building on your own? If you have compiled on your own,
    please provide output of "amadmin xx version"

    Thanks,
    Paddy

  3. #3
    Join Date
    Aug 2006
    Posts
    34

    Default

    Hi Paddy - it's 2.5.1b2 from the zmanda downloads page:

    output of 'rpm -qa | grep amanda':
    amanda-backup_client-2.5.1b2-1.rhel4
    amanda-backup_server-2.5.1b2-1.rhel4

    I'll update Tar to 1.15.1 and see how it goes.

  4. #4
    Join Date
    Aug 2006
    Posts
    34

    Default

    Hm... same result with 1.15.1:

    Code:
    # su amandabackup -c "amdump  ISDaily2.5"
    *** glibc detected *** double free or corruption (fasttop): 0x0805d658 ***
    # tar --version
    tar (GNU tar) 1.15.1

  5. #5
    Join Date
    Oct 2005
    Posts
    1,559

    Default

    Can you please run amdump with -x option?

    Change the first line in amdump script to
    #!/bin/sh -x

    Depending on which command in the script causes this problem, you will
    have to run the command under "valgrind". Please note that you will
    have to run as a root.

    Thanks for your help in debugging the problem. Unfortunately, we are not
    seeing this problem.

    Paddy

  6. #6
    Join Date
    Aug 2006
    Posts
    34

    Default

    # su amandabackup -c "amdump ISDaily2.5"
    Code:
    + prefix=/usr
    + exec_prefix=/usr
    + sbindir=/usr/sbin
    + libexecdir=/usr/lib/amanda
    + confdir=/etc/amanda
    + PATH=/usr/sbin:/usr/lib/amanda:/usr/bin:/bin:/usr/sbin:/sbin:/usr/ucb
    + export PATH
    + USE_VERSION_SUFFIXES=no
    + test no = yes
    + SUF=
    + '[' 1 -lt 1 ']'
    + conf=ISDaily2.5
    + '[' '!' -d /etc/amanda/ISDaily2.5 ']'
    + shift
    + cd /etc/amanda/ISDaily2.5
    ++ amgetconf ISDaily2.5 logdir
    + logdir=/var/lib/amanda/ISDaily
    + '[' 0 -ne 0 ']'
    + errfile=/var/lib/amanda/ISDaily/amdump
    ++ amgetconf ISDaily2.5 tapecycle
    + tapecycle=15
    + '[' 0 -ne 0 ']'
    ++ amgetconf ISDaily2.5 dumpuser
    + dumpuser=amandabackup
    + '[' 0 -ne 0 ']'
    + runuser=amandabackup
    + '[' 0 -ne 0 ']'
    + test -f hold
    + test -f /var/lib/amanda/ISDaily/amdump
    + test -f /var/lib/amanda/ISDaily/log
    + umask 077
    + touch /var/lib/amanda/ISDaily/amdump
    + exec
    *** glibc detected *** double free or corruption (fasttop): 0x0805d658 ***
    This seems to imply that either planner or dumper are at fault since the last line in amdump to run is exec:
    Code:
    touch $errfile
    exec </dev/null 2>>$errfile 1>&2
    echo "amdump: start at `date`"
    echo "amdump: datestamp `date +%Y%m%d`"
    $libexecdir/planner$SUF $conf "$@" | $libexecdir/driver$SUF $conf "$@"
    echo "amdump: end at `date`"
    I removed the suid bit for dumper and ran Valgrind but am not sure what I'm looking for:
    Code:
    #  valgrind  --tool=memcheck /usr/lib/amanda/dumper ISDaily2.5
    ==15828== Memcheck, a memory error detector for x86-linux.
    ==15828== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward et al.
    ==15828== Using valgrind-2.2.0, a program supervision framework for x86-linux.
    ==15828== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward et al.
    ==15828== For more details, rerun with: -v
    ==15828== 
    ==15828== Warning: invalid file descriptor 820 in syscall close()
    ==15828== Warning: invalid file descriptor 821 in syscall close()
    ==15828== Warning: invalid file descriptor 822 in syscall close()
    ==15828==    Use --log-fd=<number> to select an alternative log fd.
    ==15828== Warning: invalid file descriptor 823 in syscall close()
    ==15828== Warning: invalid file descriptor 824 in syscall close()
    ==15828== Warning: invalid file descriptor 825 in syscall close()
    ==15828== Warning: invalid file descriptor 826 in syscall close()
    ==15828== Warning: invalid file descriptor 827 in syscall close()
    ==15828== Warning: invalid file descriptor 828 in syscall close()
    < snip >
    15828== Warning: invalid file descriptor 1020 in syscall close()
    ==15828== Warning: invalid file descriptor 1021 in syscall close()
    ==15828== Warning: invalid file descriptor 1022 in syscall close()
    ==15828== Warning: invalid file descriptor 1023 in syscall close()
    dumper: pid 15828 executable /usr/lib/amanda/dumper version 2.5.1b2
    dumper> (null)
    ==15828== Invalid read of size 1
    ==15828==    at 0x1B9651E0: quote (token.c:178)
    ==15828==    by 0x1B9653A6: squote (token.c:161)
    ==15828==    by 0x804C79A: main (dumper.c:514)
    ==15828==  Address 0x1B9ADAD0 is 0 bytes inside a block of size 128 free'd
    ==15828==    at 0x1B904EA5: free (vg_replace_malloc.c:153)
    ==15828==    by 0x1B92D56B: getcmd (server_util.c:74)
    ==15828==    by 0x804C834: main (dumper.c:335)
    ==15828== 
    ==15828== Invalid read of size 1
    ==15828==    at 0x1B96524F: quote (token.c:205)
    ==15828==    by 0x1B9653A6: squote (token.c:161)
    ==15828==    by 0x804C79A: main (dumper.c:514)
    ==15828==  Address 0x1B9ADAD0 is 0 bytes inside a block of size 128 free'd
    ==15828==    at 0x1B904EA5: free (vg_replace_malloc.c:153)
    ==15828==    by 0x1B92D56B: getcmd (server_util.c:74)
    ==15828==    by 0x804C834: main (dumper.c:335)
    BAD-COMMAND 
    dumper> (null)==15828== 
    ==15828== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 24 from 2)
    ==15828== malloc/free: in use at exit: 29448 bytes in 496 blocks.
    ==15828== malloc/free: 656 allocs, 160 frees, 42370 bytes allocated.
    ==15828== For a detailed leak analysis,  rerun with: --leak-check=yes
    ==15828== For counts of detected errors, rerun with: -v
    Last edited by bethany; August 10th, 2006 at 05:02 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •