Closed
Bug 850741
Opened 12 years ago
Closed 12 years ago
crash in js::AutoMaybeTouchDeadZones::AutoMaybeTouchDeadZones
Categories
(Core :: XPConnect, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 852436
Tracking | Status | |
---|---|---|
firefox21 | --- | unaffected |
firefox22 | + | fixed |
People
(Reporter: scoobidiver, Assigned: billm)
References
()
Details
(Keywords: crash, regression, topcrash)
Crash Data
It first showed up in 22.0a1/20130313. The regression range is:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=7433bc4545c9&tochange=c1a5c44ae3d8
Signature js::AutoMaybeTouchDeadZones::AutoMaybeTouchDeadZones(JSObject*) More Reports Search
UUID 6ee26d13-1a08-4f84-a97b-a31002130313
Date Processed 2013-03-13 16:37:35
Uptime 1390
Last Crash 2.8 hours before submission
Install Age 2.5 hours since version was first installed.
Install Time 2013-03-13 14:06:59
Product Firefox
Version 22.0a1
Build ID 20130313031041
Release Channel nightly
OS Windows NT
OS Version 6.1.7601 Service Pack 1
Build Architecture x86
Build Architecture Info AuthenticAMD family 16 model 6 stepping 3
Crash Reason EXCEPTION_ACCESS_VIOLATION_READ
Crash Address 0x0
App Notes
AdapterVendorID: 0x1002, AdapterDeviceID: 0x9553, AdapterSubsysID: 10731462, AdapterDriverVersion: 8.930.0.0
D2D? D2D+ DWrite? DWrite+ D3D10 Layers? D3D10 Layers+
Processor Notes sp-processor10.phx1.mozilla.com_25440:2008
EMCheckCompatibility True
Adapter Vendor ID 0x1002
Adapter Device ID 0x9553
Total Virtual Memory 4294836224
Available Virtual Memory 3254460416
System Memory Use Percentage 76
Available Page File 660520960
Available Physical Memory 1023672320
Frame Module Signature Source
0 mozjs.dll js::AutoMaybeTouchDeadZones::AutoMaybeTouchDeadZones js/src/jsgc.cpp:4951
1 xul.dll XPCWrappedNative::GetNewOrUsed js/xpconnect/src/XPCWrappedNative.cpp:514
2 xul.dll XPCWrappedNative::GetNewOrUsed js/xpconnect/src/XPCWrappedNative.cpp:534
3 xul.dll XPCConvert::NativeInterface2JSObject js/xpconnect/src/XPCConvert.cpp:925
4 xul.dll XPCConvert::NativeData2JS js/xpconnect/src/XPCConvert.cpp:323
5 xul.dll XPC_WN_GetterSetter js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1465
6 mozjs.dll js::InvokeKernel js/src/jsinterp.cpp:383
7 mozjs.dll js::Invoke js/src/jsinterp.cpp:430
8 mozjs.dll js::BaseProxyHandler::get js/src/jsproxy.cpp:163
9 xul.dll xpc::XrayWrapper<js::CrossCompartmentWrapper,xpc::XPCWrappedNativeXrayTraits>::g js/xpconnect/wrappers/XrayWrapper.cpp:1720
10 mozjs.dll js::Proxy::get js/src/jsproxy.cpp:2476
11 mozjs.dll proxy_GetGeneric js/src/jsproxy.cpp:2806
12 mozjs.dll js::GetPropertyOperation js/src/jsinterpinlines.h:292
13 mozjs.dll js::Interpret js/src/jsinterp.cpp:2211
14 mozjs.dll js::RunScript js/src/jsinterp.cpp:332
15 mozjs.dll js::InvokeKernel js/src/jsinterp.cpp:397
16 mozjs.dll js::Invoke js/src/jsinterp.cpp:430
17 mozjs.dll JS_CallFunctionValue js/src/jsapi.cpp:5714
18 xul.dll nsXPCWrappedJSClass::CallMethod js/xpconnect/src/XPCWrappedJSClass.cpp:1433
19 xul.dll nsXPCWrappedJS::CallMethod js/xpconnect/src/XPCWrappedJS.cpp:578
20 xul.dll PrepareAndDispatch xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp:85
21 xul.dll SharedStub xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp:112
22 xul.dll nsObserverService::NotifyObservers xpcom/ds/nsObserverService.cpp:161
More reports at:
https://crash-stats.mozilla.com/report/list?signature=js%3A%3AAutoMaybeTouchDeadZones%3A%3AAutoMaybeTouchDeadZones%28JSObject*%29
Reporter | ||
Updated•12 years ago
|
OS: Windows 7 → All
Reporter | ||
Comment 1•12 years ago
|
||
Blocks: 749655
Crash Signature: [@ js::AutoMaybeTouchDeadZones::AutoMaybeTouchDeadZones(JSObject*)] → [@ js::AutoMaybeTouchDeadZones::AutoMaybeTouchDeadZones(JSObject*)]
[@ XPCWrappedNative::GetNewOrUsed(XPCCallContext&, xpcObjectHelper&, XPCWrappedNativeScope*, XPCNativeInterface*, XPCWrappedNative**) ]
Reporter | ||
Comment 2•12 years ago
|
||
It's #2 top browser crasher in today's build.
tracking-firefox22:
--- → ?
Keywords: topcrash
Reporter | ||
Updated•12 years ago
|
Assignee: general → nobody
Component: JavaScript Engine → XPConnect
Comment 3•12 years ago
|
||
Bill added AutoMaybeTouchDeadZone, maybe he can make at least an initial analysis here.
Assignee | ||
Comment 4•12 years ago
|
||
Looks like a null deref. The parent argument we're passing in from XPCWrappedNative::GetNewOrUsed appears to be null. That's a little weird. The parent comes directly from a WN scope's global object, which I wouldn't expect to be null.
Bobby, can you take a look? It looks like you landed some stuff in the regression range, and you understand this code much better.
Comment 5•12 years ago
|
||
He just landed some tests. ;)
Comment 6•12 years ago
|
||
So. I would guess that the _initial_ XPCWrappedNativeScope is valid, because it comes from here:
http://hg.mozilla.org/mozilla-central/annotate/c1a5c44ae3d8/js/xpconnect/src/XPCConvert.cpp#l818
We pull it off the object's compartment's private _and_ null-check to boot. And XPCWrappedNativeScope is never deleted until the global is finalized, which means that we wouldn't even have the object in the first place. So I would posit that the scope and its global are alive modulo memory corruption or GC hazards.
However, in XPCWrappedNative::GetNewOrUsed, we invoke PreCreate, and then appear to run into the |parent != plannedParent| code. This means that the PreCreate hook decided to use a different parent, so we reinvoke XPCWrappedNative::GetNewOrUsed with the scope pulled off that parent object.
But this is weird, because we have a presumably non-null object returned from precreate, which has a scope, but whose scope has no global. This would imply that the PreCreate hook here is returning something nasty. Bill, what's the deal with this stuff about PreCreate touching dead compartments? That sounds...suspicious.
Updated•12 years ago
|
Flags: needinfo?(wmccloskey)
Updated•12 years ago
|
Assignee: nobody → wmccloskey
Comment 7•12 years ago
|
||
We like to have tracked bugs assigned, although it's unclear whether this will end up falling on Bill or Bobby.
Reporter | ||
Updated•12 years ago
|
Crash Signature: [@ js::AutoMaybeTouchDeadZones::AutoMaybeTouchDeadZones(JSObject*)]
[@ XPCWrappedNative::GetNewOrUsed(XPCCallContext&, xpcObjectHelper&, XPCWrappedNativeScope*, XPCNativeInterface*, XPCWrappedNative**) ] → [@ js::AutoMaybeTouchDeadZones::AutoMaybeTouchDeadZones(JSObject*)]
[@ js::AutoMaybeTouchDeadZones::AutoMaybeTouchDeadZones ]
[@ XPCWrappedNative::GetNewOrUsed(XPCCallContext&, xpcObjectHelper&, XPCWrappedNativeScope*, XPCNativeInterface*, XPCWrappedNat…
Reporter | ||
Comment 8•12 years ago
|
||
Crashes have stopped since 22.0a1/20130318.
Assignee | ||
Updated•12 years ago
|
Flags: needinfo?(wmccloskey)
Comment 9•12 years ago
|
||
I hit this 100% of the time trying to go into http://glitchnap.com/zumbie/ as a "shooter" on Google Nexus 4 with today's nightly (3-28) -- adding QA to see if they can also repro this.
Keywords: qawanted
Assignee | ||
Comment 10•12 years ago
|
||
I'm hoping this is a dupe of bug 852436. That fix should be in tomorrow's nightly. Could you please re-test after that?
Flags: needinfo?(lsblakk)
Comment 11•12 years ago
|
||
no longer crashing - resolving.
Status: NEW → RESOLVED
Closed: 12 years ago
Flags: needinfo?(lsblakk)
Resolution: --- → WORKSFORME
Reporter | ||
Updated•12 years ago
|
Resolution: WORKSFORME → DUPLICATE
Comment 13•12 years ago
|
||
I'm assuming QAWANTED can be dropped given comment 11. Please re-add if there's some QA help needed here.
Keywords: qawanted
You need to log in
before you can comment on or make changes to this bug.
Description
•