Last Comment Bug 562104 - Crash on logging into AOL IMAP account [@ NS_MsgHashIfNecessary]
: Crash on logging into AOL IMAP account [@ NS_MsgHashIfNecessary]
Status: RESOLVED FIXED
[has stacktrace]
: 64bit, assertion, crash, imap-interop
Product: MailNews Core
Classification: Components
Component: Networking: IMAP (show other bugs)
: Trunk
: x86_64 Linux
: -- critical (vote)
: Thunderbird 3.3a1
Assigned To: David :Bienvenu
:
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-04-27 11:08 PDT by mozilla@suykerbuyk.org
Modified: 2011-06-13 10:01 PDT (History)
10 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
.1-fixed
.7-fixed


Attachments
proposed fix with unit test (4.12 KB, patch)
2010-06-23 14:56 PDT, David :Bienvenu
standard8: review+
standard8: superreview+
standard8: approval‑thunderbird3.0.7+
standard8: approval‑thunderbird3.1.1+
Details | Diff | Splinter Review
1.8.0 version (1.21 KB, patch)
2010-08-26 03:24 PDT, Martin Stránský
no flags Details | Diff | Splinter Review

Description mozilla@suykerbuyk.org 2010-04-27 11:08:38 PDT
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100317 SUSE/3.5.9-0.1.1 Firefox/3.5.9
Build Identifier: 3.0.4

I'm running OpenSUSE 11.2, KDE desktop, fully updated from the mainline suse repositories. About a week ago, I noticed Thunderbird would crash after sometime.  I figured out that it crashed 10 minutes after startup, reviewed my account settings and noticed that my AOL IMAP account was not set to check for mail on startup, but was set to check mail every 10 minutes.

Starting up thunderbird and immediately checking AOL IMAP crashed thunderbird as soon as the status line changed from "Looking up imap.aim.com".

Reproducible: Always

Steps to Reproduce:
1. Configure an AOL IMAP account Incoming Mail Server: imap.aim.com
2. Check AOL Mail

Actual Results:  
Thunderbird crashes.

Expected Results:  
Synchronized mail access to the IMAP server.

Using the instructions here:
http://fedoraproject.org/wiki/How_to_debug_Thunderbird_problems

I start thunderbird -safe-mode, attach GDB to the PID associated with /usr/lib64/thunderbird/thunderbird-bin

GDB catches the exception being raised with attempting to contact the AOL IMAP account.  When the exception is raised, at the GDB console I enter the command:

thread apply all bt

And below is the dump of the generated gdb.txt file:

Continuing.
[Thread 0x7ff5813f9910 (LWP 3946) exited]
[Thread 0x7ff5796ff910 (LWP 3952) exited]
[New Thread 0x7ff5796ff910 (LWP 4040)]
[New Thread 0x7ff5813f9910 (LWP 4041)]

Program received signal SIGSEGV, Segmentation fault.
0x0000000000bbec4c in ?? ()

Thread 12 (Thread 0x7ff5813f9910 (LWP 4041)):
#0  0x00007ff591a952cd in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00007ff590ce9df9 in ?? () from /usr/lib64/libnspr4.so
#2  0x00007ff590cea9ec in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#3  0x00000000004966b2 in ?? ()
#4  0x0000000000496ffe in ?? ()
#5  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#6  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#7  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7ff5796ff910 (LWP 4040)):
#0  0x00007ff591a95049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff590ceaa8e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x00007ff590ceab06 in PR_Wait () from /usr/lib64/libnspr4.so
#3  0x00007ff591375c70 in nsEventQueue::GetEvent(int, nsIRunnable**) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#4  0x00007ff591376806 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#5  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff59137ad3d in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x00007ff5913822b1 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#8  0x00007ff591381773 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#9  0x00007ff5789423a0 in ?? ()
#10 0x00007ff57888d308 in ?? ()
#11 0x000000000000002f in ?? ()
#12 0x0000000000000048 in ?? ()
#13 0x00007ff5796fe86c in ?? ()
#14 0x00007ff58165cd18 in ?? ()
#15 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7ff583dff910 (LWP 3939)):
#0  0x00007ff58ac5ed03 in poll () from /lib64/libc.so.6
#1  0x00007ff590cec46f in ?? () from /usr/lib64/libnspr4.so
#2  0x000000000048ee1b in ?? ()
#3  0x000000000048f28e in ?? ()
#4  0x000000000048f48c in ?? ()
#5  0x00007ff5913767d3 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x000000000048f002 in ?? ()
#8  0x00007ff59137682b in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#9  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#10 0x00007ff591376e4e in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#11 0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#12 0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#13 0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#14 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7ff5831f5910 (LWP 3940)):
#0  0x00007ff591a952cd in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00007ff590ce9df9 in ?? () from /usr/lib64/libnspr4.so
#2  0x00007ff590cea9ec in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#3  0x0000000000519796 in ?? ()
#4  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#5  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#6  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7ff5821fc910 (LWP 3944)):
#0  0x00007ff591a952cd in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00007ff590ce9df9 in ?? () from /usr/lib64/libnspr4.so
#2  0x00007ff590cea9ec in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#3  0x00007ff591379710 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#4  0x00007ff59137682b in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#5  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff591376e4e in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#8  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#9  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7ff5800ff910 (LWP 3947)):
#0  0x00007ff591a95049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff590ceaa8e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x00007ff590ceab06 in PR_Wait () from /usr/lib64/libnspr4.so
#3  0x00007ff591375c70 in nsEventQueue::GetEvent(int, nsIRunnable**) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#4  0x00007ff591376806 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#5  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff591376e4e in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#8  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#9  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7ff57be09910 (LWP 3948)):
#0  0x00007ff591a95049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff590ceaa8e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x0000000000b92384 in ?? ()
#3  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#4  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7ff57b608910 (LWP 3949)):
#0  0x00007ff591a95049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff590ceaa8e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x0000000000b801e5 in ?? ()
#3  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#4  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7ff57ae07910 (LWP 3950)):
#0  0x00007ff591a95049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff590ceaa8e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x00007ff590ceab06 in PR_Wait () from /usr/lib64/libnspr4.so
#3  0x00007ff591375c70 in nsEventQueue::GetEvent(int, nsIRunnable**) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#4  0x00007ff591376806 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#5  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff591376e4e in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#8  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#9  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff591e63800 (LWP 3934)):
#0  0x0000000000bbec4c in ?? ()
#1  0x0000000000d4ac5e in ?? ()
#2  0x0000000000ca9ec9 in ?? ()
#3  0x0000000000c9058d in ?? ()
#4  0x00007ff5913816d1 in NS_InvokeByIndex_P ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#5  0x00007ff59137a637 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff59137682b in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#8  0x000000000060c85f in ?? ()
#9  0x0000000000b364bc in ?? ()
#10 0x0000000000449ca5 in strerror_r ()
#11 0x00000000004456a0 in strerror_r ()
#12 0x00007ff58abb5a7d in __libc_start_main () from /lib64/libc.so.6
#13 0x0000000000445499 in strerror_r ()
#14 0x00007fff66be3808 in ?? ()
#15 0x000000000000001c in ?? ()
#16 0x0000000000000001 in ?? ()
#17 0x00007fff66be510f in ?? ()
#18 0x0000000000000000 in ?? ()
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x00007ff591a98aab in raise () from /lib64/libpthread.so.0

