crash nsXPCWrappedJS::CallMethod - need to proxy URL release (JavaScript's XPCOM object) to the main thread in the IMAP protocol (Not import related)

NEW
Unassigned

Status

MailNews Core
Networking: IMAP
--
critical
3 years ago
3 months ago

People

(Reporter: wsmwk, Unassigned, NeedInfo)

Tracking

(Depends on: 1 bug, {crash, topcrash-thunderbird})

Trunk
x86
All
crash, topcrash-thunderbird
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [non-import crashes], crash signature)

(Reporter)

Description

3 years ago
+++ This bug was initially created as a clone of Bug #1175055 +++
+++ Bug #1175055 was initially created as a clone of Bug #917961 +++

I estimate about 5% of nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) crashes are not import related. Once we get Bug #1175055 and Bug #917961 sorted out then we should take a look at these.

Examples (most of these are 31.x crashes) :
bp-0b68f7af-5afc-4313-aeef-93a022150504  I cannot read the mails in my inbox 
bp-811d47d5-9ac9-463f-981b-fce3b2150206  Suudenly it got crashed 
bp-c5205ba2-95cc-49a5-aa36-f410e2150117  Moved tabs in Windows 7 and Thunderbird crashed after move 
bp-af4fc7f1-f431-442f-984d-dc0292150506  was trying to click on menu > add ons
bp-38681d3c-803a-408a-8c54-669cd2150504  Thunderbird was idling. 
bp-3069c4f5-fef0-4559-b0d2-d39cb2150418  I was about to add a signature to my account.
(Reporter)

Comment 1

3 years ago
If all import crashes are gone when bug 1175055 is fixed then bug 917961 can cover the remaining import crashes, and this bug cover the non-import crashes.
Summary: Importing from Eudora and Outlook busted in TB 38 and trunk → crash nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*)
Whiteboard: [non-import crashes]

Updated

3 years ago
Depends on: 1176748

Updated

3 years ago
Crash Signature: [@ nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*)] [@ nsXPCWrappedJS::AddRef()] [@ mozilla::dom::workers::GetCurrentThreadJSContext()] → [@ nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*)] [@ nsXPCWrappedJS::AddRef()] [@ mozilla::dom::workers::GetCurrentThreadJSContext()] [@ nsXPCWrappedJS::CallMethod] [@ nsXPCWrappedJS::AddRef] [@ moz…
(Reporter)

Comment 2

4 months ago
Still topcrash. Still no rhyme or reason to these
Summary: crash nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) → crash nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) - Not import related
(Reporter)

Updated

4 months ago
See Also: → bug 989832
(Reporter)

Comment 3

3 months ago
m_kato can you offer advice?

les frequently has this crash signature bp-e0ea98b5-50b0-40ce-bd88-72e060180319

 0 	xul.dll	nsXPCWrappedJS::AddRef()	js/xpconnect/src/XPCWrappedJS.cpp:242
1 	xul.dll	AddRefThunk	ipc/mscom/VTableBuilder.c:24
2 	xul.dll	nsMsgMailNewsUrl::~nsMsgMailNewsUrl()	C:/builds/moz2_slave/tb-rel-c-beta-w32_bld-00000000/build/mailnews/base/util/nsMsgMailNewsUrl.cpp:69
3 	xul.dll	nsImapUrl::`scalar deleting destructor'(unsigned int)	
4 	xul.dll	nsMsgMailNewsUrl::Release()	C:/builds/moz2_slave/tb-rel-c-beta-w32_bld-00000000/build/mailnews/base/util/nsMsgMailNewsUrl.cpp:76
5 	xul.dll	nsPop3URL::Release()	C:/builds/moz2_slave/tb-rel-c-beta-w32_bld-00000000/build/mailnews/local/src/nsPop3URL.cpp:24
6 	xul.dll	nsImapProtocol::ProcessCurrentURL()	C:/builds/moz2_slave/tb-rel-c-beta-w32_bld-00000000/build/mailnews/imap/src/nsImapProtocol.cpp:1916
7 	xul.dll	nsImapProtocol::ImapThreadMainLoop()	C:/builds/moz2_slave/tb-rel-c-beta-w32_bld-00000000/build/mailnews/imap/src/nsImapProtocol.cpp:1402
8 	xul.dll	nsImapProtocol::Run()	C:/builds/moz2_slave/tb-rel-c-beta-w32_bld-00000000/build/mailnews/imap/src/nsImapProtocol.cpp:1061
Component: General → Networking: IMAP
Flags: needinfo?(m_kato)
Product: Thunderbird → MailNews Core

Comment 4

3 months ago
(In reply to Wayne Mery (:wsmwk) from comment #3)
> m_kato can you offer advice?

Same issue as bug 1133892.  But that fix isn't enough.  Don't addref JavaScript's XPCOM object on non-Gecko's main thread.
Flags: needinfo?(m_kato)
(Reporter)

Comment 5

3 months ago
Thanks. In that bug Kent's comment was "needs to proxy URL releases to the main thread in the IMAP protocol."

Kent, can you suggest a variation of your patch for this bug?

The combination of the two signatures makes this a topcrash - #22 for 52.6.0, and #15 for 60.0b1 (although perhaps not all the crashes are related)   (removing mozilla::dom::workers::GetCurrentThreadJSContext)
Crash Signature: [@ nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*)] [@ nsXPCWrappedJS::AddRef()] [@ mozilla::dom::workers::GetCurrentThreadJSContext()] [@ nsXPCWrappedJS::CallMethod] [@ nsXPCWrappedJS::AddRef] [@ moz… → [@ nsXPCWrappedJS::AddRef()] [@ nsXPCWrappedJS::CallMethod] [@ nsXPCWrappedJS::AddRef]
Flags: needinfo?(rkent)
Keywords: topcrash-thunderbird
Summary: crash nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) - Not import related → crash nsXPCWrappedJS::CallMethod - need to proxy URL release (JavaScript's XPCOM object) to the main thread in the IMAP protocol (Not import related)
You need to log in before you can comment on or make changes to this bug.