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