Thread 12 (Thread 0x7ff5813f9910 (LWP 4041)):
#0  0x00007ff591a952cd in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00007ff590ce9df9 in ?? () from /usr/lib64/libnspr4.so
#2  0x00007ff590cea9ec in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#3  0x00000000004966b2 in ?? ()
#4  0x0000000000496ffe in ?? ()
#5  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#6  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#7  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7ff5796ff910 (LWP 4040)):
#0  0x00007ff591a95049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff590ceaa8e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x00007ff590ceab06 in PR_Wait () from /usr/lib64/libnspr4.so
#3  0x00007ff591375c70 in nsEventQueue::GetEvent(int, nsIRunnable**) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#4  0x00007ff591376806 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#5  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff59137ad3d in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x00007ff5913822b1 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#8  0x00007ff591381773 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#9  0x00007ff5789423a0 in ?? ()
#10 0x00007ff57888d308 in ?? ()
#11 0x000000000000002f in ?? ()
#12 0x0000000000000048 in ?? ()
#13 0x00007ff5796fe86c in ?? ()
#14 0x00007ff58165cd18 in ?? ()
#15 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7ff583dff910 (LWP 3939)):
#0  0x00007ff58ac5ed03 in poll () from /lib64/libc.so.6
#1  0x00007ff590cec46f in ?? () from /usr/lib64/libnspr4.so
#2  0x000000000048ee1b in ?? ()
#3  0x000000000048f28e in ?? ()
#4  0x000000000048f48c in ?? ()
#5  0x00007ff5913767d3 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x000000000048f002 in ?? ()
#8  0x00007ff59137682b in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#9  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#10 0x00007ff591376e4e in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#11 0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#12 0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#13 0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#14 0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7ff5831f5910 (LWP 3940)):
#0  0x00007ff591a952cd in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00007ff590ce9df9 in ?? () from /usr/lib64/libnspr4.so
#2  0x00007ff590cea9ec in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#3  0x0000000000519796 in ?? ()
#4  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#5  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#6  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7ff5821fc910 (LWP 3944)):
#0  0x00007ff591a952cd in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00007ff590ce9df9 in ?? () from /usr/lib64/libnspr4.so
#2  0x00007ff590cea9ec in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#3  0x00007ff591379710 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#4  0x00007ff59137682b in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#5  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff591376e4e in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#8  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#9  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7ff5800ff910 (LWP 3947)):
#0  0x00007ff591a95049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff590ceaa8e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x00007ff590ceab06 in PR_Wait () from /usr/lib64/libnspr4.so
#3  0x00007ff591375c70 in nsEventQueue::GetEvent(int, nsIRunnable**) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#4  0x00007ff591376806 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#5  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff591376e4e in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#8  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#9  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7ff57be09910 (LWP 3948)):
#0  0x00007ff591a95049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff590ceaa8e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x0000000000b92384 in ?? ()
#3  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#4  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7ff57b608910 (LWP 3949)):
#0  0x00007ff591a95049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff590ceaa8e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x0000000000b801e5 in ?? ()
#3  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#4  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7ff57ae07910 (LWP 3950)):
#0  0x00007ff591a95049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff590ceaa8e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x00007ff590ceab06 in PR_Wait () from /usr/lib64/libnspr4.so
#3  0x00007ff591375c70 in nsEventQueue::GetEvent(int, nsIRunnable**) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#4  0x00007ff591376806 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#5  0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#6  0x00007ff591376e4e in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#7  0x00007ff590cf0583 in ?? () from /usr/lib64/libnspr4.so
#8  0x00007ff591a9065d in start_thread () from /lib64/libpthread.so.0
#9  0x00007ff58ac67e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff591e63800 (LWP 3934)):
#0  0x00007ff591a98aab in raise () from /lib64/libpthread.so.0
#1  0x0000000000450506 in strerror_r ()
#2  <signal handler called>
#3  0x0000000000bbec4c in ?? ()
#4  0x0000000000d4ac5e in ?? ()
#5  0x0000000000ca9ec9 in ?? ()
#6  0x0000000000c9058d in ?? ()
#7  0x00007ff5913816d1 in NS_InvokeByIndex_P ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#8  0x00007ff59137a637 in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#9  0x00007ff59137682b in ?? () from /usr/lib64/thunderbird/libxpcom_core.so
#10 0x00007ff59134bb12 in NS_ProcessNextEvent_P(nsIThread*, int) ()
   from /usr/lib64/thunderbird/libxpcom_core.so
#11 0x000000000060c85f in ?? ()
#12 0x0000000000b364bc in ?? ()
#13 0x0000000000449ca5 in strerror_r ()
#14 0x00000000004456a0 in strerror_r ()
#15 0x00007ff58abb5a7d in __libc_start_main () from /lib64/libc.so.6
#16 0x0000000000445499 in strerror_r ()
#17 0x00007fff66be3808 in ?? ()
#18 0x000000000000001c in ?? ()
#19 0x0000000000000001 in ?? ()
#20 0x00007fff66be510f in ?? ()
#21 0x0000000000000000 in ?? ()
A debugging session is active.

	Inferior 1 [process 3934] will be detached.

Quit anyway? (y or n) LND: Sending signal 11 to Thread 0x7ff591e63800 (LWP 3934)
Detaching from program: /usr/lib64/thunderbird/thunderbird-bin, process 3934
Comment 1 Wolfgang Rosenauer [:wolfiR] 2010-04-27 11:46:53 PDT
It seems that MozillaThunderbird-debuginfo is missing from your system. Please get the debuginfo package fitting your Thunderbird version and get the backtrace again.
Comment 2 mozilla@suykerbuyk.org 2010-04-27 14:08:46 PDT
Ok, so updated to 3.0.4.76 from OpenSuSE factor, and installed the debug info as well.


Below is an updated trace:


Continuing.
[Thread 0x7ff4c5af6910 (LWP 8478) exited]
[New Thread 0x7ff4bdafe910 (LWP 8525)]
[New Thread 0x7ff4c5af6910 (LWP 8526)]

Program received signal SIGSEGV, Segmentation fault.
NS_MsgHashIfNecessary (name=...) at nsMsgUtils.cpp:466
466	    else if (NS_LITERAL_STRING(ILLEGAL_FOLDER_CHARS_AS_LAST_LETTER).FindChar(name[lastIndex]) != -1)

Thread 12 (Thread 0x7ff4c5af6910 (LWP 8526)):
#0  0x00007ff4d6ca1049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff4d5ef6f7e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x00007ff4d5ef6ff6 in PR_Wait () from /usr/lib64/libnspr4.so
#3  0x00007ff4d6581c70 in Wait (interval=<value optimized out>, this=<value optimized out>)
    at ../../dist/include/xpcom/nsAutoLock.h:340
#4  nsEventQueue::GetEvent (interval=<value optimized out>, this=<value optimized out>)
    at nsEventQueue.cpp:85
#5  0x00007ff4d6582806 in GetEvent (event=<value optimized out>, 
    mayWait=<value optimized out>, this=<value optimized out>) at nsThread.h:112
#6  nsThread::ProcessNextEvent (event=<value optimized out>, 
    mayWait=<value optimized out>, this=<value optimized out>) at nsThread.cpp:512
#7  0x00007ff4d6557b12 in NS_ProcessNextEvent_P (thread=0x7ff4c1b1cccc, mayWait=128)
    at nsThreadUtils.cpp:247
