Closed Bug 271258 Opened 20 years ago Closed 17 years ago

[enigmail] crash on exit after "Get mail" button became non-working [@ js_GC]

Categories

(Core :: JavaScript Engine, defect)

1.7 Branch
PowerPC
macOS
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: kiza, Unassigned)

References

Details

(Keywords: crash)

Crash Data

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0

For some weird reson which I couldn't pinpoint yet, the "Get mail" button stops
working. Fetching mail neither by clicking the button, not via the menu entry
works anymore. If Thunderbird is quit when this happens it will crash.

Attached below is a backtrace cut&pasted from Apple's crash reporter.

There is no exact way to reproduce this problem, but maybe the backtrace can
help somebody locate a problem.

------
Date/Time:      2004-11-22 19:40:08 +0100
OS Version:     10.3.6 (Build 7R28)
Report Version: 2

Command: thunderbird-bin
Path:    /Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin
Version: 0.9 (0.9)
PID:     345
Thread:  0

Exception:  EXC_BAD_INSTRUCTION (0x0002)
Code[0]:    0x00000002
Code[1]:    0x03c1a200


Thread 0 Crashed:
0   <<00000000>> 	0x03c1a200 0 + 0x3c1a200
1   libmozjs.dylib          	0x06027d0c js_GC + 0x960
2   libmozjs.dylib          	0x06027398 js_ForceGC + 0x40
3   org.mozilla.thunderbird 	0x00012508 nsXREDirProvider::DoShutdown() + 0x1a4
4   org.mozilla.thunderbird 	0x0000b72c _ZN18ScopedXPCOMStartupD4Ev + 0x30
5   org.mozilla.thunderbird 	0x0000dc08 xre_main(int, char**, nsXREAppData
const*) + 0xb04
6   org.mozilla.thunderbird 	0x00009ec0 _start + 0x17c
7   org.mozilla.thunderbird 	0x00009d40 start + 0x30

Thread 1:
0   libSystem.B.dylib       	0x90018be8 semaphore_timedwait_signal_trap + 0x8
1   libSystem.B.dylib       	0x9000e788 _pthread_cond_wait + 0x268
2   libnspr4.dylib          	0x03018394 pt_TimedWait + 0xa8
3   libnspr4.dylib          	0x030185f8 PR_WaitCondVar + 0x88
4   libxpcom.dylib          	0x0704747c TimerThread::Run() + 0x1ac
5   libxpcom.dylib          	0x07044968 nsThread::Main(void*) + 0x38
6   libnspr4.dylib          	0x0301d47c _pt_root + 0xac
7   libSystem.B.dylib       	0x900246e8 _pthread_body + 0x28

Thread 2:
0   libSystem.B.dylib       	0x9000b20c select + 0xc
1   libnspr4.dylib          	0x0301f7e8 poll + 0x188
2   libnspr4.dylib          	0x03018f34 pt_poll_now + 0x64
3   libnspr4.dylib          	0x030191e0 pt_Continue + 0x20
4   libnspr4.dylib          	0x03019b90 pt_Read + 0xa4
5   libenigmime.dylib       	0x02fa1d90 nsPipeConsole::Run() + 0x74
6   libxpcom.dylib          	0x07044968 nsThread::Main(void*) + 0x38
7   libnspr4.dylib          	0x0301d47c _pt_root + 0xac
8   libSystem.B.dylib       	0x900246e8 _pthread_body + 0x28

Thread 3:
0   libSystem.B.dylib       	0x9000b20c select + 0xc
1   libnspr4.dylib          	0x0301f7e8 poll + 0x188
2   libnspr4.dylib          	0x03018f34 pt_poll_now + 0x64
3   libnspr4.dylib          	0x030191e0 pt_Continue + 0x20
4   libnspr4.dylib          	0x03019b90 pt_Read + 0xa4
5   libenigmime.dylib       	0x02fa1d90 nsPipeConsole::Run() + 0x74
6   libxpcom.dylib          	0x07044968 nsThread::Main(void*) + 0x38
7   libnspr4.dylib          	0x0301d47c _pt_root + 0xac
8   libSystem.B.dylib       	0x900246e8 _pthread_body + 0x28

Thread 4:
0   libSystem.B.dylib       	0x90016f48 semaphore_wait_signal_trap + 0x8
1   libSystem.B.dylib       	0x9000e790 _pthread_cond_wait + 0x270
2   libnspr4.dylib          	0x030185e4 PR_WaitCondVar + 0x74
3   libnspr4.dylib          	0x0302092c WaitPidDaemonThread + 0xe0
4   libnspr4.dylib          	0x0301d47c _pt_root + 0xac
5   libSystem.B.dylib       	0x900246e8 _pthread_body + 0x28

