OK, I restarted dovecot with

auth_executable = /usr/bin/valgrind --log-file=/var/run/dovecot/valgrind.%p
/usr/lib/dovecot/dovecot-auth

as you suggested.  My dovecot-auth process just quit:

Jul 11 17:50:33 helium dovecot: auth(default):
worker-server(andrex,127.0.0.1): Aborted: Worker process died unexpectedly
Jul 11 17:50:33 helium dovecot: child 14415 (auth-worker) returned error 1

but this time with signal 1, apparently because valgrind wasn't able to
allocate any more memory.  The valgrind log is below.

It seems that valgrind did find some memory problems, but then crashed
before dovecot-auth.  So, is the information that it found sufficient, or
should I go back and rerun it, paying more careful attention to ulimit?

Thanks,
Andrew.

# cat /var/run/dovecot/valgrind.14415
==14415== Memcheck, a memory error detector.
==14415== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==14415== Using LibVEX rev 1884, a library for dynamic binary translation.
==14415== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==14415== Using valgrind-3.4.1-Debian, a dynamic binary instrumentation
framework.
==14415== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==14415== For more details, rerun with: -v
==14415== 
==14415== My PID = 14415, parent PID = 14406.  Prog and args are:
==14415==    /usr/lib/dovecot/dovecot-auth
==14415==    -w
==14415== 
==14415== Invalid write of size 8
==14415==    at 0x400D420: (within /lib/ld-2.9.so)
==14415==    by 0x6B2330B: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432EEA: io_loop_handler_run (in
/usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432357: io_loop_run (in /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x418131: main (in /usr/lib/dovecot/dovecot-auth)
==14415==  Address 0x8e33f58 is 16 bytes inside a block of size 32 free'd
==14415==    at 0x4C2261F: free (vg_replace_malloc.c:323)
==14415==    by 0x9A6E319: ???
==14415==    by 0x9A60E1E: ???
==14415==    by 0x9A6FEB0: ???
==14415==    by 0x40130DB: (within /lib/ld-2.9.so)
==14415==    by 0x400D405: (within /lib/ld-2.9.so)
==14415==    by 0x6B2330B: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415== 
==14415== Invalid write of size 8
==14415==    at 0x400D42C: (within /lib/ld-2.9.so)
==14415==    by 0x6B2330B: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432EEA: io_loop_handler_run (in
/usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432357: io_loop_run (in /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x418131: main (in /usr/lib/dovecot/dovecot-auth)
==14415==  Address 0x8e33f60 is 24 bytes inside a block of size 32 free'd
==14415==    at 0x4C2261F: free (vg_replace_malloc.c:323)
==14415==    by 0x9A6E319: ???
==14415==    by 0x9A60E1E: ???
==14415==    by 0x9A6FEB0: ???
==14415==    by 0x40130DB: (within /lib/ld-2.9.so)
==14415==    by 0x400D405: (within /lib/ld-2.9.so)
==14415==    by 0x6B2330B: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415== 
==14415== Invalid write of size 1
==14415==    at 0x400D433: (within /lib/ld-2.9.so)
==14415==    by 0x6B2330B: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432EEA: io_loop_handler_run (in
/usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432357: io_loop_run (in /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x418131: main (in /usr/lib/dovecot/dovecot-auth)
==14415==  Address 0x8e33f50 is 8 bytes inside a block of size 32 free'd
==14415==    at 0x4C2261F: free (vg_replace_malloc.c:323)
==14415==    by 0x9A6E319: ???
==14415==    by 0x9A60E1E: ???
==14415==    by 0x9A6FEB0: ???
==14415==    by 0x40130DB: (within /lib/ld-2.9.so)
==14415==    by 0x400D405: (within /lib/ld-2.9.so)
==14415==    by 0x6B2330B: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415== 
==14415== Invalid write of size 4
==14415==    at 0x6B2330C: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432EEA: io_loop_handler_run (in
/usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432357: io_loop_run (in /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x418131: main (in /usr/lib/dovecot/dovecot-auth)
==14415==  Address 0x8e33f48 is 0 bytes inside a block of size 32 free'd
==14415==    at 0x4C2261F: free (vg_replace_malloc.c:323)
==14415==    by 0x9A6E319: ???
==14415==    by 0x9A60E1E: ???
==14415==    by 0x9A6FEB0: ???
==14415==    by 0x40130DB: (within /lib/ld-2.9.so)
==14415==    by 0x400D405: (within /lib/ld-2.9.so)
==14415==    by 0x6B2330B: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415== 
==14415== Invalid read of size 8
==14415==    at 0x6B23310: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432EEA: io_loop_handler_run (in
/usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432357: io_loop_run (in /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x418131: main (in /usr/lib/dovecot/dovecot-auth)
==14415==  Address 0x8e33f60 is 24 bytes inside a block of size 32 free'd
==14415==    at 0x4C2261F: free (vg_replace_malloc.c:323)
==14415==    by 0x9A6E319: ???
==14415==    by 0x9A60E1E: ???
==14415==    by 0x9A6FEB0: ???
==14415==    by 0x40130DB: (within /lib/ld-2.9.so)
==14415==    by 0x400D405: (within /lib/ld-2.9.so)
==14415==    by 0x6B2330B: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415== 
==14415== Invalid write of size 4
==14415==    at 0x6B23318: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432EEA: io_loop_handler_run (in
/usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432357: io_loop_run (in /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x418131: main (in /usr/lib/dovecot/dovecot-auth)
==14415==  Address 0x8e33f4c is 4 bytes inside a block of size 32 free'd
==14415==    at 0x4C2261F: free (vg_replace_malloc.c:323)
==14415==    by 0x9A6E319: ???
==14415==    by 0x9A60E1E: ???
==14415==    by 0x9A6FEB0: ???
==14415==    by 0x40130DB: (within /lib/ld-2.9.so)
==14415==    by 0x400D405: (within /lib/ld-2.9.so)
==14415==    by 0x6B2330B: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415== 
==14415== Invalid read of size 8
==14415==    at 0x6B2331D: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432EEA: io_loop_handler_run (in
/usr/lib/dovecot/dovecot-auth)
==14415==    by 0x432357: io_loop_run (in /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x418131: main (in /usr/lib/dovecot/dovecot-auth)
==14415==  Address 0x8e33f60 is 24 bytes inside a block of size 32 free'd
==14415==    at 0x4C2261F: free (vg_replace_malloc.c:323)
==14415==    by 0x9A6E319: ???
==14415==    by 0x9A60E1E: ???
==14415==    by 0x9A6FEB0: ???
==14415==    by 0x40130DB: (within /lib/ld-2.9.so)
==14415==    by 0x400D405: (within /lib/ld-2.9.so)
==14415==    by 0x6B2330B: (within /lib/libdl-2.9.so)
==14415==    by 0x6B2300E: dlclose (in /lib/libdl-2.9.so)
==14415==    by 0x5062E66: (within /lib/libpam.so.0.81.12)
==14415==    by 0x5062059: pam_end (in /lib/libpam.so.0.81.12)
==14415==    by 0x41ED96: (within /usr/lib/dovecot/dovecot-auth)
==14415==    by 0x4159E7: (within /usr/lib/dovecot/dovecot-auth)
==14415== 
    Valgrind's memory management: out of memory:
       initialiseSector(TC)'s request for 29772288 bytes failed.
       164990976 bytes have already been allocated.
    Valgrind cannot continue.  Sorry.

    There are several possible reasons for this.
    - You have some kind of memory limit in place.  Look at the
      output of 'ulimit -a'.  Is there a limit on the size of
      virtual memory or address space?
    - You have run out of swap space.
    - Valgrind has a bug.  If you think this is the case or you are
    not sure, please let us know and we'll try to fix it.
    Please note that programs can take substantially more memory than
    normal when running under Valgrind tools, eg. up to twice or
    more, depending on the tool.  On a 64-bit machine, Valgrind
    should be able to make use of up 32GB memory.  On a 32-bit
    machine, Valgrind should be able to use all the memory available
    to a single process, up to 4GB if that's how you have your
    kernel configured.  Most 32-bit Linux setups allow a maximum of
    3GB per process.

    Whatever the reason, Valgrind cannot continue.  Sorry.





-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to