Closed Bug 95626 Opened 20 years ago Closed 20 years ago

Crash on receiving movemail, followed by inability to retrieve

Categories

(MailNews Core :: Movemail, defect)

Sun
Solaris
defect
Not set
critical

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: peter.oshea, Assigned: adam)

Details

(Keywords: crash, dataloss)

Attachments

(2 files)

On recent trunk builds, mailnews has been spotty on retrieving mail with
movemail.  On the first attempt at retrieval, mozilla segfaults.  Further
attempts to retrieve, after restarting mozilla, result in no retrieval of mail.

This is trunk build 2001081510 running on Solaris 2.8.
Ok, got more info on how this happens:

When a new piece of mail hits mailbox, hit "Get msg" button.  Mozilla segfaults
(backtrace below).  If mozilla is restarted, you can then hit "Get msg" all you
want, mailnews will neither crash nor retrieve the message.  If another piece of
mail gets into the mailbox, trying to "Get msg" will cause a new segfault.

After re-reading guidelines on severity, marking this as "blocker" because I
can't test this build without a functioning Mailnews.  But hey, the new tree
pane sure looks pretty.

Backtrace from gdb:
#0  0xff1abc10 in nsCOMPtr_base::assign_with_AddRef ()
#1  0xfccabf50 in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#2  0xfcca97c8 in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#3  0xfccc754c in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#4  0xfccc86ac in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#5  0xfccb86b4 in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#6  0xfc850c14 in ?? () from /home/poshea/bin/mozilla/components/libmailnews.so
#7  0xfe837a04 in ?? () from /home/poshea/bin/mozilla/components/librdf.so
#8  0xff1b9ca8 in XPTC_InvokeByIndex ()
#9  0xfe93f038 in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#10 0xfe94510c in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#11 0xff2b3b00 in js_Invoke ()
#12 0xff2bb0ec in js_Interpret ()
#13 0xff2b3b54 in js_Invoke ()
#14 0xfe93a880 in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#15 0xfe938978 in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#16 0xff1b845c in PrepareAndDispatch ()
#17 0xff1b9cec in SharedStub ()
#18 0xff1b8518 in nsXPTCStubBase::Stub5 ()
#19 0xff1b9ca8 in XPTC_InvokeByIndex ()
#20 0xfe93f038 in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#21 0xfe94510c in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#22 0xff2b3b00 in js_Invoke ()
#23 0xff2bb0ec in js_Interpret ()
#24 0xff2b3b54 in js_Invoke ()
#25 0xff2b3d54 in js_InternalInvoke ()
#26 0xff2958f0 in JS_CallFunctionValue ()
#27 0xfd8a78e4 in ?? () from /home/poshea/bin/mozilla/components/libjsdom.so
#28 0xfd8d52c4 in ?? () from /home/poshea/bin/mozilla/components/libjsdom.so
#29 0xfd584010 in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#30 0xfd5863ec in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#31 0xfd67c814 in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#32 0xfd67c948 in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#33 0xfd67c948 in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#34 0xfcf0eba0 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#35 0xfcfb84c4 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#36 0xfcfb81cc in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#37 0xfcf0eaac in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#38 0xfcf0e8b4 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#39 0xfd58cd10 in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#40 0xfd58b08c in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#41 0xfcf0eaf4 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#42 0xfcf0e844 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#43 0xfcdce3f4 in ?? () from /home/poshea/bin/mozilla/components/libgkview.so
#44 0xfcdd9e98 in ?? () from /home/poshea/bin/mozilla/components/libgkview.so
#45 0xfcdcdb64 in ?? () from /home/poshea/bin/mozilla/components/libgkview.so
#46 0xfdd32c78 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#47 0xfdd32b88 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#48 0xfdd32d1c in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#49 0xfdd33a40 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#50 0xfdd376e4 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#51 0xfdd2c860 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#52 0xfdd2c588 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so

#53 0xfeeca288 in gdk_event_dispatch (source_data=0x362178,
current_time=0xffbeed78, user_data=0x0) at gdkevents.c:2139
#54 0xfee65d88 in g_main_dispatch (dispatch_time=0xffbeed78) at gmain.c:656
#55 0xfee66624 in g_main_iterate (block=-18301468, dispatch=1) at gmain.c:877
#56 0xfee66838 in g_main_run (loop=0x1ab2d0) at gmain.c:935
#57 0xfefbf9ac in gtk_main () at gtkmain.c:524
#58 0xfdd236b4 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#59 0xfe8d93d4 in ?? () from /home/poshea/bin/mozilla/components/libnsappshell.so
#60 0x188d0 in NS_CreateNativeAppSupport ()
#61 0x1934c in main ()

Severity: critical → blocker
Coincidentally just this morning I was checking
gdfgdfgfdgdf
Sorry about that, I got bitten by the 'mozilla will submit
your form if you look at it funny' bug.