#8  0x00007ff4d6586d3d in nsProxyEventObject::CallMethod (this=0x7ff4c18f07c0, 
    methodIndex=<value optimized out>, methodInfo=<value optimized out>, 
    params=<value optimized out>) at nsProxyEventObject.cpp:260
#9  0x00007ff4d658e2b1 in PrepareAndDispatch (self=0x7ff4bd171600, 
    methodIndex=<value optimized out>, args=0x7ff4c5af57f0, gpregs=0x7ff4c5af5770, fpregs=
    0x7ff4c5af57a0) at xptcstubs_x86_64_linux.cpp:151
#10 0x00007ff4d658d773 in SharedStub () from /usr/lib64/thunderbird/libxpcom_core.so
#11 0x0000000000cbf038 in nsImapProtocol::DiscoverMailboxSpec (this=0x7ff4bf0a1800, 
    adoptedBoxSpec=0x7ff4c1abf550) at nsImapProtocol.cpp:4847
#12 0x0000000000cc3fc9 in nsImapServerResponseParser::mailbox (this=0x7ff4bf0a1a58, 
    boxSpec=0x7ff4c1abf550) at nsImapServerResponseParser.cpp:991
#13 0x0000000000cc428f in nsImapServerResponseParser::response_data (this=0x7ff4bf0a1a58)
    at nsImapServerResponseParser.cpp:583
#14 0x0000000000cc5c05 in nsImapServerResponseParser::ParseIMAPServerResponse (this=
    0x7ff4bf0a1a58, aCurrentCommand=<value optimized out>, aIgnoreBadAndNOResponses=0, 
    aGreetingWithCapability=0x0) at nsImapServerResponseParser.cpp:243
#15 0x0000000000cb654f in nsImapProtocol::Lsub (this=0x7ff4bf0a1800, 
    mailboxPattern=<value optimized out>, addDirectoryIfNecessary=<value optimized out>)
    at nsImapProtocol.cpp:7394
#16 0x0000000000cbf9e9 in nsImapProtocol::DiscoverMailboxList (this=0x7ff4bf0a1800)
    at nsImapProtocol.cpp:7108
#17 0x0000000000cbfc96 in nsImapProtocol::FindMailboxesIfNecessary (this=0x7ff4bf0a1800)
    at nsImapProtocol.cpp:6872
#18 0x0000000000cc0549 in nsImapProtocol::ProcessCurrentURL (this=0x7ff4bf0a1800)
    at nsImapProtocol.cpp:1714
#19 0x0000000000cbea00 in nsImapProtocol::ImapThreadMainLoop (this=0x7ff4bf0a1800)
    at nsImapProtocol.cpp:1367
#20 0x0000000000cbeb64 in nsImapProtocol::Run (this=0x7ff4bf0a1800)
    at nsImapProtocol.cpp:1063
#21 0x00007ff4d658282b in nsThread::ProcessNextEvent (this=0x7ff4c0c2a590, mayWait=1, 
    result=0x7ff4c5af5f7c) at nsThread.cpp:521
#22 0x00007ff4d6557b12 in NS_ProcessNextEvent_P (thread=0x7ff4c1b1cccc, mayWait=128)
    at nsThreadUtils.cpp:247
#23 0x00007ff4d6582e4e in nsThread::ThreadFunc (arg=<value optimized out>)
    at nsThread.cpp:254
#24 0x00007ff4d5efca73 in ?? () from /usr/lib64/libnspr4.so
#25 0x00007ff4d6c9c65d in start_thread () from /lib64/libpthread.so.0
#26 0x00007ff4cfe73e1d in clone () from /lib64/libc.so.6
#27 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7ff4bdafe910 (LWP 8525)):
#0  0x00007ff4d6ca12cd in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00007ff4d5ef62e9 in ?? () from /usr/lib64/libnspr4.so
#2  0x00007ff4d5ef6edc in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#3  0x00007ff4d5ef6ff6 in PR_Wait () from /usr/lib64/libnspr4.so
#4  0x00007ff4d6583ff6 in Wait (interval=<value optimized out>, this=<value optimized out>)
    at ../../dist/include/xpcom/nsAutoLock.h:340
#5  nsThreadPool::Run (interval=<value optimized out>, this=<value optimized out>)
    at nsThreadPool.cpp:210
#6  0x00007ff4d658282b in nsThread::ProcessNextEvent (this=0x7ff4bce0c740, mayWait=1, 
    result=0x7ff4bdafdf7c) at nsThread.cpp:521
#7  0x00007ff4d6557b12 in NS_ProcessNextEvent_P (thread=0x7ff4c5fd498c, mayWait=128)
    at nsThreadUtils.cpp:247
#8  0x00007ff4d6582e4e in nsThread::ThreadFunc (arg=<value optimized out>)
    at nsThread.cpp:254
#9  0x00007ff4d5efca73 in ?? () from /usr/lib64/libnspr4.so
#10 0x00007ff4d6c9c65d in start_thread () from /lib64/libpthread.so.0
#11 0x00007ff4cfe73e1d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7ff4c8dff910 (LWP 8471)):
#0  0x00007ff4d6ca12cd in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00007ff4d5ef62e9 in ?? () from /usr/lib64/libnspr4.so
#2  0x00007ff4d5ef6edc in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#3  0x0000000000519796 in XPCJSRuntime::WatchdogMain (arg=<value optimized out>)
    at xpcjsruntime.cpp:819
#4  0x00007ff4d5efca73 in ?? () from /usr/lib64/libnspr4.so
#5  0x00007ff4d6c9c65d in start_thread () from /lib64/libpthread.so.0
#6  0x00007ff4cfe73e1d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7ff4c85fe910 (LWP 8472)):
#0  0x00007ff4cfe6ad03 in poll () from /lib64/libc.so.6
#1  0x00007ff4d5ef895f in ?? () from /usr/lib64/libnspr4.so
#2  0x000000000048ee1b in nsSocketTransportService::Poll (this=<value optimized out>, 
    wait=<value optimized out>, interval=0x7ff4c85fddec)
    at nsSocketTransportService2.cpp:355
#3  0x000000000048f28e in nsSocketTransportService::DoPollIteration (this=0x7ff4c90e8000, 
    wait=1) at nsSocketTransportService2.cpp:660
#4  0x000000000048f48c in nsSocketTransportService::OnProcessNextEvent (this=
    0x7ff4c90e8000, thread=0x7ff4cca4b280, mayWait=<value optimized out>, 
    depth=<value optimized out>) at nsSocketTransportService2.cpp:539
#5  0x00007ff4d65827d3 in nsThread::ProcessNextEvent (this=0x7ff4cca4b280, mayWait=1, 
    result=0x7ff4c85fdebc) at nsThread.cpp:508
#6  0x00007ff4d6557b12 in NS_ProcessNextEvent_P (thread=0x7ff4c85fdb50, mayWait=2)
    at nsThreadUtils.cpp:247
#7  0x000000000048f002 in nsSocketTransportService::Run (this=0x7ff4c90e8000)
    at nsSocketTransportService2.cpp:581
#8  0x00007ff4d658282b in nsThread::ProcessNextEvent (this=0x7ff4cca4b280, mayWait=1, 
    result=0x7ff4c85fdf7c) at nsThread.cpp:521
#9  0x00007ff4d6557b12 in NS_ProcessNextEvent_P (thread=0x7ff4c85fdb50, mayWait=2)
    at nsThreadUtils.cpp:247
