> > 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, copy&paste 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) Signal        Stop        Print   Pass to program Description
SIGPIPE       No        Yes     Yes             Broken pipe
(gdb) Signal        Stop        Print   Pass to program Description
SIGALRM       No        No      Yes             Alarm clock
(gdb) Signal        Stop        Print   Pass to program Description
SIG32         No        Yes     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]

Reply via email to