Joseph Tam
2012-Jul-07 00:38 UTC
[Dovecot] Dovecot 2.1.8 crashes when doing POP3 UIDL on empty INBOX
I noticed a bunch of crashes when Gmail users tried to slurp up their (empty) mailboxes. The problem is not noticed by clients though, but it crashes the pop3 process. POP3 session S: +OK Ready. C: USER user S: +OK C: PASS password S: +OK Logged in. C: UIDL ... server crash and disconnects ... Resulting log Jul 06 16:58:05 pop3(user): Panic: Trying to allocate 0 bytes Jul 06 16:58:05 pop3(user): Error: Raw backtrace: 0xff1e6454 -> 0xff1e4f78 -> 0xff20689c -> 0x18240 -> 0x1843c - > 0x185a0 -> 0x18a1c -> 0x1576c -> 0x159cc -> 0xff1fee6c -> 0xff200e24 -> 0xff1fef60 -> 0xff1d8010 -> 0x13584 - > 0x1285c Jul 06 16:58:14 pop3(user): Fatal: master: service(pop3): child 24972 killed with signal 6 (core dumps disabled) GDB traceback: #0 i_panic (format=0xff2302f8 "Trying to allocate %u bytes") at failures.c:259 #1 0xff2068a4 in pool_alloconly_malloc (pool=0x60330, size=0) at mempool-alloconly.c:259 #2 0x00018248 in client_uidls_save (client=0x54d28) at pop3-commands.c:761 #3 0x00018444 in cmd_uidl_init (client=0x54d28, seq=0) at pop3-commands.c:793 #4 0x000185a8 in cmd_uidl (client=0x54d28, args=0x19eb8 "") at pop3-commands.c:824 #5 0x00018a24 in client_command_execute (client=0x54d28, name=0x2b550 "UIDL", args=0x19eb8 "") at pop3-commands.c:889 #6 0x00015774 in client_handle_input (client=0x54d28) at pop3-client.c:629 #7 0x000159d4 in client_input (client=0x54d28) at pop3-client.c:682 #8 0xff1fee74 in io_loop_call_io (io=0x37298) at ioloop.c:379 #9 0xff200e2c in io_loop_handler_run (ioloop=0x34138) at ioloop-poll.c:211 #10 0xff1fef68 in io_loop_run (ioloop=0x34138) at ioloop.c:398 #11 0xff1d8018 in master_service_run (service=0x33c88, callback=0x13120 <client_connected>) at master-service.c:543 #12 0x0001358c in main (argc=1, argv=0xffbffe0c) at main.c:268 Some non-trivial changes in pop3-commands.c were done between 2.1.3 and 2.1.8 (expecially pop3_uidl_duplicates changes in 2.1.7). I guess this bug has crept in there. Joseph Tam <jtam.home at gmail.com>
Timo Sirainen
2012-Jul-07 02:52 UTC
[Dovecot] Dovecot 2.1.8 crashes when doing POP3 UIDL on empty INBOX
On 7.7.2012, at 3.38, Joseph Tam wrote:> #0 i_panic (format=0xff2302f8 "Trying to allocate %u bytes") at failures.c:259 > #1 0xff2068a4 in pool_alloconly_malloc (pool=0x60330, size=0) at mempool-alloconly.c:259 > #2 0x00018248 in client_uidls_save (client=0x54d28) at pop3-commands.c:761 > #3 0x00018444 in cmd_uidl_init (client=0x54d28, seq=0) at pop3-commands.c:793 > #4 0x000185a8 in cmd_uidl (client=0x54d28, args=0x19eb8 "") at pop3-commands.c:824 > #5 0x00018a24 in client_command_execute (client=0x54d28, name=0x2b550 "UIDL", args=0x19eb8 "") > at pop3-commands.c:889Fixed: http://hg.dovecot.org/dovecot-2.1/rev/ea18b2ddb67b
Joseph Tam
2012-Jul-08 07:00 UTC
[Dovecot] Dovecot 2.1.8 crashes when doing POP3 UIDL on empty INBOX
Timo Sirainen <tss at iki.fi> writes:>> #0 i_panic (format=0xff2302f8 "Trying to allocate %u bytes") at failures.c:259 >> #1 0xff2068a4 in pool_alloconly_malloc (pool=0x60330, size=0) at mempool-alloconly.c:259 >> #2 0x00018248 in client_uidls_save (client=0x54d28) at pop3-commands.c:761 >> #3 0x00018444 in cmd_uidl_init (client=0x54d28, seq=0) at pop3-commands.c:793 >> #4 0x000185a8 in cmd_uidl (client=0x54d28, args=0x19eb8 "") at pop3-commands.c:824 >> #5 0x00018a24 in client_command_execute (client=0x54d28, name=0x2b550 "UIDL", args=0x19eb8 "") >> at pop3-commands.c:889 > > Fixed: http://hg.dovecot.org/dovecot-2.1/rev/ea18b2ddb67b > > Date: Sat, 7 Jul 2012 05:52:03 +03002 hours after I reported it; do you ever sleep?! Thanks. Joseph Tam <jtam.home at gmail.com>