#10 0x00007ff4d6582e4e in nsThread::ThreadFunc (arg=<value optimized out>)
    at nsThread.cpp:254
#11 0x00007ff4d5efca73 in ?? () from /usr/lib64/libnspr4.so
#12 0x00007ff4d6c9c65d in start_thread () from /lib64/libpthread.so.0
#13 0x00007ff4cfe73e1d in clone () from /lib64/libc.so.6
#14 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7ff4c7dfd910 (LWP 8473)):
#0  0x00007ff4d6ca12cd in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00007ff4d5ef62e9 in ?? () from /usr/lib64/libnspr4.so
#2  0x00007ff4d5ef6edc in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#3  0x00007ff4d6585710 in TimerThread::Run (this=0x7ff4cca457c0) at TimerThread.cpp:345
#4  0x00007ff4d658282b in nsThread::ProcessNextEvent (this=0x7ff4cca4b430, mayWait=1, 
    result=0x7ff4c7dfcf7c) at nsThread.cpp:521
#5  0x00007ff4d6557b12 in NS_ProcessNextEvent_P (thread=0x7ff4ccaa7c0c, mayWait=128)
    at nsThreadUtils.cpp:247
#6  0x00007ff4d6582e4e in nsThread::ThreadFunc (arg=<value optimized out>)
    at nsThread.cpp:254
#7  0x00007ff4d5efca73 in ?? () from /usr/lib64/libnspr4.so
#8  0x00007ff4d6c9c65d in start_thread () from /lib64/libpthread.so.0
#9  0x00007ff4cfe73e1d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7ff4c46ff910 (LWP 8479)):
#0  0x00007ff4d6ca1049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff4d5ef6f7e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x00007ff4d5ef6ff6 in PR_Wait () from /usr/lib64/libnspr4.so
#3  0x00007ff4d6581c70 in Wait (interval=<value optimized out>, this=<value optimized out>)
    at ../../dist/include/xpcom/nsAutoLock.h:340
#4  nsEventQueue::GetEvent (interval=<value optimized out>, this=<value optimized out>)
    at nsEventQueue.cpp:85
#5  0x00007ff4d6582806 in GetEvent (event=<value optimized out>, 
    mayWait=<value optimized out>, this=<value optimized out>) at nsThread.h:112
#6  nsThread::ProcessNextEvent (event=<value optimized out>, 
    mayWait=<value optimized out>, this=<value optimized out>) at nsThread.cpp:512
#7  0x00007ff4d6557b12 in NS_ProcessNextEvent_P (thread=0x7ff4c47ff54c, mayWait=128)
    at nsThreadUtils.cpp:247
#8  0x00007ff4d6582e4e in nsThread::ThreadFunc (arg=<value optimized out>)
    at nsThread.cpp:254
#9  0x00007ff4d5efca73 in ?? () from /usr/lib64/libnspr4.so
#10 0x00007ff4d6c9c65d in start_thread () from /lib64/libpthread.so.0
#11 0x00007ff4cfe73e1d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7ff4c0978910 (LWP 8480)):
#0  0x00007ff4d6ca1049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff4d5ef6f7e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x0000000000b92370 in nsSSLThread::Run (this=0x7ff4c176af80) at nsSSLThread.cpp:978
#3  0x00007ff4d5efca73 in ?? () from /usr/lib64/libnspr4.so
#4  0x00007ff4d6c9c65d in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff4cfe73e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7ff4c0177910 (LWP 8481)):
#0  0x00007ff4d6ca1049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff4d5ef6f7e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x0000000000b801d5 in nsCertVerificationThread::Run (this=0x7ff4c0c2a3e0)
    at nsCertVerificationThread.cpp:138
#3  0x00007ff4d5efca73 in ?? () from /usr/lib64/libnspr4.so
#4  0x00007ff4d6c9c65d in start_thread () from /lib64/libpthread.so.0
#5  0x00007ff4cfe73e1d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7ff4bf976910 (LWP 8482)):
#0  0x00007ff4d6ca1049 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff4d5ef6f7e in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#2  0x00007ff4d5ef6ff6 in PR_Wait () from /usr/lib64/libnspr4.so
#3  0x00007ff4d6581c70 in Wait (interval=<value optimized out>, this=<value optimized out>)
    at ../../dist/include/xpcom/nsAutoLock.h:340
#4  nsEventQueue::GetEvent (interval=<value optimized out>, this=<value optimized out>)
    at nsEventQueue.cpp:85
#5  0x00007ff4d6582806 in GetEvent (event=<value optimized out>, 
    mayWait=<value optimized out>, this=<value optimized out>) at nsThread.h:112
#6  nsThread::ProcessNextEvent (event=<value optimized out>, 
    mayWait=<value optimized out>, this=<value optimized out>) at nsThread.cpp:512
#7  0x00007ff4d6557b12 in NS_ProcessNextEvent_P (thread=0x7ff4c18f0ecc, mayWait=128)
    at nsThreadUtils.cpp:247
#8  0x00007ff4d6582e4e in nsThread::ThreadFunc (arg=<value optimized out>)
    at nsThread.cpp:254
#9  0x00007ff4d5efca73 in ?? () from /usr/lib64/libnspr4.so
#10 0x00007ff4d6c9c65d in start_thread () from /lib64/libpthread.so.0
#11 0x00007ff4cfe73e1d in clone () from /lib64/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ff4be2ff910 (LWP 8484)):
#0  0x00007ff4d6ca12cd in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/libpthread.so.0
#1  0x00007ff4d5ef62e9 in ?? () from /usr/lib64/libnspr4.so
#2  0x00007ff4d5ef6edc in PR_WaitCondVar () from /usr/lib64/libnspr4.so
#3  0x00000000004966b2 in nsHostResolver::GetHostToLookup (this=0x7ff4cca1dc40, result=
    0x7ff4be2fef98) at nsHostResolver.cpp:773
#4  0x0000000000496ffe in nsHostResolver::ThreadFunc (arg=0x7ff4cca1dc40)
    at nsHostResolver.cpp:877
#5  0x00007ff4d5efca73 in ?? () from /usr/lib64/libnspr4.so
#6  0x00007ff4d6c9c65d in start_thread () from /lib64/libpthread.so.0
#7  0x00007ff4cfe73e1d in clone () from /lib64/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff4d706f800 (LWP 8470)):
#0  NS_MsgHashIfNecessary (name=...) at nsMsgUtils.cpp:466
#1  0x0000000000d4ac42 in nsMsgDBFolder::CreateFileForDB (this=<value optimized out>, 
    userLeafName=<value optimized out>, path=0x7ff4c19153c0, dbFile=0x7fff840c48a0)
    at nsMsgDBFolder.cpp:908
#2  0x0000000000ca9eb5 in nsImapMailFolder::CreateClientSubfolderInfo (this=
    0x7ff4c4cc8000, folderName=<value optimized out>, 
    hierarchyDelimiter=<value optimized out>, flags=<value optimized out>, 
    suppressNotification=<value optimized out>) at nsImapMailFolder.cpp:986
#3  0x0000000000c90579 in nsImapIncomingServer::PossibleImapMailbox (this=0x7ff4c90897c0, 
    folderPath=<value optimized out>, hierarchyDelimiter=-1 '\377', boxFlags=72, 
    aNewFolder=0x7ff4c5af586c) at nsImapIncomingServer.cpp:1252