Thread 5:
0   libSystem.B.dylib       	0x90018be8 semaphore_timedwait_signal_trap + 0x8
1   libSystem.B.dylib       	0x9000e788 _pthread_cond_wait + 0x268
2   libnspr4.dylib          	0x03018394 pt_TimedWait + 0xa8
3   libnspr4.dylib          	0x030185f8 PR_WaitCondVar + 0x88
4   org.mozilla.thunderbird 	0x000af254 nsIOThreadPool::ThreadFunc(void*) + 0x74
5   libnspr4.dylib          	0x0301d47c _pt_root + 0xac
6   libSystem.B.dylib       	0x900246e8 _pthread_body + 0x28

PPC Thread State:
  srr0: 0x03c1a200 srr1: 0x0008f930                vrsave: 0x00000000
    cr: 0x44002242  xer: 0x00000004   lr: 0x0088f384  ctr: 0x03c1a200
    r0: 0x0088f360   r1: 0xbffff530   r2: 0x03cc34d0   r3: 0x03c1a204
    r4: 0x0000000a   r5: 0x00000001   r6: 0xbffff270   r7: 0x00000001
    r8: 0x00000001   r9: 0x0000000b  r10: 0x00001bbf  r11: 0x0c9cf600
   r12: 0x03c1a200  r13: 0x060673c4  r14: 0x00000000  r15: 0x0c84d804
   r16: 0x0c84d86c  r17: 0x060673c4  r18: 0x00000000  r19: 0x00000000
   r20: 0x0606c760  r21: 0x0cf87bf8  r22: 0x0cf85800  r23: 0x0c84d800
   r24: 0x00000001  r25: 0x00000000  r26: 0x0132d4d0  r27: 0x00000001
   r28: 0x00000000  r29: 0x01328ee0  r30: 0x03c1a204  r31: 0x01328f84



Reproducible: Sometimes
Steps to Reproduce:
1.
2.
3.
someone needs to contact the enigmail people and get their code to listen to a
shutdown notification.

reporter: please indicate the precise version of enigmail, and store it away for
further testing.
Component: General → JavaScript Engine
Keywords: crash
Product: Thunderbird → Browser
Summary: crash on exit after "Get mail" button became non-working → [enigmail] crash on exit after "Get mail" button became non-working [@ js_GC]
Version: unspecified → 1.7 Branch
Oops, yes Enigmail is installed as well. Forgot to mention that. Anyway,
installed is:

Enigmail 0.86.2
Enigmime 0.86.1
Filed a bug http://bugzilla.mozdev.org/show_bug.cgi?id=8074 on Enigmail's
bugzilla about the shutdown notification thing.
Assignee: mscott → general
QA Contact: pschwartau
timeless, how do I "listen to a shutdown notification"? Could you point me
either to the XPCOM interface or to some example?

... and please assign the bug to me :-)
OK sorry, I found it myself. Actually, Enigmail _is_ already listening to
shutdown events from within its JavaScript component. Maybe there is some
special situation where this could be a problem?

I have now added another shutdown observer in C++; I just hope that this helps
now ...
i'd suggest you listen to profile-change-teardown (or something like it)
Blocks: 252901
I have added a listener to the shutdown notification in ipc-1.1.2, which is used
for Enigmail 0.89.5.

However, I can't imagine that this caused the bug that leads to the crash. I
believe the threads are still in the "Run" state because the crash couldn't send
the shutdown notification properly. I.e. I think this is more a side effect of
the crash. 

I have had a few of these crashes as well. Thunderbird stops fetching mails
(which is something where Enigmail is not involved at all), but otherwise still
works fine for a while, and then suddenly crashes.
I just had another one of these crashes. This time with TB 1.0 (20041206) +
Enigmail 0.89.5.0.

Same symptoms, same backtrace. The crash was filed as incident ID TB2727962Z via
the Talkback agent.
-> default qa
QA Contact: pschwartau → general
I haven't seen the problem anymore with TB 1.5 and 2.0; I assume it was fixed together with some other bug.
Status: UNCONFIRMED → RESOLVED
Closed: 17 years ago
Resolution: --- → WORKSFORME
Crash Signature: [@ js_GC]
You need to log in before you can comment on or make changes to this bug.