[Dovecot] lately pop3 with #define DEBUG needs GDB=1
I'm not sure when this happened.
In yesterday dovecot-1.1 hg if pop3 is compiled with DEBUG defined, it needs GDB=1 otherwise it ends with: Panic: Leaked file fd 4: dev 104.2 inode 3342766
Not sure if this can be caused by the fact that I call pop3 with a bash script.
protocol pop3 { mail_executable = /usr/libexec/dovecot/pop3.sh
inside I've something like
if [ xid -un
= "xmyuser" -o xid -un
= "xtestdovecot" ]
then
exec /usr/libexec/dovecot/pop3-new-test-release
else
exec /usr/libexec/dovecot/pop3
[..]
(gdb) bt full #0 0x006ed402 in __kernel_vsyscall () No symbol table info available. #1 0x0043ed20 in raise () from /lib/libc.so.6 No symbol table info available. #2 0x00440631 in abort () from /lib/libc.so.6 No symbol table info available. #3 0x080e44a8 in default_fatal_finish (type=LOG_TYPE_PANIC, status=0) at failures.c:150 backtrace = 0x982b160 "/usr/libexec/dovecot/pop3 [0x80e4486] -> /usr/libexec/dovecot/pop3(default_error_handler+0) [0x80e4506] -> /usr/libexec/dovecot/pop3(i_fatal+0) [0x80e4600] -> /usr/libexec/dovecot/. #4 0x080e4506 in default_fatal_handler (type=LOG_TYPE_PANIC, status=0, format=0x810f568 "Leaked file fd %d: dev %s.%s inode %s", args=0xbfee57a4 "\004") at failures.c:162 No locals. #5 0x080e4600 in i_panic (format=0x810f568 "Leaked file fd %d: dev %s.%s inode %s") at failures.c:197 args = 0xbfee57a4 "\004" #6 0x080e519d in fd_debug_verify_leaks (first_fd=4, last_fd=1024) at fd-close-on-exec.c:71 addr = {family = 58360, u = {ip6 = {in6_u = {u6_addr8 = "\225�\017\b\a\000\000\000�XGD��\017\b", u6_addr16 = {58005, 2063, 7, 0, 22776, 17479, 58362, 2063}, u6_addr32 = {135258773, 7, 1145526520, 135259130}}}, ip4 = {s_addr = 135258773}}} raddr = {family = 2, u = {ip6 = {in6_u = {u6_addr8 = "\031^��Y��X�\005\021D", u6_addr16 = {24089, 49134, 23028, 49134, 22744, 49134, 4357, 68}, u6_addr32 = {3220069913, 3220068852, 3220068568, 4460805}}}, ip4 = {s_addr = 3220069913}}} port = 4274100 rport = 3220068600 st = {st_dev = 26626, __pad1 = 0, __st_ino = 3342766, st_mode = 33152, st_nlink = 1, st_uid = 0, st_gid = 0, st_rdev = 0, __pad2 = 0, st_size = 6654265, st_blksize = 4096, st_blocks = 13032, st_atim = { tv_sec = 1221681411, tv_nsec = 0}, st_mtim = {tv_sec = 1221683098, tv_nsec = 0}, st_ctim = {tv_sec = 1221683098, tv_nsec = 0}, st_ino = 3342766} old_errno = 9 #7 0x0805c817 in main (argc=1, argv=0xbfee5994, envp=0xbfee599c) at main.c:257 No locals.
On Wed, 2008-09-17 at 22:39 +0200, Diego Liziero wrote:
I'm not sure when this happened.
In yesterday dovecot-1.1 hg if pop3 is compiled with DEBUG defined, it needs GDB=1 otherwise it ends with: Panic: Leaked file fd 4: dev 104.2 inode 3342766
Not sure if this can be caused by the fact that I call pop3 with a bash script.
protocol pop3 { mail_executable = /usr/libexec/dovecot/pop3.sh
inside I've something like if [ x
id -un
= "xmyuser" -o xid -un
= "xtestdovecot" ] then exec /usr/libexec/dovecot/pop3-new-test-release else exec /usr/libexec/dovecot/pop3
I think it's pretty likely because of the bash script, especially if imap is working. You could verify by figuring out what the device 104.2 is and what file that inode refers to. Two ways:
a) make the pop3 process sleep at startup so you can do ls -l /proc/pid/fd/4
b) guess by stating different files :)
On Wed, Sep 17, 2008 at 11:10 PM, Timo Sirainen tss@iki.fi wrote:
a) make the pop3 process sleep at startup so you can do ls -l /proc/pid/fd/4
Pop3 is fine, it was my fault, I left a file descriptor open. Sorry for the noise.
Diego.
participants (2)
-
Diego Liziero
-
Timo Sirainen