#4  0x00007ff4d658d6d1 in NS_InvokeByIndex_P (that=0x7fff840c4380, methodIndex=17544224, 
    paramCount=4294967295, params=0x1) at xptcinvoke_x86_64_linux.cpp:208
#5  0x00007ff4d6586637 in nsProxyObjectCallInfo::Run (this=0x7ff4c1b1cc80)
    at nsProxyEvent.cpp:181
#6  0x00007ff4d658282b in nsThread::ProcessNextEvent (this=0x7ff4cca4afb0, mayWait=1, 
    result=0x7fff840c50fc) at nsThread.cpp:521
#7  0x00007ff4d6557b12 in NS_ProcessNextEvent_P (thread=0x7fff840c4380, mayWait=17544224)
    at nsThreadUtils.cpp:247
#8  0x000000000060c85f in nsBaseAppShell::Run (this=0x7ff4c6535940)
    at nsBaseAppShell.cpp:170
#9  0x0000000000b364ac in nsAppStartup::Run (this=0x7ff4c65f9940) at nsAppStartup.cpp:193
#10 0x0000000000449ca5 in XRE_main (argc=<value optimized out>, 
    argv=<value optimized out>, aAppData=<value optimized out>) at nsAppRunner.cpp:3321
#11 0x00000000004456a0 in main (argc=2, argv=0x7fff840c5908) at nsMailApp.cpp:103
A debugging session is active.

	Inferior 1 [process 8470] will be detached.

Quit anyway? (y or n) LND: Sending signal 11 to Thread 0x7ff4d706f800 (LWP 8470)
Detaching from program: /usr/lib64/thunderbird/thunderbird-bin, process 8470
Comment 3 timeless 2010-05-07 04:01:14 PDT
you're going to need to poke things.

info regs
info locals
p name
p name.<...>

try to figure out what the cpu doesn't like about the code...
Comment 4 SiegeLord 2010-06-14 16:15:16 PDT
I have the same bug as the OP. I compiled the debug version of Thunderbird so I have an extended backtrace right here:

###!!! ASSERTION: index exceeds allowable range: 'i <= mLength', file ../../../mozilla/dist/include/nsTString.h, line 129

Program received signal SIGSEGV, Segmentation fault.
0x00007fffe8ac86c8 in nsString::CharAt (this=0x7fffffffc780, i=4294967295)
    at ../../../mozilla/dist/include/nsTString.h:130
130	          return mData[i];
(gdb) bt
#0  0x00007fffe8ac86c8 in nsString::CharAt (this=0x7fffffffc780, i=4294967295)
    at ../../../mozilla/dist/include/nsTString.h:130
#1  0x00007fffe8ac86ee in nsString::operator[] (this=0x7fffffffc780, 
    i=4294967295) at ../../../mozilla/dist/include/nsTString.h:135
#2  0x00007fffe8af5574 in NS_MsgHashIfNecessary (name=...)
    at /home/siege/src/mozilla/mailnews/base/util/nsMsgUtils.cpp:452
#3  0x00007fffe8aaeb70 in nsMsgDBFolder::CreateFileForDB (this=0x7fffd3717c00, 
    userLeafName=..., path=0x7fffc8857540, dbFile=0x7fffffffcc40)
    at /home/siege/src/mozilla/mailnews/base/util/nsMsgDBFolder.cpp:883
#4  0x00007fffd7a90392 in nsImapMailFolder::CreateClientSubfolderInfo (
    this=0x7fffd3717c00, folderName=..., hierarchyDelimiter=47 '/', flags=72, 
    suppressNotification=0)
    at /home/siege/src/mozilla/mailnews/imap/src/nsImapMailFolder.cpp:989
#5  0x00007fffd7a7784b in nsImapIncomingServer::PossibleImapMailbox (
    this=0x7fffd4faee20, folderPath=..., hierarchyDelimiter=47 '/', 
    boxFlags=72, aNewFolder=0x7fffc9ffe3d8)
    at /home/siege/src/mozilla/mailnews/imap/src/nsImapIncomingServer.cpp:1168
#6  0x00007ffff6fb6793 in NS_InvokeByIndex_P (that=0x7fffd4faef00, 
    methodIndex=3, paramCount=4, params=0x7fffc85808e0)
    at /home/siege/src/mozilla/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_unix.cpp:208
#7  0x00007ffff6fa0ccd in nsProxyObjectCallInfo::Run (this=0x7fffc85eea10)
    at /home/siege/src/mozilla/mozilla/xpcom/proxy/src/nsProxyEvent.cpp:181
#8  0x00007ffff6f95935 in nsThread::ProcessNextEvent (this=0x7fffeed3baf0, 
    mayWait=1, result=0x7fffffffd67c)
    at /home/siege/src/mozilla/mozilla/xpcom/threads/nsThread.cpp:547
#9  0x00007ffff6f14c95 in NS_ProcessNextEvent_P (thread=0x7fffeed3baf0, 
    mayWait=1) at nsThreadUtils.cpp:250
#10 0x00007fffe00410e1 in nsBaseAppShell::Run (this=0x7fffd6d32cc0)
    at /home/siege/src/mozilla/mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:178
#11 0x00007fffdc56d335 in nsAppStartup::Run (this=0x7fffeedbebf0)
    at /home/siege/src/mozilla/mozilla/toolkit/components/startup/src/nsAppStartup.cpp:192
#12 0x00007ffff7484c6d in XRE_main (argc=1, argv=0x7fffffffdfe8, 
    aAppData=0x7fffeed21080)
    at /home/siege/src/mozilla/mozilla/toolkit/xre/nsAppRunner.cpp:3626
#13 0x0000000000401e3e in main (argc=1, argv=0x7fffffffdfe8)
    at /home/siege/src/mozilla/mail/app/nsMailApp.cpp:101

Inside NS_MsgHashIfNecessary lastIndex == -1, because the length of name is 0.

nsImapIncomingServer::PossibleImapMailbox has been called with the folderPath equal to '/' which is then stripped to create the empty string that then gets passed down the rest of the functions, eventually causing that assert. I suppose I could fix that assertion (just exit from NS_MsgHashIfNecessary if length is 0, but perhaps the bug is elsewhere?)

Hopefully this is helpful... this bug is really annoying :)
Comment 5 SiegeLord 2010-06-14 16:31:12 PDT
Okay, adding a:

if(name.Length() == 0)
    return NS_OK;

to NS_MsgHashIfNecessary removes the crash. The AIM account opens normally, except there is a folder without a name there. You can't interact with this folder in any way, can't copy into it, can't rename/delete it etc. For the last two, Thunderbird reports that the pertinent commands have failed. Clearly, this empty folder does not exist on the AIM server (this is also confirmed via AIM's web interface).
Comment 6 David :Bienvenu 2010-06-14 16:36:47 PDT
Interesting. What's the string passed into nsImapIncomingServer::PossibleImapMailbox in the crash stack?
Comment 7 timeless 2010-06-14 16:39:14 PDT
fwiw, we use IsEmpty() instead of Length() == 0
Comment 8 SiegeLord 2010-06-14 16:47:30 PDT
@ David :Bienvenu

While inside nsImapIncomingServer::PossibleImapMailbox:

p folderPath
$1 = (const nsACString_internal &) @0x7fffca2a6430: {
  mData = 0x7fffeed31720 "/", mLength = 1, mFlags = 9}
Comment 9 David :Bienvenu 2010-06-14 16:51:33 PDT
Thx - can you get an IMAP protocol log of a session where this crashes, so I can see what the server is sending? Thx!

