Timo -
"patch" on solaris is not so useful, so I installed a virgin beta8, patched it with the latest patch, and here is the backtrace:
%% gdb tools/SunOS/libexec/dovecot/imap core GNU gdb 5.2.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "sparc-sun-solaris2.8"... Core was generated by `imap'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/local/lib/libiconv.so.2...done. Loaded symbols for /usr/local/lib/libiconv.so.2 Reading symbols from /usr/lib/libsocket.so.1...done. Loaded symbols for /usr/lib/libsocket.so.1 Reading symbols from /usr/lib/librt.so.1...done. Loaded symbols for /usr/lib/librt.so.1 Reading symbols from /usr/lib/libc.so.1...done. Loaded symbols for /usr/lib/libc.so.1 Reading symbols from /_TOOLS_/dist/gnu-gcc-3.4.3-binutils-2.15/sparc-sun-solaris2.8/lib/libgcc_s.so.1...done. Loaded symbols for /_TOOLS_/dist/gnu-gcc-3.4.3-binutils-2.15/sparc-sun-solaris2.8/lib/libgcc_s.so.1 Reading symbols from /usr/lib/libnsl.so.1...done. Loaded symbols for /usr/lib/libnsl.so.1 Reading symbols from /usr/lib/libdl.so.1...done. Loaded symbols for /usr/lib/libdl.so.1 Reading symbols from /usr/lib/libaio.so.1...done. Loaded symbols for /usr/lib/libaio.so.1 Reading symbols from /usr/lib/libmp.so.2...done. Loaded symbols for /usr/lib/libmp.so.2 Reading symbols from /usr/platform/SUNW,Sun-Blade-1500/lib/libc_psr.so.1...done. Loaded symbols for /usr/platform/SUNW,Sun-Blade-1500/lib/libc_psr.so.1 #0 0xff132d5c in strcmp () from /usr/lib/libc.so.1 (gdb) bt full #0 0xff132d5c in strcmp () from /usr/lib/libc.so.1 No symbol table info available. #1 0x00066940 in check_error (mail=0xc9a88, ret=-1) at mail.c:14 syntax = false temp = false __PRETTY_FUNCTION__ = "check_error" #2 0x00066af8 in mail_get_virtual_size (mail=0xc9a88) at mail.c:95 ret = 18446744073709551615 #3 0x00026274 in fetch_rfc822_size (ctx=0x69000, mail=0xc9a88, context=0x0) at imap-fetch-body.c:839 size = 139294380055068 #4 0x000240bc in imap_fetch (ctx=0xb2e48) at imap-fetch.c:265 handlers = (const struct imap_fetch_context_handler *) 0xb2f68 size = 4 ret = 1 __PRETTY_FUNCTION__ = "imap_fetch" #5 0x0001f1a4 in cmd_fetch (cmd=0xb0b9c) at cmd-fetch.c:166 client = (struct client *) 0xb0b58 ctx = (struct imap_fetch_context *) 0xb2e48 args = (struct imap_arg *) 0xb0e00 search_arg = (struct mail_search_arg *) 0xb2e10 messageset = 0xb2e48 "" ret = 732744 #6 0x00021e14 in cmd_uid (cmd=0xb0b9c) at cmd-uid.c:19 cmd_name = 0xb0eb0 "fetch" #7 0x00022a30 in _client_input (context=0xb0b58) at client.c:375 cmd = (struct client_command_context *) 0xb0b9c ret = 138624 #8 0x0007bb28 in io_loop_handler_run (ioloop=0xae458) at ioloop-poll.c:203 ctx = (struct ioloop_handler_context *) 0xae490 pollfd = (struct pollfd *) 0x2 tv = {tv_sec = 9, tv_usec = 800143} io = (struct io *) 0xae4f0 t_id = 2 msecs = 9800 ret = 0 call = true #9 0x0007b408 in io_loop_run (ioloop=0xae458) at ioloop.c:274 No locals. #10 0x0002aae4 in main (argc=-4259933, argv=0xa4000, envp=0xa5400) at main.c:271 No locals.
Timo Sirainen wrote:
On Thu, 2006-06-01 at 14:17 -0700, Mario Nigrovic-rvvk40 wrote:
Context #6 seems interesting. Why is the cxt pointer 0x25 here? and what the heck is that size?
It just means that gdb isn't perfect and sometimes it looks at things wrong, especially if the binary was compiled with optimization enabled.
But that crash probably wasn't caused by the real problem. Attached another patch which hopefully works correctly. :)
-- I don't need a name; my number's just fine. | Mario.Nigrovic@freescale.com It's nobody else's -- just mine, all mine. | 480-413-3578 Internal Use Only