So, as I was saying... coincidentally just this morning I
was making sure that movemail was still working okay in
my local tree, and indeed it does -- but this is linux/x86,
plus my local tree diverges from the trunk a little.  I will
see if it diverges in any important crash-stopping ways.

Meanwhile, what filesystem type is your mail spool mounted on?
Unfortunately, I'm not a filesystem guru.  The machine is running Solaris 2.8,
and the mail spool is at /var/mail/&USER.  It's part of a corporate-campus-wide
Solaris network.
Testing with build 2001082722 for Solaris, it now seems to work.  Retrieval of
one to three messages causes no crash.  So should this be a WORKSFORME, and
reopen if it reappears?
Thanks for re-testing.  Yes, we'll do this -- let me know if it reappears.  I
saw a 'fix movemail bustage' float by on bonsai so for now I'll assume that
something was temporarily broken in the process of everyday tree work.
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → WORKSFORME
Scratch my comments from this morning, I'm still getting crashes.  It seems to
retrieve the mail, but not remove it from /var/mail/$USER.

Does the above backtrace help at all?  Is there anything else I can do to help
narrow this down?
Reopening.
Status: RESOLVED → UNCONFIRMED
Resolution: WORKSFORME → ---
This bug is still there, in the Solaris trunk build from 8/30.  

*** This bug has been marked as a duplicate of 92368 ***
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago20 years ago
Resolution: --- → DUPLICATE
this isn't a dup.
Status: RESOLVED → UNCONFIRMED
Resolution: DUPLICATE → ---
Didn't think it was a dupe of that offline-mode bug.  It's still crashing using
the 0.9.4 Solaris 2.8 build.  Some more info: when it crashes, it actually
appears to copy the message to the mailnews message folder, but doesn't remove
it from /var/mail/$USER.  This would explain why, after restarting mozilla, it
won't retrieve the message.  Somehow mailnews has marked the message as
retrieved already.

The backtrace is a now little different:

Program received signal SIGSEGV, Segmentation fault.
0xfe9e06bc in exit ()
(gdb) bt
#0  0xfe9e06bc in exit ()
#1  0xfc2b93a0 in ?? () from /home/poshea/bin/mozilla/libmsgbaseutil.so
#2  0xfc199208 in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#3  0xfc1989c0 in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#4  0xfc198050 in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#5  0xfc1b5fa4 in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#6  0xfc1b7110 in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#7  0xfc1a7050 in ?? () from /home/poshea/bin/mozilla/components/liblocalmail.so
#8  0xfc34e424 in ?? () from /home/poshea/bin/mozilla/components/libmailnews.so
#9  0xfda06cd4 in ?? () from /home/poshea/bin/mozilla/components/librdf.so
#10 0xff1b6f5c in XPTC_InvokeByIndex ()
#11 0xfe98dbc8 in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#12 0xfe993cf8 in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#13 0xff2b3bc4 in js_Invoke ()
#14 0xff2bb288 in js_Interpret ()
#15 0xff2b3c18 in js_Invoke ()
#16 0xfe989318 in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#17 0xfe98741c in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#18 0xff1b5710 in PrepareAndDispatch ()
#19 0xff1b6fa0 in SharedStub ()
#20 0xff1b57cc in nsXPTCStubBase::Stub5 ()
#21 0xff1b6f5c in XPTC_InvokeByIndex ()
#22 0xfe98dbc8 in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#23 0xfe993cf8 in ?? () from /home/poshea/bin/mozilla/components/libxpconnect.so
#24 0xff2b3bc4 in js_Invoke ()
#25 0xff2bb288 in js_Interpret ()
#26 0xff2b3c18 in js_Invoke ()
#27 0xff2b3e24 in js_InternalInvoke ()
#28 0xff295818 in JS_CallFunctionValue ()
#29 0xfd4f50dc in ?? () from /home/poshea/bin/mozilla/components/libjsdom.so
#30 0xfd522e60 in ?? () from /home/poshea/bin/mozilla/components/libjsdom.so
#31 0xfcd7cb50 in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#32 0xfcd7ef2c in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#33 0xfce75ae4 in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#34 0xfce75c18 in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#35 0xfce75c18 in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#36 0xfd1a1fbc in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#37 0xfd24c2b0 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#38 0xfd24bfb8 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#39 0xfd1a1ec8 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#40 0xfd1a1cd0 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#41 0xfcd85850 in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#42 0xfcd83bcc in ?? () from /home/poshea/bin/mozilla/components/libgkcontent.so
#43 0xfd1a1f10 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#44 0xfd1a1c60 in ?? () from /home/poshea/bin/mozilla/components/libgklayout.so
#45 0xfd49d780 in ?? () from /home/poshea/bin/mozilla/components/libgkview.so
#46 0xfd4a9280 in ?? () from /home/poshea/bin/mozilla/components/libgkview.so
#47 0xfd49cef0 in ?? () from /home/poshea/bin/mozilla/components/libgkview.so
#48 0xfd44162c in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#49 0xfd44153c in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#50 0xfd4416d0 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#51 0xfd4423f4 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#52 0xfd446068 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#53 0xfd43b21c in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#54 0xfd43af44 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#55 0xfeeca288 in gdk_event_dispatch (source_data=0x3e4710,
current_time=0xffbeebc0, user_data=0x0) at gdkevents.c:2139
#56 0xfee65d88 in g_main_dispatch (dispatch_time=0xffbeebc0) at gmain.c:656
#57 0xfee66624 in g_main_iterate (block=-18301468, dispatch=1) at gmain.c:877
#58 0xfee66838 in g_main_run (loop=0x3b4330) at gmain.c:935
#59 0xfefbf9ac in gtk_main () at gtkmain.c:524
#60 0xfd432070 in ?? () from /home/poshea/bin/mozilla/components/libwidget_gtk.so
#61 0xfc91862c in ?? () from /home/poshea/bin/mozilla/components/libnsappshell.so
#62 0x17270 in NS_CreateNativeAppSupport ()
#63 0x17cd4 in main ()
Makring NEW.
Severity: blocker → critical
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: crash, dataloss
Hi Peter,