https://wiki.mozilla.org/MailNews:Logging
Comment 10 SiegeLord 2010-06-14 17:12:31 PDT
Okay, here's a slightly redacted version of that log. I changed my email, (replaced it with "<redacted>" and snipped the hundreds of FETCH messages, as I figured they were irrelevant):

-1195378928[7f1fb8ea46a0]: ImapThreadMainLoop entering [this=b8cde800]
-428382176[7f1fdd414040]: b8cde800:imap.aim.com:NA:SetupWithUrl: clearing IMAP_CONNECTION_IS_OPEN
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:NA:ProcessCurrentURL: entering
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:NA:ProcessCurrentURL:imap://<redacted>@imap.aim.com:143/select%3E/INBOX:  = currentUrl
-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=18 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:NA:CreateNewLineFromSocket: * OK IMAP4 ready

-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:NA:SendData: 1 capability

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=101 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:NA:CreateNewLineFromSocket: * CAPABILITY IMAP4rev1 UIDPLUS ID NAMESPACE LOGIN-REFERRALS IDLE STARTTLS AUTH=XAOL-UAS-MB STARTTLS

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=16 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:NA:CreateNewLineFromSocket: 1 OK completed

-1195378928[7f1fb8ea46a0]: try to log in
-1195378928[7f1fb8ea46a0]: IMAP auth: server caps 0x482225, pref 0x1006, failed 0x0, avail caps 0x4
-1195378928[7f1fb8ea46a0]: (GSSAPI = 0x1000000, CRAM = 0x20000, NTLM = 0x100000, MSN =  0x200000, PLAIN = 0x1000, LOGIN = 0x2, old-style IMAP login = 0x4)
-1195378928[7f1fb8ea46a0]: trying auth method 0x4
-1195378928[7f1fb8ea46a0]: got new password
-1195378928[7f1fb8ea46a0]: IMAP: trying auth method 0x4
-1195378928[7f1fb8ea46a0]: old-style auth
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:NA:SendData: Logging suppressed for this command (it probably contained authentication information)
-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=215 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:NA:CreateNewLineFromSocket: * CAPABILITY IMAP4rev1 BINARY CATENATE CHILDREN ESEARCH ID IDLE LITERAL+ LOGIN-REFERRALS NAMESPACE QUOTA SASL-IR UIDPLUS UNSELECT WITHIN X-DRAFT-I04-SEARCHRES XAOL-MOVE AUTH=XAOL-UAS-MB XAOL.SPAM.REASON XAOL-MSGID

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=22 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:NA:CreateNewLineFromSocket: 3 OK LOGIN completed

-1195378928[7f1fb8ea46a0]: login succeeded
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:SendData: 4 namespace

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=32 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * NAMESPACE (("" "/")) NIL NIL

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=26 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: 4 OK NAMESPACE completed

-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:SendData: 5 lsub "" "*"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=36 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "Sent"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=40 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "SavedIMs"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=38 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "Drafts"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=37 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "Trash"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=37 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "INBOX"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=37 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "Saved"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=28 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\Noselect) "/" "/"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=49 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren \Noinferiors) "/" "Spam"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=21 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: 5 OK LSUB completed

-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:SendData: 6 list "" "INBOX"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=37 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * LIST (\HasNoChildren) "/" "INBOX"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=21 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: 6 OK LIST completed

-1219496176[7f1fb7960230]: ImapThreadMainLoop entering [this=b79e4800]
-428382176[7f1fdd414040]: b79e4800:imap.aim.com:NA:SetupWithUrl: clearing IMAP_CONNECTION_IS_OPEN
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:NA:ProcessCurrentURL: entering
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:NA:ProcessCurrentURL:imap://<redacted>@imap.aim.com:143/listfolder%3E/:  = currentUrl
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:SendData: 7 select "INBOX"

-1219496176[7f1fb7960230]: ReadNextLine [stream=b7960358 nb=18 needmore=0]
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:NA:CreateNewLineFromSocket: * OK IMAP4 ready

-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:NA:SendData: 1 capability

-1219496176[7f1fb7960230]: ReadNextLine [stream=b7960358 nb=101 needmore=0]
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:NA:CreateNewLineFromSocket: * CAPABILITY IMAP4rev1 UIDPLUS ID NAMESPACE LOGIN-REFERRALS IDLE STARTTLS AUTH=XAOL-UAS-MB STARTTLS

-1219496176[7f1fb7960230]: ReadNextLine [stream=b7960358 nb=16 needmore=0]
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:NA:CreateNewLineFromSocket: 1 OK completed

-1219496176[7f1fb7960230]: try to log in
-1219496176[7f1fb7960230]: IMAP auth: server caps 0x482225, pref 0x1006, failed 0x0, avail caps 0x4
-1219496176[7f1fb7960230]: (GSSAPI = 0x1000000, CRAM = 0x20000, NTLM = 0x100000, MSN =  0x200000, PLAIN = 0x1000, LOGIN = 0x2, old-style IMAP login = 0x4)
-1219496176[7f1fb7960230]: trying auth method 0x4
-1219496176[7f1fb7960230]: got new password
-1219496176[7f1fb7960230]: IMAP: trying auth method 0x4
-1219496176[7f1fb7960230]: old-style auth
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:NA:SendData: Logging suppressed for this command (it probably contained authentication information)
-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=14 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * 639 EXISTS

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=12 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * 0 RECENT

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=22 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * OK [UIDVALIDITY 1]

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=25 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * OK [UIDNEXT 28803881]

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=275 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * FLAGS (\Answered \Deleted \Draft \Flagged \Seen $Forwarded $MDNSent Forwarded XAOL-CLIENT-BULK XAOL-RECEIVED XAOL-VOICEMAIL $Junk $NotJunk Junk JunkRecorded NonJunk NotJunk XAOL-GOOD XAOL-GOODCHECK-DONE XAOL-OFFICIAL-MAIL XAOL-CERTIFIED-MAIL XAOL-PRIORITY-MAIL XAOL-READ)

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=243 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: * OK [PERMANENTFLAGS (\Answered \Deleted \Draft \Flagged \Seen $Forwarded $MDNSent Forwarded XAOL-CLIENT-BULK XAOL-RECEIVED XAOL-VOICEMAIL XAOL-GOOD XAOL-GOODCHECK-DONE XAOL-OFFICIAL-MAIL XAOL-CERTIFIED-MAIL XAOL-PRIORITY-MAIL XAOL-READ \*)]

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=36 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:A:CreateNewLineFromSocket: 7 OK [READ-WRITE] SELECT completed

-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:SendData: 8 getquotaroot "INBOX"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=21 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:CreateNewLineFromSocket: * QUOTAROOT "INBOX"

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=29 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:CreateNewLineFromSocket: 8 OK GETQUOTAROOT completed

-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:SendData: 9 UID fetch 1:* (FLAGS)

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=118 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:CreateNewLineFromSocket: * 1 FETCH (UID 28194698 FLAGS (\Seen XAOL-GOOD XAOL-GOODCHECK-DONE XAOL-READ XAOL-CERTIFIED-MAIL XAOL-BILLPAY-MAIL))

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=80 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:CreateNewLineFromSocket: * 2 FETCH (UID 28194784 FLAGS (\Answered \Seen XAOL-GOODCHECK-DONE XAOL-READ))

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=84 needmore=0]

** and so on... **


