[Dovecot] segv when Mailbox is in inconsistent state, please relogin.
Dan Price
dp at eng.sun.com
Tue Feb 27 05:38:50 UTC 2007
On Thu 22 Feb 2007 at 03:57PM, Timo Sirainen wrote:
> On Wed, 2007-02-21 at 14:56 +0100, Steffen Kaiser wrote:
> > Hoever, the web page (http://dovecot.org/bugreport.html) states that every
> > signal 11 is a bug and will be fixed, so here it goes:
>
> Yes.
>
> > #0 o_stream_uncork (stream=0x0) at ostream.c:60
> > _stream = <value optimized out>
> > #1 0x0805ba08 in _client_input (context=0x80df0f0) at client.c:431
> > client = (struct client *) 0x80df0f0
> > cmd = (struct client_command_context *) 0x80df134
>
> I don't get this though. I've checked all the code paths that I can
> think of, and I can't see why the stream would ever be NULL there. Do
> you still have the core file? Could you show me the output of:
>
> fr 1
> p *client
> p *cmd
I've just hit what I think is the same bug or something similar,
running 1.0rc24, while I was messing around with TBird 2.0 b2-- I
did a bunch of different things with different settings, and quit
and restarted the client numerous times, so I don't know exactly
what triggered it. The message count of "814" means this is
probably my "spam" folder.
(dbx) where
=>[1] o_stream_uncork(stream = (nil)), line 60 in "ostream.c"
[2] _client_input(context = 0xc32f0), line 431 in "client.c"
[3] io_loop_handler_run(ioloop = 0xc0ae8), line 199 in "ioloop-poll.c"
[4] io_loop_run(ioloop = 0xc0ae8), line 284 in "ioloop.c"
[5] main(argc = -4195263, argv = 0xb4c00, envp = 0xb5f6c), line 287 in "main.c"
(dbx) dump
_stream = 0xc2000000
stream = (nil)
(dbx) up
(dbx) dump
client = 0xc32f0
ret = 1
context = 0xc32f0
cmd = 0xc3334
(dbx) print *client
*client = {
fd_in = 0
fd_out = 1
io = (nil)
input = (nil)
output = (nil)
namespaces = 0xc2c00
mailbox = (nil)
keywords = {
pool = (nil)
keywords = {
buffer = 0xc7580
element_size = 4U
}
}
select_counter = 1U
messages_count = 814U
recent_count = 0
last_input = 1172553559
last_output = 1172553557
bad_counter = 0
parser = (nil)
cmd = {
client = 0xc32f0
pool = (nil)
tag = (nil)
name = (nil)
func = (nil)
context = (nil)
uid = 0
param_error = 0
}
disconnected = 1U
destroyed = 1U
command_pending = 0
input_pending = 0
output_pending = 0
rawlog = 0
input_skip_line = 1U
}
(dbx) print *cmd
*cmd = {
client = 0xc32f0
pool = (nil)
tag = (nil)
name = (nil)
func = (nil)
context = (nil)
uid = 0
param_error = 0
}
--
Daniel Price - Solaris Kernel Engineering - dp at eng.sun.com - blogs.sun.com/dp
More information about the dovecot
mailing list