Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On Tue, 2009-05-26 at 07:49 +0200, Chantal Rosmuller wrote: Program received signal SIGSEGV, Segmentation fault. 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 (gdb) #0 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #1 0xb7ff80dd in env_remove () from /usr/lib/dovecot/deliver No symbol table info available. Hmm. Interesting. Is this Ubuntu x86 or x86-64? I can't reproduce this with x86. Anyway you should be able to work around it by removing boolean settings that are set to no. What do you get with: grep '^ *[a-z].*= *no' /etc/dovecot/dovecot.conf signature.asc Description: This is a digitally signed message part
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On Tue, 2009-05-26 at 07:49 +0200, Chantal Rosmuller wrote: Program received signal SIGSEGV, Segmentation fault. 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 (gdb) #0 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #1 0xb7ff80dd in env_remove () from /usr/lib/dovecot/deliver No symbol table info available. This is a bug in glibc. It also crashes in CentOS 5. Lets see if Ubuntu gets it reported to upstream: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/380487 signature.asc Description: This is a digitally signed message part
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On Tuesday 26 May 2009 08:48:17 Timo Sirainen wrote: On Tue, 2009-05-26 at 07:49 +0200, Chantal Rosmuller wrote: Program received signal SIGSEGV, Segmentation fault. 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 (gdb) #0 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #1 0xb7ff80dd in env_remove () from /usr/lib/dovecot/deliver No symbol table info available. This is a bug in glibc. It also crashes in CentOS 5. Lets see if Ubuntu gets it reported to upstream: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/380487 Really? And this is triggered by disable_plaintext_auth = no? I moved the line but now I get status=deferred (temporary failure) probably a permission problem, I have been fiddling with the settings to solve the command died issue so I probably broke something.
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On Tue, 2009-05-26 at 08:59 +0200, Chantal Rosmuller wrote: On Tuesday 26 May 2009 08:48:17 Timo Sirainen wrote: On Tue, 2009-05-26 at 07:49 +0200, Chantal Rosmuller wrote: Program received signal SIGSEGV, Segmentation fault. 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 (gdb) #0 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #1 0xb7ff80dd in env_remove () from /usr/lib/dovecot/deliver No symbol table info available. This is a bug in glibc. It also crashes in CentOS 5. Lets see if Ubuntu gets it reported to upstream: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/380487 Really? And this is triggered by disable_plaintext_auth = no? Well, it's triggered by the code sequence where environment is first cleared, and when Dovecot sees disable_plaintext_auth=no it makes sure that it's not in environment by calling unsetenv(), which causes glibc to crash. Having another setting in the middle adds a new environment and works around the glibc bug. I moved the line but now I get status=deferred (temporary failure) probably a permission problem, I have been fiddling with the settings to solve the command died issue so I probably broke something. Either it's not able to write to log file or it wrote the error to log file. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
I moved the line but now I get status=deferred (temporary failure) probably a permission problem, I have been fiddling with the settings to solve the command died issue so I probably broke something. Either it's not able to write to log file or it wrote the error to log file. Ah okay sorry I could have figured that out for myself, it's a pretty straight forward permission problem. Thanks!
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On Tuesday 26 May 2009 09:03:38 Timo Sirainen wrote: On Tue, 2009-05-26 at 08:59 +0200, Chantal Rosmuller wrote: On Tuesday 26 May 2009 08:48:17 Timo Sirainen wrote: On Tue, 2009-05-26 at 07:49 +0200, Chantal Rosmuller wrote: Program received signal SIGSEGV, Segmentation fault. 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 (gdb) #0 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #1 0xb7ff80dd in env_remove () from /usr/lib/dovecot/deliver No symbol table info available. This is a bug in glibc. It also crashes in CentOS 5. Lets see if Ubuntu gets it reported to upstream: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/380487 Really? And this is triggered by disable_plaintext_auth = no? Well, it's triggered by the code sequence where environment is first cleared, and when Dovecot sees disable_plaintext_auth=no it makes sure that it's not in environment by calling unsetenv(), which causes glibc to crash. Having another setting in the middle adds a new environment and works around the glibc bug. I moved the line but now I get status=deferred (temporary failure) probably a permission problem, I have been fiddling with the settings to solve the command died issue so I probably broke something. Either it's not able to write to log file or it wrote the error to log file. I had to change the gid in the dovecot query old user_query = SELECT '/var/vmail/%2d/%d/%n' as home, 'maildir:/var/vmail/%2d/%d/%n' as mail, 150 AS uid, 118 AS gid, concat('dirsize:storage=',quota) AS quota FROM mailbox WHERE username ='%u' AND active ='1' new user_query = SELECT '/var/vmail/%2d/%d/%n' as home, 'maildir:/var/vmail/%2d/%d/%n' as mail, 150 AS uid, 8 AS gid, concat('dirsize:storage=',quota) AS quota FROM mailbox WHERE username ='%u' AND active ='1' It works now, great thanks a lot!
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On Fri, 2009-05-22 at 10:02 +0200, Chantal Rosmuller wrote: On Friday 22 May 2009 09:49:49 Timo Sirainen wrote: On May 22, 2009, at 3:44 AM, Chantal Rosmuller wrote: I use dovecot 1.1.11 on ubuntu 9.04, when I want to send a message to an email adres on this mailserver I get this error:status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver. Signal 11 means it crashed. Is this reproducible every time? Having a gdb backtrace from this crash would be useful. I suppose there's no core file in the user's home directory? Hmm. Debugging it is probably going to be annoyingly difficult.. It is reproducable, how can I make a gdb backtrace? What is a core file? Try this: dovecot unix - n n - - pipe flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/gdbhelper /tmp/deliver.sh -d ${recipient} And /tmp/deliver.sh contains: #!/bin/sh sleep 1 exec /usr/lib/dovecot/deliver $* chmod +x /tmp/deliver.sh and deliver a mail. Hopefully you'll now have /tmp/gdbhelper* file(s)? If so, copypaste contents. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
It is reproducable, how can I make a gdb backtrace? What is a core file? Try this: dovecot unix - n n - - pipe flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/gdbhelper /tmp/deliver.sh -d ${recipient} And /tmp/deliver.sh contains: #!/bin/sh sleep 1 exec /usr/lib/dovecot/deliver $* chmod +x /tmp/deliver.sh and deliver a mail. Hopefully you'll now have /tmp/gdbhelper* file(s)? If so, copypaste contents. Ah great I got some debugging info (although not sure what it means) GNU gdb 6.8-debian Copyright (C) 2008 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 i486-linux-gnu... /tmp/deliver.sh: not in executable format: File format not recognized Attaching to process 22795 Reading symbols from /bin/dash...(no debugging symbols found)...done. Reading symbols from /lib/tls/i686/cmov/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/tls/i686/cmov/libc.so.6 Reading symbols from /lib/ld-linux.so.2... (no debugging symbols found)...done. Loaded symbols for /lib/ld-linux.so.2 (no debugging symbols found) 0xb80b3424 in __kernel_vsyscall () (gdb) SignalStopPrint Pass to program Description SIGPIPE NoYes Yes Broken pipe (gdb) SignalStopPrint Pass to program Description SIGALRM NoNo Yes Alarm clock (gdb) SignalStopPrint Pass to program Description SIG32 NoYes Yes Real-time event 32 (gdb) Continuing. Executing new program: /usr/lib/dovecot/deliver (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Program received signal SIGSEGV, Segmentation fault. 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 (gdb) #0 0xb7e0b5bf in unsetenv () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #1 0xb7ff80dd in env_remove () from /usr/lib/dovecot/deliver No symbol table info available. #2 0xb7f80ad2 in main () from /usr/lib/dovecot/deliver No symbol table info available. (gdb) The program is running. Exit anyway? (y or n) [answered Y; input not from terminal]
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On May 22, 2009, at 3:44 AM, Chantal Rosmuller wrote: I use dovecot 1.1.11 on ubuntu 9.04, when I want to send a message to an email adres on this mailserver I get this error:status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver. Signal 11 means it crashed. Is this reproducible every time? Having a gdb backtrace from this crash would be useful. I suppose there's no core file in the user's home directory? Hmm. Debugging it is probably going to be annoyingly difficult..
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
I suppose there's no core file in the user's home directory? Why? Doesnt them should be autocreated if ulimit -c is defined and kernel.core_pattern != /dev/null ?
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On May 22, 2009, at 3:54 AM, Max Ivanov wrote: I suppose there's no core file in the user's home directory? Why? Doesnt them should be autocreated if ulimit -c is defined If it's done in the correct place. That means before Postfix is started, and that the Postfix init.d script doesn't change it. and kernel.core_pattern != /dev/null ? and that deliver has home directory specified and there's no weird things like SELinux messing things up and probably some other things I can't remember right now. At least the very latest Dovecot versions tell if the core file was written at all. Maybe some day when v2.0 is released people are using LMTP and that notification gets written too. Or maybe I could try writing a patch to Postfix and see if they would care about Postfix logging if core was dumped or not.
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On Friday 22 May 2009 09:49:49 Timo Sirainen wrote: On May 22, 2009, at 3:44 AM, Chantal Rosmuller wrote: I use dovecot 1.1.11 on ubuntu 9.04, when I want to send a message to an email adres on this mailserver I get this error:status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver. Signal 11 means it crashed. Is this reproducible every time? Having a gdb backtrace from this crash would be useful. I suppose there's no core file in the user's home directory? Hmm. Debugging it is probably going to be annoyingly difficult.. It is reproducable, how can I make a gdb backtrace? What is a core file? ls /path/to/maildir/ drwx-- 2 vmail mail 4096 2009-05-22 09:18 cur -rw--- 1 vmail mail 232 2009-05-22 09:18 dovecot.index.log -rw--- 1 vmail mail 17 2009-05-22 09:18 dovecot-uidlist -rw--- 1 vmail mail8 2009-05-22 09:18 dovecot-uidvalidity -rw--- 1 vmail mail0 2009-05-22 09:18 dovecot-uidvalidity.4a1651b8 drwx-- 2 vmail mail 4096 2009-05-22 09:18 new drwx-- 2 vmail mail 4096 2009-05-22 09:18 tmp
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On Friday 22 May 2009 09:58:29 Timo Sirainen wrote: On May 22, 2009, at 3:54 AM, Max Ivanov wrote: I suppose there's no core file in the user's home directory? Why? Doesnt them should be autocreated if ulimit -c is defined If it's done in the correct place. That means before Postfix is started, and that the Postfix init.d script doesn't change it. and kernel.core_pattern != /dev/null ? and that deliver has home directory specified and there's no weird things like SELinux messing things up and probably some other things I can't remember right now. At least the very latest Dovecot versions tell if the core file was written at all. Maybe some day when v2.0 is released people are using LMTP and that notification gets written too. Or maybe I could try writing a patch to Postfix and see if they would care about Postfix logging if core was dumped or not. could this be the problem: /etc/postfix/master.cf dovecot unix - n n - - pipe flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -d ${recipient} maybe dovecot 1.1 needs different flags then 1.0? (Because this works with 1.0)
Re: [Dovecot] status=bounced (Command died with signal 11: /usr/lib/dovecot/deliver
On 5/22/2009 4:34 AM, Chantal Rosmuller wrote: could this be the problem: /etc/postfix/master.cf dovecot unix - n n - - pipe flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -d ${recipient} maybe dovecot 1.1 needs different flags then 1.0? (Because this works with 1.0) First place to check is the wiki... which shows something a little different (but I don't know if it causes your problem): http://wiki.dovecot.org/LDA/Postfix -- Best regards, Charles