-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=82 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:CreateNewLineFromSocket: * 639 FETCH (UID 28803880 FLAGS (\Seen XAOL-GOOD XAOL-GOODCHECK-DONE XAOL-READ))

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=26 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:CreateNewLineFromSocket: 9 OK UID FETCH completed

-1219496176[7f1fb7960230]: ReadNextLine [stream=b7960358 nb=215 needmore=0]
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:NA:CreateNewLineFromSocket: * CAPABILITY IMAP4rev1 BINARY CATENATE CHILDREN ESEARCH ID IDLE LITERAL+ LOGIN-REFERRALS NAMESPACE QUOTA SASL-IR UIDPLUS UNSELECT WITHIN X-DRAFT-I04-SEARCHRES XAOL-MOVE AUTH=XAOL-UAS-MB XAOL.SPAM.REASON XAOL-MSGID

-1219496176[7f1fb7960230]: ReadNextLine [stream=b7960358 nb=22 needmore=0]
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:NA:CreateNewLineFromSocket: 3 OK LOGIN completed

-1219496176[7f1fb7960230]: login succeeded
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:SendData: 10 IDLE

-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:A:SendData: 4 list "" ""

-1195378928[7f1fb8ea46a0]: ReadNextLine [stream=b8ea47c8 nb=11 needmore=0]
-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:CreateNewLineFromSocket: +  idling

-1219496176[7f1fb7960230]: ReadNextLine [stream=b7960358 nb=27 needmore=0]
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:A:CreateNewLineFromSocket: * LIST (\Noselect) "/" ""

-1219496176[7f1fb7960230]: ReadNextLine [stream=b7960358 nb=21 needmore=0]
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:A:CreateNewLineFromSocket: 4 OK LIST completed

-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:SendData: DONE

-1180698864[7f1fba9cb7b0]: ba956800:bmail.brandeis.edu:S-INBOX:SendData: DONE

-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:SendData: 11 close

-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:SendData: 12 logout

-1180698864[7f1fba9cb7b0]: ba956800:bmail.brandeis.edu:S-INBOX:SendData: 16 close

-1180698864[7f1fba9cb7b0]: ba956800:bmail.brandeis.edu:S-INBOX:SendData: 17 logout

-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:A:SendData: 5 logout

-1195378928[7f1fb8ea46a0]: b8cde800:imap.aim.com:S-INBOX:TellThreadToDie: close socket connection
-1195378928[7f1fb8ea46a0]: ImapThreadMainLoop leaving [this=b8cde800]
-1180698864[7f1fba9cb7b0]: ba956800:bmail.brandeis.edu:S-INBOX:TellThreadToDie: close socket connection
-1180698864[7f1fba9cb7b0]: ImapThreadMainLoop leaving [this=ba956800]
-1219496176[7f1fb7960230]: b79e4800:imap.aim.com:A:TellThreadToDie: close socket connection
-1219496176[7f1fb7960230]: ImapThreadMainLoop leaving [this=b79e4800]
-428382176[7f1fdd414040]: WARNING: SQL statement 'INSERT INTO 'main'.'conversationsText_segdir' VALUES(?,?,?,?,?,?)' was not finalized: file /home/siege/src/mozilla/mozilla/storage/src/mozStorageConnection.cpp, line 586
-428382176[7f1fdd414040]: WARNING: SQL statement 'SELECT coalesce((SELECT max(blockid) FROM 'main'.'conversationsText_segments') + 1, 1)' was not finalized: file /home/siege/src/mozilla/mozilla/storage/src/mozStorageConnection.cpp, line 586
-428382176[7f1fdd414040]: WARNING: SQL statement 'SELECT (SELECT max(idx) FROM 'main'.'conversationsText_segdir' WHERE level = ?) + 1' was not finalized: file /home/siege/src/mozilla/mozilla/storage/src/mozStorageConnection.cpp, line 586
-428382176[7f1fdd414040]: WARNING: SQL statement 'INSERT INTO 'main'.'messagesText_segdir' VALUES(?,?,?,?,?,?)' was not finalized: file /home/siege/src/mozilla/mozilla/storage/src/mozStorageConnection.cpp, line 586
-428382176[7f1fdd414040]: WARNING: SQL statement 'INSERT INTO 'main'.'messagesText_segments'(blockid, block) VALUES(?, ?)' was not finalized: file /home/siege/src/mozilla/mozilla/storage/src/mozStorageConnection.cpp, line 586
-428382176[7f1fdd414040]: WARNING: SQL statement 'SELECT coalesce((SELECT max(blockid) FROM 'main'.'messagesText_segments') + 1, 1)' was not finalized: file /home/siege/src/mozilla/mozilla/storage/src/mozStorageConnection.cpp, line 586
-428382176[7f1fdd414040]: WARNING: SQL statement 'SELECT (SELECT max(idx) FROM 'main'.'messagesText_segdir' WHERE level = ?) + 1' was not finalized: file /home/siege/src/mozilla/mozilla/storage/src/mozStorageConnection.cpp, line 586
-428382176[7f1fdd414040]: WARNING: SQL statement 'INSERT INTO 'main'.'messagesText_content' VALUES(?,?,?,?,?,?)' was not finalized: file /home/siege/src/mozilla/mozilla/storage/src/mozStorageConnection.cpp, line 586
-428382176[7f1fdd414040]: WARNING: SQL statement 'INSERT INTO 'main'.'conversationsText_content' VALUES(?,?)' was not finalized: file /home/siege/src/mozilla/mozilla/storage/src/mozStorageConnection.cpp, line 586
-428382176[7f1fdd414040]: WARNING: nsExceptionService ignoring thread destruction after shutdown: file /home/siege/src/mozilla/mozilla/xpcom/base/nsExceptionService.cpp, line 197
-428382176[7f1fdd414040]: WARNING: not an nsIRDFRemoteDataSource: 'remote != nsnull', file /home/siege/src/mozilla/mozilla/rdf/datasource/src/nsLocalStore.cpp, line 312
-428382176[7f1fdd414040]: WARNING: not an nsIRDFRemoteDataSource: 'remote != nsnull', file /home/siege/src/mozilla/mozilla/rdf/datasource/src/nsLocalStore.cpp, line 312
-428382176[7f1fdd414040]: WARNING: not an nsIRDFRemoteDataSource: 'remote != nsnull', file /home/siege/src/mozilla/mozilla/rdf/datasource/src/nsLocalStore.cpp, line 312
-428382176[7f1fdd414040]: WARNING: unable to Flush() diry datasource during XPCOM shutdown: file /home/siege/src/mozilla/mozilla/rdf/base/src/nsRDFXMLDataSource.cpp, line 777
-428382176[7f1fdd414040]: WARNING: not an nsIRDFRemoteDataSource: 'remote != nsnull', file /home/siege/src/mozilla/mozilla/rdf/datasource/src/nsLocalStore.cpp, line 312
-428382176[7f1fdd414040]: WARNING: Textrun cache not empty!: 'mCache.Count() == 0', file /home/siege/src/mozilla/mozilla/gfx/thebes/src/gfxTextRunWordCache.cpp, line 85
-428382176[7f1fdd414040]: WARNING: Leaking the RDF Service.: file /home/siege/src/mozilla/mozilla/rdf/build/nsRDFModule.cpp, line 236
Comment 11 David :Bienvenu 2010-06-14 17:15:43 PDT
Is this from a build w/ your patch to fix the crash?
Comment 12 SiegeLord 2010-06-14 17:19:34 PDT
Oh, yes... that it is, sorry. Here's the log from the stock version (installed from Ubuntu's repositories):

