Closed
Bug 605290
Opened 15 years ago
Closed 14 years ago
Crash in [@ JSCompartment::wrap(JSContext*, js::Value*) ] [@ JSCompartment::wrap] mainly with Firebug (Mac) or Adblock Plus (Windows) or Video Download Helper (both)
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla8
| Tracking | Status | |
|---|---|---|
| firefox7 | --- | affected |
People
(Reporter: marcia, Assigned: dmandelin)
References
Details
(Keywords: crash, regression, topcrash, Whiteboard: [compartments][softblocker][tbird crash])
Crash Data
Attachments
(1 file, 2 obsolete files)
|
3.98 KB,
patch
|
luke
:
review+
|
Details | Diff | Splinter Review |
Seen while reviewing chofmann's daily crash report. http://tinyurl.com/3xjjzn7 to the crashes which are all Windows. Crashes started showing up in crash stats using the 2010101300 build.
Frame Module Signature [Expand] Source
0 mozjs.dll JSCompartment::wrap js/src/jscompartment.cpp:147
1 mozjs.dll JSCrossCompartmentWrapper::call js/src/jswrapper.cpp:594
2 mozjs.dll js::JSProxy::call js/src/jsproxy.cpp:802
3 mozjs.dll js::proxy_Call js/src/jsproxy.cpp:1027
4 mozjs.dll js::Invoke js/src/jsinterp.cpp:674
5 mozjs.dll js::ExternalInvoke js/src/jsinterp.cpp:871
6 mozjs.dll js::ExternalGetOrSet js/src/jsinterp.cpp:891
7 mozjs.dll js::JSProxyHandler::get js/src/jsproxy.cpp:131
8 mozjs.dll js::JSProxy::get js/src/jsproxy.cpp:774
9 mozjs.dll js::proxy_GetProperty js/src/jsproxy.cpp:867
10 mozjs.dll JSObject::getProperty js/src/jsobj.h:1047
11 mozjs.dll js::Interpret js/src/jsinterp.cpp:4115
12 mozjs.dll js::RunScript js/src/jsinterp.cpp:638
13 mozjs.dll js::Invoke js/src/jsinterp.cpp:747
14 mozjs.dll js_fun_apply js/src/jsfun.cpp:2369
15 mozjs.dll js::Interpret js/src/jsinterp.cpp:4714
16 mozjs.dll js::RunScript js/src/jsinterp.cpp:638
17 mozjs.dll js::Invoke js/src/jsinterp.cpp:747
18 mozjs.dll js_fun_apply js/src/jsfun.cpp:2369
19 mozjs.dll js::Interpret js/src/jsinterp.cpp:4714
20 mozjs.dll js::RunScript js/src/jsinterp.cpp:638
21 mozjs.dll js::Invoke js/src/jsinterp.cpp:747
22 mozjs.dll js_fun_apply js/src/jsfun.cpp:2369
23 mozjs.dll js::Interpret js/src/jsinterp.cpp:4714
24 mozjs.dll js::RunScript js/src/jsinterp.cpp:638
25 mozjs.dll js::Invoke js/src/jsinterp.cpp:747
26 mozjs.dll js::InvokeSessionGuard::invoke js/src/jsinterpinlines.h:553
27 mozjs.dll array_extra js/src/jsarray.cpp:2721
28 mozjs.dll array_forEach js/src/jsarray.cpp:2778
29 mozjs.dll js::Interpret js/src/jsinterp.cpp:4714
30 mozjs.dll js::RunScript js/src/jsinterp.cpp:638
31 mozjs.dll js::Invoke js/src/jsinterp.cpp:747
32 mozjs.dll js_fun_apply js/src/jsfun.cpp:2369
33 mozjs.dll js::Interpret js/src/jsinterp.cpp:4714
34 mozjs.dll js::RunScript js/src/jsinterp.cpp:638
35 mozjs.dll js::Invoke js/src/jsinterp.cpp:747
36 mozjs.dll js::ExternalInvoke js/src/jsinterp.cpp:871
37 mozjs.dll JS_CallFunctionValue js/src/jsapi.cpp:4961
38 xul.dll nsXPCWrappedJSClass::CallMethod js/src/xpconnect/src/xpcwrappedjsclass.cpp:1692
39 xul.dll nsXPCWrappedJS::CallMethod js/src/xpconnect/src/xpcwrappedjs.cpp:571
40 xul.dll PrepareAndDispatch xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp:114
41 xul.dll SharedStub xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp:141
42 xul.dll nsBrowserStatusFilter::OnLocationChange toolkit/components/statusfilter/nsBrowserStatusFilter.cpp:231
43 xul.dll nsDocLoader::FireOnLocationChange uriloader/base/nsDocLoader.cpp:1377
44 xul.dll nsDocShell::CreateContentViewer docshell/base/nsDocShell.cpp:7403
45 xul.dll nsDSURIContentListener::DoContent docshell/base/nsDSURIContentListener.cpp:138
46 xul.dll nsDocumentOpenInfo::TryContentListener uriloader/base/nsURILoader.cpp:757
47 xul.dll nsDocumentOpenInfo::DispatchContent uriloader/base/nsURILoader.cpp:455
48 xul.dll nsDocumentOpenInfo::OnStartRequest uriloader/base/nsURILoader.cpp:295
49 xul.dll nsHttpChannel::CallOnStartRequest netwerk/protocol/http/nsHttpChannel.cpp:770
50 xul.dll nsHttpChannel::ContinueProcessNormal netwerk/protocol/http/nsHttpChannel.cpp:1228
51 mozcrt19.dll arena_dalloc_small obj-firefox/memory/jemalloc/crtsrc/jemalloc.c:4204
52 mozcrt19.dll arena_dalloc obj-firefox/memory/jemalloc/crtsrc/jemalloc.c:4281
53 xul.dll nsHttpChannel::ProcessNormal netwerk/protocol/http/nsHttpChannel.cpp:1165
54 xul.dll nsHttpChannel::ProcessResponse netwerk/protocol/http/nsHttpChannel.cpp:1052
55 xul.dll nsHttpChannel::OnStartRequest netwerk/protocol/http/nsHttpChannel.cpp:3805
56 xul.dll nsInputStreamPump::OnStateStart netwerk/base/src/nsInputStreamPump.cpp:441
57 xul.dll nsInputStreamPump::OnInputStreamReady netwerk/base/src/nsInputStreamPump.cpp:397
58 xul.dll nsInputStreamReadyEvent::Run xpcom/io/nsStreamUtils.cpp:112
59 xul.dll nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:547
60 xul.dll mozilla::ipc::MessagePump::Run ipc/glue/MessagePump.cpp:110
61 xul.dll xul.dll@0xae48cb
62 xul.dll MessageLoop::RunHandler ipc/chromium/src/base/message_loop.cc:202
63 mozsqlite3.dll sqlite3Pragma
64 nspr4.dll PR_IsNetAddrType nsprpub/pr/src/misc/prnetdb.c:1533
65 xul.dll MessageLoop::Run ipc/chromium/src/base/message_loop.cc:176
66 xul.dll nsBaseAppShell::Run widget/src/xpwidgets/nsBaseAppShell.cpp:180
67 xul.dll xul.dll@0xae48cb
68 xul.dll nsAppShell::Run widget/src/windows/nsAppShell.cpp:243
69 nss3.dll pkix_pl_CertNameConstraints_ToString security/nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_nameconstraints.c:539
Comment 1•15 years ago
|
||
looks like this might have first appeared on the trunk on sept 14 in builds from the 13th. slow uptick in volume after that.
date tl crashes at, count build, count build, ...
JSCompartment::wrap.JSContext...js::Value..
20101013
20101014 3 2 4.0b8pre2010101404,
1 4.0b8pre2010101322,
20101015 5 4 4.0b8pre2010101504,
1 4.0b8pre2010101404,
20101016 6 3 4.0b8pre2010101604,
3 4.0b8pre2010101504,
20101017 9 6 4.0b8pre2010101604,
2 4.0b8pre2010101704, 1 4.0b8pre2010101504,
Updated•15 years ago
|
Keywords: regression
Comment 2•15 years ago
|
||
os breakdown
JSCompartment::wrap.JSContext...js::Value..Total 9
Win5.1 0.11
Win6.0 0.00
Win6.1 0.89
some test urls
http://www.foreignword.com/
http://www.ebays.ru/index.php?option=com_user&task=activate&activation=XXXXX
http://www.babyage.com/categories/strollers_single_strollers_lightweight_single_strollers.htm
http://signups.myspace.com/index.cfm?fuseaction=signup
http://gfx3.hotmail.com/mail/XXXXXX
http://www.hiapk.com/ attachment.php?
blocking2.0: --- → ?
Comment 3•15 years ago
|
||
Blocking 2.0 beta 8 to make sure we investigate this.
blocking2.0: ? → beta8+
Updated•15 years ago
|
OS: Windows XP → All
Summary: Crash in [@ JSCompartment::wrap(JSContext*, js::Value*) ] → Crash in [@ JSCompartment::wrap(JSContext*, js::Value*) ] [@ JSCompartment::wrap ]
| Assignee | ||
Comment 4•15 years ago
|
||
This one's been dropping the past few days. It is probably fallout from various compartment/thread faults that are being fixed.
I encountered this yesterday, with the Oct 30th nightly build. It occurred when I clicked another tab while a cbsnews.com video was playing; however, I'm unable to find a way to reproduce.
http://crash-stats.mozilla.com/report/index/bp-2b8c48fa-1879-4d31-a391-0fc9a2101030
Updated•15 years ago
|
Whiteboard: [compartments]
Updated•15 years ago
|
blocking2.0: beta8+ → beta9+
Comment 6•15 years ago
|
||
I had it happen on a Mac, here's my report:
http://crash-stats.mozilla.com/report/index/bp-5aaabfe4-13d8-41f9-ad4d-7469d2101117
Somewhat similar-looking crash on tinderbox:
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1290133792.1290136166.20784.gz
WINNT 5.2 mozilla-central debug test mochitest-other on 2010/11/18 18:29:52
s: mw32-ix-slave05
PROCESS-CRASH | Main app process exited normally | application crashed (minidump found)
Thread 0 (crashed)
TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/xpinstall/browser_badargs.js | Exited with code -1073741819 during test run
PROCESS-CRASH | chrome://mochitests/content/browser/toolkit/mozapps/extensions/test/xpinstall/browser_badargs.js | application crashed (minidump found)
Thread 0 (crashed)
TEST-UNEXPECTED-FAIL | automationutils.processLeakLog() | missing output line for total leaks!
Crash reason: EXCEPTION_ACCESS_VIOLATION_READ
Crash address: 0xffffffffdadadb26
Thread 0 (crashed)
0 mozjs.dll!JSCompartment::wrap(JSContext *,js::Value *) [jscompartment.cpp:302e3ea21728 : 165 + 0x8]
eip = 0x00697210 esp = 0x0012b874 ebp = 0x0012b8b4 ebx = 0x00000001
esi = 0x089d1f74 edi = 0xffff0007 eax = 0xdadadada ecx = 0x05ef14c8
edx = 0x05ef1000 efl = 0x00010282
Found by: given as instruction pointer in context
1 mozjs.dll!JSCompartment::wrap(JSContext *,JSObject * *) [jscompartment.cpp:302e3ea21728 : 265 + 0x14]
eip = 0x006978ed esp = 0x0012b8bc ebp = 0x0012b8fc
Found by: previous frame's frame pointer
2 mozjs.dll!JS_WrapObject [jsapi.cpp:302e3ea21728 : 1209 + 0x12]
eip = 0x005f0127 esp = 0x0012b904 ebp = 0x0012b914
Found by: previous frame's frame pointer
3 xul.dll!XPCConvert::NativeInterface2JSObject(XPCLazyCallContext &,jsval_layout *,nsIXPConnectJSObjectHolder * *,xpcObjectHelper &,nsID const *,XPCNativeInterface * *,JSObject *,int,int,unsigned int *) [xpcconvert.cpp:302e3ea21728 : 1199 + 0x12]
eip = 0x11162b66 esp = 0x0012b91c ebp = 0x0012ba18
Found by: call frame info
4 xul.dll!XPCConvert::NativeData2JS(XPCLazyCallContext &,jsval_layout *,void const *,nsXPTType const &,nsID const *,JSObject *,unsigned int *) [xpcconvert.cpp:302e3ea21728 : 491 + 0x27]
eip = 0x11160d55 esp = 0x0012ba20 ebp = 0x0012bbac
Found by: call frame info
5 xul.dll!XPCConvert::NativeData2JS(XPCCallContext &,jsval_layout *,void const *,nsXPTType const &,nsID const *,JSObject *,unsigned int *) [xpcprivate.h:302e3ea21728 : 3231 + 0x23]
eip = 0x11164e06 esp = 0x0012bbb4 ebp = 0x0012bc94
Found by: call frame info
6 xul.dll!CallMethodHelper::GatherAndConvertResults() [xpcwrappednative.cpp:302e3ea21728 : 2562 + 0x2f]
eip = 0x11170ae4 esp = 0x0012bc9c ebp = 0x0012be10
Found by: call frame info
7 xul.dll!CallMethodHelper::Call() [xpcwrappednative.cpp:302e3ea21728 : 2319 + 0x7]
eip = 0x1117020c esp = 0x0012be18 ebp = 0x0012be24
Found by: call frame info
8 xul.dll!XPCWrappedNative::CallMethod(XPCCallContext &,XPCWrappedNative::CallMode) [xpcwrappednative.cpp:302e3ea21728 : 2268 + 0x15]
eip = 0x1116ff3d esp = 0x0012be2c ebp = 0x0012bfa8
Found by: call frame info
9 xul.dll!XPC_WN_CallMethod(JSContext *,unsigned int,jsval_layout *) [xpcwrappednativejsops.cpp:302e3ea21728 : 1594 + 0xd]
eip = 0x11154d8c esp = 0x0012bfb0 ebp = 0x0012c07c
Found by: call frame info
10 mozjs.dll!js::CallJSNative(JSContext *,int (*)(JSContext *,unsigned int,js::Value *),unsigned int,js::Value *) [jscntxtinlines.h:302e3ea21728 : 684 + 0xe]
eip = 0x0069bb04 esp = 0x0012c084 ebp = 0x0012c0a0
Found by: call frame info
11 mozjs.dll!js::Interpret(JSContext *,JSStackFrame *,unsigned int,JSInterpMode) [jsinterp.cpp:302e3ea21728 : 4743 + 0x20]
eip = 0x006ad2ac esp = 0x0012c0a8 ebp = 0x0012d10c
Found by: call frame info
12 mozjs.dll!js::RunScript(JSContext *,JSScript *,JSStackFrame *) [jsinterp.cpp:302e3ea21728 : 657 + 0x10]
eip = 0x0069b20c esp = 0x0012d114 ebp = 0x0012d134 ebx = 0x00000001
Found by: call frame info
13 mozjs.dll!js::Invoke(JSContext *,js::CallArgs const &,unsigned int) [jsinterp.cpp:302e3ea21728 : 737 + 0x10]
eip = 0x0069b677 esp = 0x0012d13c ebp = 0x0012d194
Found by: call frame info
14 mozjs.dll!js::ExternalInvoke(JSContext *,js::Value const &,js::Value const &,unsigned int,js::Value *,js::Value *) [jsinterp.cpp:302e3ea21728 : 858 + 0xe]
eip = 0x0069c683 esp = 0x0012d19c ebp = 0x0012d1d4
Found by: call frame info
15 mozjs.dll!js::ExternalInvoke [jsinterp.h:302e3ea21728 : 954 + 0x29]
eip = 0x00600490 esp = 0x0012d1dc ebp = 0x0012d1fc
Found by: call frame info
16 mozjs.dll!JS_CallFunctionValue [jsapi.cpp:302e3ea21728 : 4973 + 0x37]
eip = 0x006008e4 esp = 0x0012d204 ebp = 0x0012d230
Found by: call frame info
17 xul.dll!nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS *,unsigned short,XPTMethodDescriptor const *,nsXPTCMiniVariant *) [xpcwrappedjsclass.cpp:302e3ea21728 : 1694 + 0x37]
eip = 0x112254bb esp = 0x0012d238 ebp = 0x0012d69c
Found by: call frame info
18 xul.dll!nsXPCWrappedJS::CallMethod(unsigned short,XPTMethodDescriptor const *,nsXPTCMiniVariant *) [xpcwrappedjs.cpp:302e3ea21728 : 588 + 0x29]
eip = 0x1121fc93 esp = 0x0012d6a4 ebp = 0x0012d6dc
Found by: call frame info
19 xul.dll!PrepareAndDispatch [xptcstubs.cpp:302e3ea21728 : 114 + 0x20]
eip = 0x114f6bc6 esp = 0x0012d6e4 ebp = 0x0012d7b0
Found by: call frame info
20 xul.dll!SharedStub [xptcstubs.cpp:302e3ea21728 : 141 + 0x4]
eip = 0x114f6896 esp = 0x0012d7b8 ebp = 0x0012d7cc
Found by: call frame info
21 xul.dll!NS_InvokeByIndex_P [xptcinvoke.cpp:302e3ea21728 : 102 + 0x2]
eip = 0x114f6697 esp = 0x0012d7d4 ebp = 0x0012d7cc
Found by: call frame info with scanning
Comment 8•15 years ago
|
||
It is #25 top crasher in 4.0b8pre for the last week.
Comment 9•15 years ago
|
||
about 20-30 crashes per day now on beta7 and b8pre
JSCompartment::wrap
date total breakdown by build
crashes count build, count build, ...
20101130 29 22 4.0b72010110413,
3 4.0b8pre2010113003, 3 4.0b72010110412,
1 4.0b8pre2010112803,
Mardak may have isolated part of the problem in Bug 618118
Updated•15 years ago
|
Assignee: general → xpconnect
Updated•15 years ago
|
Assignee: xpconnect → nobody
Component: JavaScript Engine → XPConnect
QA Contact: general → xpconnect
Updated•15 years ago
|
Assignee: nobody → xpconnect
Component: XPConnect → JavaScript Engine
QA Contact: xpconnect → general
Comment 10•15 years ago
|
||
I can reproduce something like this problem by going to http://old.thesixtyone.com/ with the web inspector open.
Comment 11•15 years ago
|
||
| Assignee | ||
Updated•15 years ago
|
Whiteboard: [compartments] → [compartments][hardblocker]
Comment 12•15 years ago
|
||
As per today's meeting, beta 9 will be a time-based release. Marking these all betaN+. Please move it back to beta9+ if you believe it MUST be in the next beta (ie: trunk is in an unshippable state without this)
blocking2.0: beta9+ → betaN+
| Assignee | ||
Updated•15 years ago
|
Assignee: xpconnect → dmandelin
Comment 13•15 years ago
|
||
volume reduced on this in beta 8
down in ranking to #74 v. #18 in beta7 for
JSCompartment::wrap(JSContext*, js::Value*)
| Assignee | ||
Comment 14•15 years ago
|
||
This appears to be at least 3 separate bugs: one where the crash address is 0, another where is is 4, and at least one more with other addresses. 0 is the most common address. For that one, the problem is that XPCWrappedNative::CallMethod is trying to wrap an object jsval where the payload is 0 (i.e., an invalid jsval). We'd need to trace back further where that bad value is coming from in order to figure out more.
Given that the volume is not too high, especially of each of the 3 sub-bugs, I'm going to put a lower priority on this, but it would still be nice to figure out more if possible.
Whiteboard: [compartments][hardblocker] → [compartments][softblocker]
Comment 15•15 years ago
|
||
The null-tagged-as-object case could be caused by code not testing OOM and using the internal setObject/ObjectValue API (which does not dynamically test for null). Bug 623441 found such case in JSCompartment::wrap so we should see what happens to these crashes when that lands.
| Assignee | ||
Updated•15 years ago
|
blocking2.0: betaN+ → .x
Comment 16•15 years ago
|
||
Bug 623441 didn't seem to be the cause.
Comment 17•15 years ago
|
||
My wife sees this crash several times a day on windows on beta 10. Is there anything I can do to provide more information to help this bug along?
Comment 18•15 years ago
|
||
If she's on Windows, then https://developer.mozilla.org/Capturing_a_minidump would be very very helpful.
Comment 19•15 years ago
|
||
Asa: could you test whether she experiences the same crash on a nightly? The reason I ask is that bug 627227 should fix a set of these crashes (what percent, I don't know) and it missed b10 but is in nightlies.
Comment 20•15 years ago
|
||
Luke, will do.
Comment 21•14 years ago
|
||
bp-74b6004c-a0cc-452c-afc7-6217c2110318 0x4 using FF 4.0rc1 on vista is my first occurrence of this crash afaik. Interesting that the crash calls out http://platform0.twitter.com/widgets/tweet_button.html?_=1300478420908&count=horizontal&lang=en&text=Logitech%20Wireless%20Keyboard%20%7C%20eHow.com&url=http%3A%2F%2Fwww.ehow.com%2Flogitech-wireless-keyboard%2F&via=ehow ... I never accessed such a link, so it must be something from behind a google search or from an ehow page (where I did in fact search on logitech wireless keyboard) which I had not touched since restarting firefox and doing session restore.
I crash OOM once or twice a week, so comment 14 may be relevant to my crash.
OTOH, there are comments on crash-stats like
* 4.0 Pre-release after 8 hrs running. 17? open Tabs. (which isn't much)
* wasn't doing anything. Came home and Firefox had crashed...
2/3 of 4.0 crashes from the past week are 0x4
https://crash-stats.mozilla.com/report/list?product=Firefox&version=Firefox%3A4.0&query_search=signature&query_type=exact&query=JSCompartment%3A%3Awrap%28JSContext*%2C%20js%3A%3AValue*%29&date=03%2F18%2F2011%2015%3A04%3A25&range_value=1&range_unit=weeks&hang_type=any&process_type=any&plugin_field=&plugin_query_type=&plugin_query=&do_query=1&admin=1&signature=JSCompartment%3A%3Awrap%28JSContext*%2C%20js%3A%3AValue*%29
Thunderbird also sees this - mostly of the
0 mozjs.dll JSCompartment::wrap js/src/jscompartment.cpp:190
1 mozjs.dll JSCompartment::wrap js/src/jscompartment.cpp:315
2 mozjs.dll JS_WrapObject js/src/jsapi.cpp:1249
variety, as in bp-9ee49f39-958a-4ed5-9fb7-4c8cd2110311
The other, eg bp-fe8c7a5f-8a26-4e54-ac6e-dc3062110118, is
0 mozjs.dll JSCompartment::wrap js/src/jscompartment.cpp:190
1 mozjs.dll JS_WrapValue js/src/jsapi.cpp:1256
2 xul.dll mozJSComponentLoader::ImportInto js/src/xpconnect/loader/mozJSComponentLoader.cpp:1562
3 xul.dll mozJSComponentLoader::Import js/src/xpconnect/loader/mozJSComponentLoader.cpp:1385
4 xul.dll nsXPCComponents_Utils::Import js/src/xpconnect/src/xpccomponents.cpp:3793
5 xul.dll NS_InvokeByIndex_P xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp:102
Whiteboard: [compartments][softblocker] → [compartments][softblocker][tbird crash]
Comment 23•14 years ago
|
||
(In reply to comment #21)
> bp-74b6004c-a0cc-452c-afc7-6217c2110318 0x4 using FF 4.0rc1 on vista is my
> first occurrence of this crash afaik.
to be explicit - I've been running various trunk builds continuously for months (it's not like I only just started using 4.0). Also, at time of crash I had ~300 tabs
-----
0x4 Mac and linux crashes with signature and frame 1 JSCompartment::wrap
bp-7d640768-87f2-42ae-844e-0a46f2110318
App Notes WebGL? GL Context? GL Context+
WebGL+
bp-0c26149d-4c6c-4ca6-b7e7-2b63b2110317
----
0x0 Mac and linux crashes have JSContext::wrapPendingException for frame 1
bp-07b11e33-8287-41fd-afc7-d95e82110317
bp-91af44ab-d2b9-4940-af05-f03a02110316
Frame Module Signature [Expand] Source
0 XUL JSCompartment::wrap js/src/jscompartment.cpp:241
1 XUL JSContext::wrapPendingException js/src/jscntxt.cpp:2039
2 XUL js::AutoCompartment::enter js/src/jswrapper.cpp:392
3 XUL JS_EnterCrossCompartmentCall js/src/jsapi.cpp:1185
4 XUL JSAutoEnterCompartment::enter js/src/jsapi.cpp:1225
5 XUL nsXPCWrappedJSClass::CallMethod js/src/xpconnect/src/xpcwrappedjsclass.cpp:1318
Summary: Crash in [@ JSCompartment::wrap(JSContext*, js::Value*) ] [@ JSCompartment::wrap ] → Crash in [@ JSCompartment::wrap(JSContext*, js::Value*) ], [@ JSCompartment::wrap] (Mac and linux)
Comment 24•14 years ago
|
||
> #23 crash for 4.0 and apparently climbing
until #18 top crasher in 4.0 over the last 3 days.
Summary: Crash in [@ JSCompartment::wrap(JSContext*, js::Value*) ], [@ JSCompartment::wrap] (Mac and linux) → Crash in [@ JSCompartment::wrap(JSContext*, js::Value*) ] [@ JSCompartment::wrap] mainly with Firebug (Mac) or Adblock Plus (Windows) or Video Download Helper (both)
Comment 25•14 years ago
|
||
dmandelin - have we looked at this at all? Do we know anything?
| Assignee | ||
Comment 26•14 years ago
|
||
(In reply to comment #25)
> dmandelin - have we looked at this at all? Do we know anything?
Not much. See comment 14 for the first look. The population has changed since then: 0x4 is the most common crash address now. Those crash here:
226 JSObject *global;
227 if (cx->hasfp()) {
228 global = cx->fp()->scopeChain().getGlobal();
229 } else {
230 global = cx->globalObject;
231 OBJ_TO_INNER_OBJECT(cx, global);
^^^^^^^^^^
crash here
232 if (!global)
233 return false;
234 }
OBJ_TO_INNER_OBJECT reads &global->clasp, and offsetof(JSObject, clasp) is 4, so this is an NPE on |cx->globalObject|.
So this might be pretty simple: we need to check for null before innerizing as well. But there is also a comment saying that parenting all wrappers to the global is very cheesy, so maybe we should be doing something else entirely.
Andreas, does it seem right to just add another null check?
Comment 27•14 years ago
|
||
I'm a little wary of that... I don't know of any contexts that we create that have a null globalObject.
| Assignee | ||
Comment 28•14 years ago
|
||
(In reply to comment #27)
> I'm a little wary of that... I don't know of any contexts that we create that
> have a null globalObject.
Q. Do our invariants allow null globalObject? i.e., are you saying that's a straight-out bug?
This crash is somewhat correlated with a bunch of add-ons--maybe they are creating these contexts with null globalObjects. If so, how should we guard against that? Get back to the authors, or cover for it ourselves?
Comment 29•14 years ago
|
||
(In reply to comment #28)
> This crash is somewhat correlated with a bunch of add-ons
David,
Is there a list of the add-ons that MAY be causing this crash? I'm trying to identify which of my installed add-ons may be the culprit(s), but this process is very time consuming and a list of potential crash-causing add-ons, based on the aggregate information of all reported crashes of this type, would be very welcome
| Assignee | ||
Comment 30•14 years ago
|
||
(In reply to comment #29)
> (In reply to comment #28)
> > This crash is somewhat correlated with a bunch of add-ons
>
> David,
> Is there a list of the add-ons that MAY be causing this crash? I'm trying to
> identify which of my installed add-ons may be the culprit(s), but this process
> is very time consuming and a list of potential crash-causing add-ons, based on
> the aggregate information of all reported crashes of this type, would be very
> welcome
For Windows, see http://bit.ly/hFGYtS, click "Correlations", and scroll down to the list of addons.
For Mac/Linux, same, but URL is http://bit.ly/dOiKDo
Let me know if you can't find them. The big ones are currently Firbug, Adblock Plus, and Video DownloadHelper, but there are several more.
Comment 31•14 years ago
|
||
jorge, is there an easy to work though this list and identify which of these addons have binary components?
41 48 (87/180) vs. 7 (3739/57509) {b9db16a4-6edc-47ec-a1f4-b86292ed211d} (Video DownloadHelper, https://addons.mozilla.org/addon/3006)
33 45 (81/180) vs. 12 (6757/57509) {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d} (Adblock Plus, https://addons.mozilla.org/addon/1865)
17 19 (34/180) vs. 2 (1073/57509) firebug@software.joehewitt.com (Firebug, https://addons.mozilla.org/addon/1843)
15 18 (32/180) vs. 3 (1998/57509) {D4DD63FA-01E4-46a7-B6B1-EDAB7D6AD389} (Download Statusbar, https://addons.mozilla.org/addon/26)
14 17 (31/180) vs. 3 (1810/57509) {e4a8a97b-f2ed-450b-b12d-ee082ba24781} (Greasemonkey, https://addons.mozilla.org/addon/748)
13 15 (27/180) vs. 2 (1417/57509) {DDC359D1-844A-42a7-9AA1-88A850A938A8} (DownThemAll!, https://addons.mozilla.org/addon/201)
12 37 (67/180) vs. 25 (14549/57509) {CAFEEFAC-0016-0000-0024-ABCDEFFEDCBA}
10 12 (21/180) vs. 2 (880/57509) {dc572301-7619-498c-a57d-39143191b318} (Tab Mix Plus, https://addons.mozilla.org/addon/1122)
8 19 (34/180) vs. 11 (6519/57509) {CAFEEFAC-0016-0000-0021-ABCDEFFEDCBA}
8 13 (24/180) vs. 5 (2840/57509) personas@christopher.beard (Personas, https://addons.mozilla.org/addon/10900)
8 12 (21/180) vs. 4 (2290/57509) {3112ca9c-de6d-4884-a869-9855de68056c} (Google Toolbar, https://addons.mozilla.org/addon/6249)
7 9 (17/180) vs. 2 (1196/57509) {1018e4d6-728f-4b20-ad56-37578a4de76b} (Flagfox, https://addons.mozilla.org/addon/5791)
7 9 (16/180) vs. 2 (911/57509) foxmarks@kei.com (Xmarks (formerly Foxmarks), https://addons.mozilla.org/addon/2410)
7 8 (14/180) vs. 1 (778/57509) piclens@cooliris.com (Cooliris, https://addons.mozilla.org/addon/5579)
7 8 (14/180) vs. 1 (468/57509) {c45c406e-ab73-11d8-be73-000a95be3b12} (Web Developer, https://addons.mozilla.org/addon/60)
7 13 (23/180) vs. 6 (3632/57509) {CAFEEFAC-0016-0000-0017-ABCDEFFEDCBA}
6 8 (15/180) vs. 2 (1174/57509) {CAFEEFAC-0016-0000-0007-ABCDEFFEDCBA} (Java Console, http://java.sun.com/javase/downloads/)
6 7 (12/180) vs. 1 (537/57509) {a7c6cf7f-112c-4500-a7ea-39801a327e5f} (FireFTP, https://addons.mozilla.org/addon/684)
6 21 (37/180) vs. 15 (8461/57509) {CAFEEFAC-0016-0000-0023-ABCDEFFEDCBA}
6 19 (35/180) vs. 13 (7234/57509) {CAFEEFAC-0016-0000-0020-ABCDEFFEDCBA}
5 9 (17/180) vs. 4 (2276/57509) {CAFEEFAC-0016-0000-0015-ABCDEFFEDCBA} (Java Console, http://java.sun.com/javase/downloads/)
5 8 (15/180) vs. 3 (1457/57509) {CAFEEFAC-0016-0000-0016-ABCDEFFEDCBA} (Java Console, http://java.sun.com/javase/downloads/)
5 7 (13/180) vs. 2 (1236/57509) {19503e42-ca3c-4c27-b1e2-9cdb2170ee34} (FlashGot, https://addons.mozilla.org/addon/220)
5 6 (10/180) vs. 1 (311/57509) isreaditlater@ideashower.com (Read It Later, https://addons.mozilla.org/addon/7661)
Comment 32•14 years ago
|
||
Cooliris has binary components and a binary plugin.
Google Toolbar has binary components.
Java Console most likely has binaries, but I didn't install it.
The rest don't have any binaries. FWIW, that looks more like a list of the top add-ons by usage, so maybe there's no strong correlation to an add-on.
Comment 33•14 years ago
|
||
I poked around a bit on mxr too.
Is it possible we might also get hit by addons that don't ship binary components, but call into os/third party .dlls that they find available on the system?
here is what got me thinking about that idea in the downloadhelper code
https://mxr.mozilla.org/addons/source/3006/components/dhConvertMgr.js#169
the numbers for a lot of the windows os .dll's are also higher that in the general population in the list at http://bit.ly/hFGYtS
Updated•14 years ago
|
Crash Signature: [@ JSCompartment::wrap(JSContext*, js::Value*) ]
[@ JSCompartment::wrap]
Comment 34•14 years ago
|
||
I have a crash dump. How should I share it?
Comment 35•14 years ago
|
||
(In reply to comment #34)
> I have a crash dump. How should I share it?
zip/gzip it and use the add an attachment link above.
Crash Signature: [@ JSCompartment::wrap(JSContext*, js::Value*) ]
[@ JSCompartment::wrap] → [@ JSCompartment::wrap(JSContext*, js::Value*) ]
[@ JSCompartment::wrap]
Comment 36•14 years ago
|
||
I'm getting a file too large error. The file is 355,418,174 bytes.
| Assignee | ||
Comment 37•14 years ago
|
||
(In reply to comment #36)
> I'm getting a file too large error. The file is 355,418,174 bytes.
Do you have a website where you could host it? Alternatively, I think you could share it with me via Dropbox.
| Assignee | ||
Comment 38•14 years ago
|
||
Robert, thanks for sending the dump and getting this back on the radar. After looking at that (it's another of the NPE set, which I said was the most common kind earlier) and talking to Luke, I'm sure this is the right thing to do. Note also that this code will be obviated by compartment per global.
Attachment #545467 -
Flags: review?(luke)
Comment 39•14 years ago
|
||
Comment on attachment 545467 [details] [diff] [review]
Patch
Review of attachment 545467 [details] [diff] [review]:
-----------------------------------------------------------------
I think you'll want to report an error before returning false in both these cases. As for the particular error to report, you could copy what GetGlobalForScopeChain does.
Attachment #545467 -
Flags: review?(luke) → review+
| Assignee | ||
Comment 40•14 years ago
|
||
Decided to kill off the redundancy while I'm at it.
Attachment #545467 -
Attachment is obsolete: true
Attachment #545565 -
Flags: review?(luke)
Comment 41•14 years ago
|
||
Comment on attachment 545565 [details] [diff] [review]
Patch v2
Review of attachment 545565 [details] [diff] [review]:
-----------------------------------------------------------------
Good idea. One suggestion is to use the name NULLABLE_OBJ_TO_INNER_OBJECT since this gives a more direct indication as to the extra checking being performed vs. the generic adjective "safe".
Attachment #545565 -
Flags: review?(luke) → review+
| Assignee | ||
Updated•14 years ago
|
Whiteboard: [compartments][softblocker][tbird crash] → [inbound][compartments][softblocker][tbird crash]
Backed out for breaking opt builds on m-i.
Whiteboard: [inbound][compartments][softblocker][tbird crash] → [compartments][softblocker][tbird crash]
| Assignee | ||
Comment 43•14 years ago
|
||
v2 bounced off m-i because of linker errors in gcc.
Attachment #545565 -
Attachment is obsolete: true
Attachment #546022 -
Flags: review?(luke)
Updated•14 years ago
|
Attachment #546022 -
Flags: review?(luke) → review+
| Assignee | ||
Updated•14 years ago
|
Whiteboard: [compartments][softblocker][tbird crash] → [inbound][compartments][softblocker][tbird crash]
Comment 44•14 years ago
|
||
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Whiteboard: [inbound][compartments][softblocker][tbird crash] → [compartments][softblocker][tbird crash]
Target Milestone: --- → mozilla8
Comment 45•14 years ago
|
||
It is #20 top browser crasher in 7.0a2.
blocking2.0: .x+ → ---
status-firefox7:
--- → affected
Comment 46•14 years ago
|
||
I had a number of crashes yesterday and today with video download helper which point to this bug. Using latest nightly
https://crash-stats.mozilla.com/report/index/bp-8e155901-873d-401f-a662-a42992110918
https://crash-stats.mozilla.com/report/index/bp-89df5ddb-6faa-4db1-9f9b-cd1c82110919
https://crash-stats.mozilla.com/report/index/bp-0c3157fd-ce5a-4992-9803-e78a62110919
Comment 47•14 years ago
|
||
(In reply to Scoobidiver from comment #45)
> It is #20 top browser crasher in 7.0a2.
If the patch proves to be a good fix, should we consider escalating it into a nearer release? Pinging Asa.
/be
Comment 48•14 years ago
|
||
Comment on attachment 546022 [details] [diff] [review]
Patch v3
nominating for Aurora and Beta to see if we can get this to users a bit sooner considering that it's a topcrash with high-profile add-ons.
Attachment #546022 -
Flags: approval-mozilla-beta?
Attachment #546022 -
Flags: approval-mozilla-aurora?
Comment 49•14 years ago
|
||
Comment on attachment 546022 [details] [diff] [review]
Patch v3
Approved for beta and aurora per today's meeting, please land asap (especially on beta).
Attachment #546022 -
Flags: approval-mozilla-beta?
Attachment #546022 -
Flags: approval-mozilla-beta+
Attachment #546022 -
Flags: approval-mozilla-aurora?
Attachment #546022 -
Flags: approval-mozilla-aurora+
Comment 50•14 years ago
|
||
This is actually already in beta8 and aurora9 as it landed on mozilla-central when Firefox 8 was in development (and hg transplanting says it is already applied).
Clearing approvals as they aren't needed.
Attachment #546022 -
Flags: approval-mozilla-beta+
Attachment #546022 -
Flags: approval-mozilla-aurora+
You need to log in
before you can comment on or make changes to this bug.
Description
•