[Dovecot] rc15 dumped core

Hans Morten Kind Kind at it.uib.no
Thu Dec 7 10:08:49 UTC 2006


On Tue, Dec 05, 2006 at 04:44:16PM +0100, Hans Morten Kind wrote:
> > http://dovecot.org/list/dovecot-cvs/2006-December/006998.html
> > http://dovecot.org/list/dovecot-cvs/2006-December/006995.html
> 
> I am now running with these patches and I have removed the memdebug-code.


But when running with these patches and without the memdebug-code,
we started dumping cores again. This is solaris-2.9 with app 1500
concurrent users on pop and imap with and without ssl.

All dumps were like the first included, 'assertion failed' on
'!client->disconnected' in imap/client.c:415

Then I linked dovecot with libefence, and voila, we trapped
several like the second back trace included.

  (gdb) p data->rec->flags
  Cannot access memory at address 0xfe4e5fdc

hmk


-------------- next part --------------
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
This GDB was configured as "sparc-sun-solaris2.9"...
Core was generated by `imap [USER 0.177.0.88]'.
Program terminated with signal 6, Aborted.

#0  0xff0205c8 in _libc_kill () from /usr/lib/libc.so.1
No symbol table info available.
#1  0xfefb6d58 in abort () from /usr/lib/libc.so.1
No symbol table info available.
#2  0x000d0e88 in i_internal_panic_handler (
    fmt=0xf1c78 "file %s: line %d (%s): assertion failed: (%s)", args=0xffbff6c8)
    at failures.c:390
#3  0x000d0498 in i_panic (format=0xf1c78 "file %s: line %d (%s): assertion failed: (%s)")
    at failures.c:180
	args = 0xffbff6c8
#4  0x000278a0 in client_handle_input (cmd=0x11ff04) at client.c:415
	client = (struct client *) 0x11fec0
	__PRETTY_FUNCTION__ = "client_handle_input"
#5  0x00027ad0 in _client_input (context=0x11fec0) at client.c:474
	client = (struct client *) 0x11fec0
	cmd = (struct client_command_context *) 0x11ff04
	ret = 1
#6  0x000dc710 in io_loop_handler_run (ioloop=0x135fb8) at ioloop-poll.c:199
	ctx = (struct ioloop_handler_context *) 0x121448
	pollfd = (struct pollfd *) 0x144398
	tv = {tv_sec = 0, tv_usec = 999821}
	io = (struct io *) 0x122450
	t_id = 2
	msecs = 999
	ret = 0
	call = true
#7  0x000db7dc in io_loop_run (ioloop=0x135fb8) at ioloop.c:281
#8  0x0003832c in main (argc=3, argv=0xffbff95c, envp=0xffbff96c) at main.c:280
(gdb) 
-------------- next part --------------
GNU gdb 6.3
This GDB was configured as "sparc-sun-solaris2.9"...
Core was generated by `imap [USER 0.177.0.223]'.
Program terminated with signal 11, Segmentation fault.

#0  0x0007aa38 in index_mail_get_flags (_mail=0xfe809c40) at index-mail.c:152
152		data->flags = data->rec->flags & MAIL_FLAGS_MASK;
#0  0x0007aa38 in index_mail_get_flags (_mail=0xfe809c40) at index-mail.c:152
	mail = (struct index_mail *) 0xfe809c40
	data = (struct index_mail_data *) 0xfe809ca8
#1  0x000b4dec in mail_get_flags (mail=0xfe809c40) at mail.c:33
	p = (struct mail_private *) 0xfe809c40
#2  0x0002bccc in fetch_flags (ctx=0xfe7b4088, mail=0xfe809c40, context=0x0) at imap-fetch.c:452
	flags = 14873
	keywords = (const char * const *) 0x4
#3  0x0002b154 in imap_fetch (ctx=0xfe7b4088) at imap-fetch.c:265
	handlers = (const struct imap_fetch_context_handler *) 0xfe7b41a8
	size = 4
	ret = 1
	__PRETTY_FUNCTION__ = "imap_fetch"
#4  0x00020aa0 in cmd_fetch (cmd=0xfe79dfd4) at cmd-fetch.c:175
	client = (struct client *) 0xfe79df90
	ctx = (struct imap_fetch_context *) 0xfe7b4088
	args = (struct imap_arg *) 0xfe7b0048
	search_arg = (struct mail_search_arg *) 0xfe7b4050
	messageset = 0xfe7b0100 "3957"
	ret = 1000576
#5  0x000264f4 in cmd_uid (cmd=0xfe79dfd4) at cmd-uid.c:19
	cmd_name = 0xfe7b00f8 "fetch"
#6  0x00027c78 in client_handle_input (cmd=0xfe79dfd4) at client.c:423
	client = (struct client *) 0xfe79df90
	__PRETTY_FUNCTION__ = "client_handle_input"
#7  0x00027e60 in _client_input (context=0xfe79df90) at client.c:474
	client = (struct client *) 0xfe79df90
	cmd = (struct client_command_context *) 0xfe79dfd4
	ret = -25438415
#8  0x000debd4 in io_loop_handler_run (ioloop=0xfe98dfdc) at ioloop-poll.c:199
	ctx = (struct ioloop_handler_context *) 0xfe999fec
	pollfd = (struct pollfd *) 0xfeb47c10
	tv = {tv_sec = 0, tv_usec = 142437}
	io = (struct io *) 0xfe7a9fe4
	t_id = 2
	msecs = 142
	ret = 0
	call = true
#9  0x000ddca0 in io_loop_run (ioloop=0xfe98dfdc) at ioloop.c:281
#10 0x000386bc in main (argc=3, argv=0xffbff95c, envp=0xffbff96c) at main.c:280
(gdb) 


More information about the dovecot mailing list