686814992[7f532b051f20]: 301eb000:imap.aim.com:NA:SendData: Logging suppressed for this command (it probably contained authentication information)
686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=215 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:NA:CreateNewLineFromSocket: * CAPABILITY IMAP4rev1 BINARY CATENATE CHILDREN ESEARCH ID IDLE LITERAL+ LOGIN-REFERRALS NAMESPACE QUOTA SASL-IR UIDPLUS UNSELECT WITHIN X-DRAFT-I04-SEARCHRES XAOL-MOVE AUTH=XAOL-UAS-MB XAOL.SPAM.REASON XAOL-MSGID

686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=22 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:NA:CreateNewLineFromSocket: 2 OK LOGIN completed

686814992[7f532b051f20]: 301eb000:imap.aim.com:A:SendData: 3 namespace

686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=32 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:A:CreateNewLineFromSocket: * NAMESPACE (("" "/")) NIL NIL

686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=26 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:A:CreateNewLineFromSocket: 3 OK NAMESPACE completed

686814992[7f532b051f20]: 301eb000:imap.aim.com:A:SendData: 4 lsub "" "*"

686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=36 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "Sent"

686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=40 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "SavedIMs"

686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=38 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "Drafts"

686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=37 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "Trash"

686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=37 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "INBOX"

686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=37 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\HasNoChildren) "/" "Saved"

686814992[7f532b051f20]: ReadNextLine [stream=2b084110 nb=28 needmore=0]
686814992[7f532b051f20]: 301eb000:imap.aim.com:A:CreateNewLineFromSocket: * LSUB (\Noselect) "/" "/"
Comment 13 David :Bienvenu 2010-06-16 15:46:04 PDT
I'm thinking the imap protocol code might simply ignore mailbox names that are equal to the hierarchy delimiter, and never get over to the mailnews backend.
Comment 14 SiegeLord 2010-06-22 20:28:50 PDT
Here's a log from Evolution, accessing the same account:

sending : A00001 LOGIN xxx xxx

received: * CAPABILITY IMAP4rev1 BINARY CATENATE CHILDREN ESEARCH ID IDLE LITERAL+ LOGIN-REFERRALS NAMESPACE QUOTA SASL-IR UIDPLUS UNSELECT WITHIN X-DRAFT-I04-SEARCHRES XAOL-MOVE AUTH=XAOL-UAS-MB XAOL.SPAM.REASON XAOL-MSGID

received: A00001 OK LOGIN completed

sending : A00002 NAMESPACE

received: * NAMESPACE (("" "/")) NIL NIL

received: A00002 OK NAMESPACE completed

sending : A00003 LIST "" "*"

received: * LIST (\HasNoChildren) "/" "Drafts"

received: * LIST (\HasNoChildren) "/" "INBOX"

received: * LIST (\HasNoChildren) "/" "Saved"

received: * LIST (\HasNoChildren) "/" "SavedIMs"

received: * LIST (\HasNoChildren) "/" "Sent"

received: * LIST (\HasNoChildren \Noinferiors) "/" "Spam"

received: * LIST (\HasNoChildren) "/" "Trash"

received: A00003 OK LIST completed

sending : A00004 LSUB "" "*"

received: * LSUB (\HasNoChildren) "/" "Sent"

received: * LSUB (\HasNoChildren) "/" "SavedIMs"

received: * LSUB (\HasNoChildren) "/" "Drafts"

received: * LSUB (\HasNoChildren) "/" "Trash"

received: * LSUB (\HasNoChildren) "/" "INBOX"

received: * LSUB (\HasNoChildren) "/" "Saved"

received: * LSUB (\Noselect) "/" "/"

received: * LSUB (\HasNoChildren \Noinferiors) "/" "Spam"

received: A00004 OK LSUB completed

It seems that this strange folder is subscribed to, but doesn't actually exist when listed? Could Thunderbird perhaps check the subscribed folders with the return of the LIST command to see if those folders actually exist? I don't mean LISTing the entire mailbox, but LISTing the individual subscribed folders.
Comment 15 David :Bienvenu 2010-06-23 09:04:11 PDT
that would defeat the purpose of using LSUB in the first place. You could switch to not just showing subscribed folders in the advanced server settings.

I tried to get subscribed to "/" with an AOL IMAP server but couldn't. I'll still try to do a fix for this...
Comment 16 David :Bienvenu 2010-06-23 14:56:12 PDT
Created attachment 453517 [details] [diff] [review]
proposed fix with unit test
Comment 17 SiegeLord 2010-06-23 20:30:54 PDT
Thanks for the workabout (the advanced server settings trick), that fixes this bug for me.

The patch also works fine for me, so looks like the next version will have this bug fixed. Thanks for the help, David!
Comment 18 David :Bienvenu 2010-06-23 20:59:30 PDT
(In reply to comment #17)
> 
> The patch also works fine for me, so looks like the next version will have this
> bug fixed. Thanks for the help, David!

Thx very much for your help as well.
Comment 19 David :Bienvenu 2010-06-24 07:23:58 PDT
fixed on trunk.
Comment 20 David :Bienvenu 2010-06-24 07:24:52 PDT
Comment on attachment 453517 [details] [diff] [review]
proposed fix with unit test

I think the test would need to be tweaked for 3.0.6 (do_timeout_function changes reverted)
Comment 21 Robert Kaiser 2010-06-29 08:52:13 PDT
Note: I pushed http://hg.mozilla.org/comm-central/rev/7d067bc2575c on the SeaMonkey 2.1a2 relbranch, so that's fixed there (in build2) as well.
Comment 22 Mark Banner (:standard8, afk until Dec) 2010-07-09 12:32:56 PDT
Comment on attachment 453517 [details] [diff] [review]
proposed fix with unit test

a=Standard8 for comm-1.9.2. Please land just on default and I'll sort out relbranches later.
Comment 23 Mark Banner (:standard8, afk until Dec) 2010-07-12 04:18:44 PDT
Checked in to comm-1.9.2 and the 3.1.1 relbranch for build 2:

http://hg.mozilla.org/releases/comm-1.9.2/rev/ef92e73e78d4
http://hg.mozilla.org/releases/comm-1.9.2/rev/56615617ad48
Comment 24 Mark Banner (:standard8, afk until Dec) 2010-08-23 14:49:58 PDT
Checked into 1.9.1 with minor bitrot fix:

http://hg.mozilla.org/releases/comm-1.9.1/rev/f1557cde3dc5
Comment 25 Robert Kaiser 2010-08-23 19:01:45 PDT
Either this or bug 581707 has turned all 1.9.1-based trees building nsImapIncomingServer.cpp red on all platforms. Please test the patch before checkin?
Comment 26 Justin Wood (:Callek) 2010-08-23 19:36:49 PDT
Backout out on 1.9.1 due to failure all-around in the push itself. 

http://hg.mozilla.org/releases/comm-1.9.1/rev/bde712b03c86
Comment 27 Mark Banner (:standard8, afk until Dec) 2010-08-24 01:29:37 PDT
re-landed on 1.9.1:

http://hg.mozilla.org/releases/comm-1.9.1/rev/56b339909f61
Comment 28 Martin Stránský 2010-08-26 03:24:25 PDT
Created attachment 469409 [details] [diff] [review]
1.8.0 version

Note You need to log in before you can comment on or make changes to this bug.