Arnt Gulbrandsen wrote:
>I wrote:
>>The segfault must be something else. See if you can get a stack trace?

Well, I had to try it using an older version first (without my patches)
just to avoid wasting your time with stupid mistakes in my own patches.
But, as it seems, the problem still happens in the original version.
Here goes:

Program received signal SIGSEGV, Segmentation fault.
Mailbox::name (this=0x0) at server/mailbox.cpp:300
300         return d->name;
(gdb) where
#0  Mailbox::name (this=0x0) at server/mailbox.cpp:300
#1  0x0809e07e in Command::mailboxName (this=0xf728aa44)
    at imap/command.cpp:1223
#2  0x0805d933 in Create::parse (this=0xf728aa44)
    at imap/handlers/create.cpp:39
#3  0x08095438 in IMAP::runCommands (this=0xf72a0344) at imap/imap.cpp:545
#4  0x080959b8 in IMAP::react (this=0xf72a0344, e=Connection::Read)
    at imap/imap.cpp:215
#5  0x0816de14 in EventLoop::dispatch (this=0xf72c1434, c=0xf72a0344, r=true, 
    w=false, now=1302697609) at server/eventloop.cpp:463
#6  0x0816e55c in EventLoop::start (this=0xf72c1434)
    at server/eventloop.cpp:306
#7  0x081747d1 in Server::run (this=0xfffc297f) at server/server.cpp:637
#8  0x0804abc6 in main (argc=Cannot access memory at address 0xed
) at archiveopteryx/archiveopteryx.cpp:257
(gdb) up
#1  0x0809e07e in Command::mailboxName (this=0xf728aa44)
    at imap/command.cpp:1223
1223            return u->inbox()->name();
(gdb) p u
$1 = (User *) 0xf72cbb74
(gdb) p *u
$2 = {<EventHandler> = {<Garbage> = {<No data fields>}, 
    _vptr.EventHandler = 0x8595570, l = 0xf72816c4}, d = 0xf70e1f84}
(gdb) l
1218        if ( n.endsWith( "/" ) )
1219            n = n.mid( 0, n.length() - 1 );
1220    
1221        User * u = imap()->user();
1222        if ( u && n.lower() == "inbox" ) {
1223            return u->inbox()->name();
1224        }
1225    
1226        MUtf7Codec m;
1227        UString un( m.toUnicode( n ) );
(gdb) 


The problem is easily reproduced.  The debugger is still open, anything else
you'd like to see?
-- 
Stephen.

"Of all the stories you told me, which ones were true and which ones weren't?"
"My dear doctor, they're all true." "Even the lies?" "*Especially* the lies."

Reply via email to