One thing that'd help would be to try a debug
build so the stacktraces are useful.  No biggie
if you can't though.
Coincidentally, I just tried that a few days ago.  There aren't debugging builds
available for Solaris, so I had to do it myself (12 hour compile / 1.7 GB disk
space!).  I compiled with debugging on, but still got this message in gdb when I
loaded the program:

warning: Unable to find dynamic linker breakpoint function.
warning: GDB will be unable to debug shared library initializers
warning: and track explicitly loaded dynamic code.

And after the crash, the backtrace yielded incomplete information, similar to
the above traces.  Can anyone point out what I'm doing wrong?
After looking through the movemail code briefly, maybe I should compile with
MOVEMAIL_DEBUG defined?  I could then report the debug messages printed.

I'll clear out a few gig on my hard drive, get the latest source code, and start
this compilation now.

FYI: this is my input to configure when I compile:
./configure --prefix=/home/poshea/bin/mozilla \
--with-default-mozilla-five-home=/home/poshea/bin/mozilla \
--enable-ultrasparc --enable-crypto \
--disable-tests 
The compile only took 4.5 hours.  Guess my machine's speedier than I thought.

During startup, among all of the miscellaneous debug messages to the terminal,
this one came up right after reading in bookmarks.html:

*** MURRR, new nsMovemailService


Then, after the mailnews window came up, I pressed "Get message" to retrieve a
message, mozilla crashed and output to the terminal:

##poshea@(/var/mail/poshea)##
 ...... maker(/var/mail/poshea.mozlock) ......
[try#1] <<link result: 0>>::got to the end! GOT LOCK
###!!! ASSERTION: You can't dereference a NULL nsCOMPtr with operator->().:
'mRawPtr != 0', file ../../../dist/include/xpcom/nsCOMPtr.h, line 664
###!!! Break: at file ../../../dist/include/xpcom/nsCOMPtr.h, line 664
Segmentation Fault


Hope this helps.


Thanks Peter.  Any chance of backtracing from the
assertion and break, with debugging symbols?

Additionally, you might want to try the patch I'm
about to attach which brings nsMovemailService.cpp
in line with my local tree, though there are very
few semantic changes...
Unfortunately, the patch failed at line 37, I attached the reject file above.

I still can't get debugging info (see query above about dynamic linker
breakpoint function), I'm about to build and install DDD, which may help me make
more sense of gdb.
Duh, the patch failed because I had edited the file to turn on debugging prints.
After applying the patch to the original file and compiling, it still crashed. 
I'll now work on getting better backtrace info.
I still can't get gdb to produce any helpful backtrace.  However, I think I'm
getting closer to an answer.

0.9.3 definitely works, and 0.9.4 doesn't.  Looking at the movemail code, there
is only one section of about 10-15 lines of code different between the two, in
nsMovemailService.cpp.  I'm going to compile 0.9.4 and confirm that it fails,
then back out the changes in that one file to its 0.9.3 version and see if it
works.  After that, I can put in debugging print statements in that section of
code and hopefully help Adam pinpoint it.
The Solaris 2.6 nightly build from 11/02 seems to be working, although the build
has got lots of other bugs.  If/when the ftp site gets a newer build, I'll
continue testing.
After additional testing of build 2001111122, I don't see the crash behavior.
Marking fixed.  Adam, I see you changed the nsMoveMailService.cpp at the end of
October, that must've done the trick.  Woohoo! 
Status: NEW → RESOLVED
Closed: 20 years ago20 years ago
Resolution: --- → FIXED
I don't believe I *did* change anything in October
(unless it's October 2000 :)) but I'm glad it's
working now.  :)

Has your build environment appreciably changed?  Or maybe
something got fixed in the supporting classes during the
recent mailnews-drive; that seems the most-likely answer.

Cheers,
--Adam
marking verified worksforme based on the reporter's last comments
Status: RESOLVED → VERIFIED
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.