Closed Bug 1320399 Opened 3 years ago Closed 3 years ago

TypeError: can't convert undefined to object Stack trace: [object Object] grip.js:49:9, when openinng DevTools DOM

Categories

(DevTools :: DOM, defect, P3)

defect

Tracking

(firefox51 unaffected, firefox52 verified, firefox53 verified)

VERIFIED FIXED
Firefox 53
Tracking Status
firefox51 --- unaffected
firefox52 --- verified
firefox53 --- verified

People

(Reporter: magicp.jp, Assigned: nchevobbe)

References

Details

(Keywords: regression)

Attachments

(1 file)

Steps to Reproduce:
1. Start Nightly (or Dev. Edition)
2. Go to about:home
3. Open DevTools > DOM
4. Confirm any errors in console

Actual Results:
The following error occurs...

TypeError: can't convert undefined to object
Stack trace:
[object Object] grip.js:49:9
	GripRep<.safePropIterator resource://devtools/client/shared/components/reps/grip.js:49:9
	GripRep<.render resource://devtools/client/shared/components/reps/grip.js:201:19
	[38]</ReactCompositeComponentMixin._renderValidatedComponentWithoutOwnerOrContext resource://devtools/client/shared/vendor/react.js:6337:29
	[38]</ReactCompositeComponentMixin._renderValidatedComponent resource://devtools/client/shared/vendor/react.js:6357:27
	[38]</ReactCompositeComponentMixin.mountComponent resource://devtools/client/shared/vendor/react.js:5970:25
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[38]</ReactCompositeComponentMixin.mountComponent resource://devtools/client/shared/vendor/react.js:5975:18
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[73]</ReactMultiChild.Mixin.mountChildren resource://devtools/client/shared/vendor/react.js:12216:28
	[42]</ReactDOMComponent.Mixin._createContentMarkup resource://devtools/client/shared/vendor/react.js:7211:27
	[42]</ReactDOMComponent.Mixin.mountComponent resource://devtools/client/shared/vendor/react.js:7099:24
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[38]</ReactCompositeComponentMixin.mountComponent resource://devtools/client/shared/vendor/react.js:5975:18
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[38]</ReactCompositeComponentMixin.mountComponent resource://devtools/client/shared/vendor/react.js:5975:18
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[73]</ReactMultiChild.Mixin.mountChildren resource://devtools/client/shared/vendor/react.js:12216:28
	[42]</ReactDOMComponent.Mixin._createContentMarkup resource://devtools/client/shared/vendor/react.js:7211:27
	[42]</ReactDOMComponent.Mixin.mountComponent resource://devtools/client/shared/vendor/react.js:7099:24
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[38]</ReactCompositeComponentMixin.mountComponent resource://devtools/client/shared/vendor/react.js:5975:18
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[38]</ReactCompositeComponentMixin.mountComponent resource://devtools/client/shared/vendor/react.js:5975:18
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[73]</ReactMultiChild.Mixin.mountChildren resource://devtools/client/shared/vendor/react.js:12216:28
	[42]</ReactDOMComponent.Mixin._createContentMarkup resource://devtools/client/shared/vendor/react.js:7211:27
	[42]</ReactDOMComponent.Mixin.mountComponent resource://devtools/client/shared/vendor/react.js:7099:24
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[73]</ReactMultiChild.Mixin.mountChildren resource://devtools/client/shared/vendor/react.js:12216:28
	[42]</ReactDOMComponent.Mixin._createContentMarkup resource://devtools/client/shared/vendor/react.js:7211:27
	[42]</ReactDOMComponent.Mixin.mountComponent resource://devtools/client/shared/vendor/react.js:7099:24
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[38]</ReactCompositeComponentMixin.mountComponent resource://devtools/client/shared/vendor/react.js:5975:18
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[73]</ReactMultiChild.Mixin.mountChildren resource://devtools/client/shared/vendor/react.js:12216:28
	[42]</ReactDOMComponent.Mixin._createContentMarkup resource://devtools/client/shared/vendor/react.js:7211:27
	[42]</ReactDOMComponent.Mixin.mountComponent resource://devtools/client/shared/vendor/react.js:7099:24
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[38]</ReactCompositeComponentMixin.mountComponent resource://devtools/client/shared/vendor/react.js:5975:18
	[84]</ReactReconciler.mountComponent resource://devtools/client/shared/vendor/react.js:13611:18
	[73]</ReactMultiChild.Mixin._mountChildByNameAtIndex resource://devtools/client/shared/vendor/react.js:12449:24
	[73]</ReactMultiChild.Mixin._updateChildren resource://devtools/client/shared/vendor/react.js:12353:11
	[73]</ReactMultiChild.Mixin.updateChildren resource://devtools/client/shared/vendor/react.js:12301:9
	[42]</ReactDOMComponent.Mixin._updateDOMChildren resource://devtools/client/shared/vendor/react.js:7491:7
	[42]</ReactDOMComponent.Mixin.updateComponent resource://devtools/client/shared/vendor/react.js:7320:5
	[42]</ReactDOMComponent.Mixin.receiveComponent resource://devtools/client/shared/vendor/react.js:7265:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[31]</ReactChildReconciler.updateChildren resource://devtools/client/shared/vendor/react.js:4492:9
	[73]</ReactMultiChild.Mixin._reconcilerUpdateChildren resource://devtools/client/shared/vendor/react.js:12195:14
	[73]</ReactMultiChild.Mixin._updateChildren resource://devtools/client/shared/vendor/react.js:12326:26
	[73]</ReactMultiChild.Mixin.updateChildren resource://devtools/client/shared/vendor/react.js:12301:9
	[42]</ReactDOMComponent.Mixin._updateDOMChildren resource://devtools/client/shared/vendor/react.js:7491:7
	[42]</ReactDOMComponent.Mixin.updateComponent resource://devtools/client/shared/vendor/react.js:7320:5
	[42]</ReactDOMComponent.Mixin.receiveComponent resource://devtools/client/shared/vendor/react.js:7265:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[38]</ReactCompositeComponentMixin._updateRenderedComponent resource://devtools/client/shared/vendor/react.js:6312:7
	[38]</ReactCompositeComponentMixin._performComponentUpdate resource://devtools/client/shared/vendor/react.js:6294:5
	[38]</ReactCompositeComponentMixin.updateComponent resource://devtools/client/shared/vendor/react.js:6223:7
	[38]</ReactCompositeComponentMixin.receiveComponent resource://devtools/client/shared/vendor/react.js:6155:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[38]</ReactCompositeComponentMixin._updateRenderedComponent resource://devtools/client/shared/vendor/react.js:6312:7
	[38]</ReactCompositeComponentMixin._performComponentUpdate resource://devtools/client/shared/vendor/react.js:6294:5
	[38]</ReactCompositeComponentMixin.updateComponent resource://devtools/client/shared/vendor/react.js:6223:7
	[38]</ReactCompositeComponentMixin.receiveComponent resource://devtools/client/shared/vendor/react.js:6155:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[38]</ReactCompositeComponentMixin._updateRenderedComponent resource://devtools/client/shared/vendor/react.js:6312:7
	[38]</ReactCompositeComponentMixin._performComponentUpdate resource://devtools/client/shared/vendor/react.js:6294:5
	[38]</ReactCompositeComponentMixin.updateComponent resource://devtools/client/shared/vendor/react.js:6223:7
	[38]</ReactCompositeComponentMixin.performUpdateIfNecessary resource://devtools/client/shared/vendor/react.js:6171:7
	[84]</ReactReconciler.performUpdateIfNecessary resource://devtools/client/shared/vendor/react.js:13676:5
	runBatchedUpdates resource://devtools/client/shared/vendor/react.js:15368:5
	[113]</Mixin.perform resource://devtools/client/shared/vendor/react.js:17257:13
	[113]</Mixin.perform resource://devtools/client/shared/vendor/react.js:17257:13
	[96]</<.perform resource://devtools/client/shared/vendor/react.js:15325:12
	[96]</flushBatchedUpdates resource://devtools/client/shared/vendor/react.js:15386:7
	[113]</Mixin.closeAll resource://devtools/client/shared/vendor/react.js:17323:11
	[113]</Mixin.perform resource://devtools/client/shared/vendor/react.js:17270:11
	[53]</ReactDefaultBatchingStrategy.batchedUpdates resource://devtools/client/shared/vendor/react.js:8849:7
	enqueueUpdate resource://devtools/client/shared/vendor/react.js:15415:5
	enqueueUpdate resource://devtools/client/shared/vendor/react.js:15005:3
	[95]</ReactUpdateQueue.enqueueSetState resource://devtools/client/shared/vendor/react.js:15171:5
	[34]</ReactComponent.prototype.setState resource://devtools/client/shared/vendor/react.js:5551:3
	handleChange resource://devtools/client/shared/vendor/react-redux.js:346:12
	dispatch resource://devtools/client/shared/vendor/redux.js:321:8
	waitUntilService/</< resource://devtools/client/shared/redux/middleware/wait-service.js:59:18
	promiseMiddleware/</< resource://devtools/client/shared/redux/middleware/promise.js:16:14
	thunk/</< resource://devtools/client/shared/redux/middleware/thunk.js:16:9
	task/</< resource://devtools/client/shared/redux/middleware/task.js:31:12
	dispatch resource://devtools/client/shared/vendor/redux.js:509:19
	fetchProperties/</< resource://devtools/client/dom/content/actions/grips.js:46:7
	Handler.prototype.process resource://gre/modules/Promise-backend.js:932:23
	this.PromiseWalker.walkerLoop resource://gre/modules/Promise-backend.js:813:7
	this.PromiseWalker.scheduleWalkerLoop resource://gre/modules/Promise-backend.js:744:11
	this.PromiseWalker.schedulePromise resource://gre/modules/Promise-backend.js:776:7
	this.PromiseWalker.completePromise resource://gre/modules/Promise-backend.js:711:7
	DomPanel.prototype.getPrototypeAndProperties/< resource://devtools/client/dom/dom-panel.js:168:7
	DebuggerClient.requester/</< resource://devtools/shared/client/main.js:286:9
	exports.makeInfallible/< resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14
	emitOnObject resource://gre/modules/commonjs/sdk/event/core.js:112:9
	emit resource://gre/modules/commonjs/sdk/event/core.js:89:38
	Request.prototype.emit resource://devtools/shared/client/main.js:1315:29
	DebuggerClient.prototype.onPacket/emitReply resource://devtools/shared/client/main.js:1016:29
	(Async: DevTools RDP)
	DebuggerClient.prototype.request resource://devtools/shared/client/main.js:712:21
	DebuggerClient.requester/< resource://devtools/shared/client/main.js:274:12
	exports.makeInfallible/< resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14
	DomPanel.prototype.getPrototypeAndProperties resource://devtools/client/dom/dom-panel.js:166:5
	fetchProperties/< resource://devtools/client/dom/content/actions/grips.js:45:12
	thunk/</< resource://devtools/client/shared/redux/middleware/thunk.js:15:9
	task/</< resource://devtools/client/shared/redux/middleware/task.js:31:12
	GripProvider.prototype.getChildren resource://devtools/client/dom/content/grip-provider.js:40:14
	TreeView<.getMembers resource://devtools/client/shared/components/tree/tree-view.js:183:22
	TreeView<.renderRows resource://devtools/client/shared/components/tree/tree-view.js:247:21
	TreeView<.render resource://devtools/client/shared/components/tree/tree-view.js:299:18
	[38]</ReactCompositeComponentMixin._renderValidatedComponentWithoutOwnerOrContext resource://devtools/client/shared/vendor/react.js:6337:29
	[38]</ReactCompositeComponentMixin._renderValidatedComponent resource://devtools/client/shared/vendor/react.js:6357:27
	[38]</ReactCompositeComponentMixin._updateRenderedComponent resource://devtools/client/shared/vendor/react.js:6310:31
	[38]</ReactCompositeComponentMixin._performComponentUpdate resource://devtools/client/shared/vendor/react.js:6294:5
	[38]</ReactCompositeComponentMixin.updateComponent resource://devtools/client/shared/vendor/react.js:6223:7
	[38]</ReactCompositeComponentMixin.receiveComponent resource://devtools/client/shared/vendor/react.js:6155:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[38]</ReactCompositeComponentMixin._updateRenderedComponent resource://devtools/client/shared/vendor/react.js:6312:7
	[38]</ReactCompositeComponentMixin._performComponentUpdate resource://devtools/client/shared/vendor/react.js:6294:5
	[38]</ReactCompositeComponentMixin.updateComponent resource://devtools/client/shared/vendor/react.js:6223:7
	[38]</ReactCompositeComponentMixin.receiveComponent resource://devtools/client/shared/vendor/react.js:6155:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[38]</ReactCompositeComponentMixin._updateRenderedComponent resource://devtools/client/shared/vendor/react.js:6312:7
	[38]</ReactCompositeComponentMixin._performComponentUpdate resource://devtools/client/shared/vendor/react.js:6294:5
	[38]</ReactCompositeComponentMixin.updateComponent resource://devtools/client/shared/vendor/react.js:6223:7
	[38]</ReactCompositeComponentMixin.receiveComponent resource://devtools/client/shared/vendor/react.js:6155:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[31]</ReactChildReconciler.updateChildren resource://devtools/client/shared/vendor/react.js:4492:9
	[73]</ReactMultiChild.Mixin._reconcilerUpdateChildren resource://devtools/client/shared/vendor/react.js:12195:14
	[73]</ReactMultiChild.Mixin._updateChildren resource://devtools/client/shared/vendor/react.js:12326:26
	[73]</ReactMultiChild.Mixin.updateChildren resource://devtools/client/shared/vendor/react.js:12301:9
	[42]</ReactDOMComponent.Mixin._updateDOMChildren resource://devtools/client/shared/vendor/react.js:7491:7
	[42]</ReactDOMComponent.Mixin.updateComponent resource://devtools/client/shared/vendor/react.js:7320:5
	[42]</ReactDOMComponent.Mixin.receiveComponent resource://devtools/client/shared/vendor/react.js:7265:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[31]</ReactChildReconciler.updateChildren resource://devtools/client/shared/vendor/react.js:4492:9
	[73]</ReactMultiChild.Mixin._reconcilerUpdateChildren resource://devtools/client/shared/vendor/react.js:12195:14
	[73]</ReactMultiChild.Mixin._updateChildren resource://devtools/client/shared/vendor/react.js:12326:26
	[73]</ReactMultiChild.Mixin.updateChildren resource://devtools/client/shared/vendor/react.js:12301:9
	[42]</ReactDOMComponent.Mixin._updateDOMChildren resource://devtools/client/shared/vendor/react.js:7491:7
	[42]</ReactDOMComponent.Mixin.updateComponent resource://devtools/client/shared/vendor/react.js:7320:5
	[42]</ReactDOMComponent.Mixin.receiveComponent resource://devtools/client/shared/vendor/react.js:7265:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[38]</ReactCompositeComponentMixin._updateRenderedComponent resource://devtools/client/shared/vendor/react.js:6312:7
	[38]</ReactCompositeComponentMixin._performComponentUpdate resource://devtools/client/shared/vendor/react.js:6294:5
	[38]</ReactCompositeComponentMixin.updateComponent resource://devtools/client/shared/vendor/react.js:6223:7
	[38]</ReactCompositeComponentMixin.receiveComponent resource://devtools/client/shared/vendor/react.js:6155:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[38]</ReactCompositeComponentMixin._updateRenderedComponent resource://devtools/client/shared/vendor/react.js:6312:7
	[38]</ReactCompositeComponentMixin._performComponentUpdate resource://devtools/client/shared/vendor/react.js:6294:5
	[38]</ReactCompositeComponentMixin.updateComponent resource://devtools/client/shared/vendor/react.js:6223:7
	[38]</ReactCompositeComponentMixin.receiveComponent resource://devtools/client/shared/vendor/react.js:6155:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[38]</ReactCompositeComponentMixin._updateRenderedComponent resource://devtools/client/shared/vendor/react.js:6312:7
	[38]</ReactCompositeComponentMixin._performComponentUpdate resource://devtools/client/shared/vendor/react.js:6294:5
	[38]</ReactCompositeComponentMixin.updateComponent resource://devtools/client/shared/vendor/react.js:6223:7
	[38]</ReactCompositeComponentMixin.receiveComponent resource://devtools/client/shared/vendor/react.js:6155:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[38]</ReactCompositeComponentMixin._updateRenderedComponent resource://devtools/client/shared/vendor/react.js:6312:7
	[38]</ReactCompositeComponentMixin._performComponentUpdate resource://devtools/client/shared/vendor/react.js:6294:5
	[38]</ReactCompositeComponentMixin.updateComponent resource://devtools/client/shared/vendor/react.js:6223:7
	[38]</ReactCompositeComponentMixin.receiveComponent resource://devtools/client/shared/vendor/react.js:6155:5
	[84]</ReactReconciler.receiveComponent resource://devtools/client/shared/vendor/react.js:13661:5
	[38]</ReactCompositeComponentMixin.performUpdateIfNecessary resource://devtools/client/shared/vendor/react.js:6167:7
	[84]</ReactReconciler.performUpdateIfNecessary resource://devtools/client/shared/vendor/react.js:13676:5
	runBatchedUpdates resource://devtools/client/shared/vendor/react.js:15368:5
	[113]</Mixin.perform resource://devtools/client/shared/vendor/react.js:17257:13
	[113]</Mixin.perform resource://devtools/client/shared/vendor/react.js:17257:13
	[96]</<.perform resource://devtools/client/shared/vendor/react.js:15325:12
	[96]</flushBatchedUpdates resource://devtools/client/shared/vendor/react.js:15386:7
	[113]</Mixin.closeAll resource://devtools/client/shared/vendor/react.js:17323:11
	[113]</Mixin.perform resource://devtools/client/shared/vendor/react.js:17270:11
	[53]</ReactDefaultBatchingStrategy.batchedUpdates resource://devtools/client/shared/vendor/react.js:8849:7
	enqueueUpdate resource://devtools/client/shared/vendor/react.js:15415:5
	enqueueUpdate resource://devtools/client/shared/vendor/react.js:15005:3
	[95]</ReactUpdateQueue.enqueueElementInternal resource://devtools/client/shared/vendor/react.js:15233:5
	[72]</ReactMount._updateRootComponent/< resource://devtools/client/shared/vendor/react.js:11549:7
	[72]</ReactMount.scrollMonitor resource://devtools/client/shared/vendor/react.js:11537:5
	[72]</ReactMount._updateRootComponent resource://devtools/client/shared/vendor/react.js:11548:5
	[72]</ReactMount._renderSubtreeIntoContainer resource://devtools/client/shared/vendor/react.js:11647:9
	[72]</ReactMount.render resource://devtools/client/shared/vendor/react.js:11694:12
	DomView.prototype.initialize resource://devtools/client/dom/content/dom-view.js:50:22
	DomView.prototype.onMessage resource://devtools/client/dom/content/dom-view.js:58:7



Expected Results:
No errors

Regression range:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=9ddbdab896d8bea770e521a9f76dc90907c71ec2&tochange=c65749eee4dcab6cfc09869390b3bc5171511294
Has Regression Range: --- → yes
Has STR: --- → yes
Attachment #8814623 - Flags: review?(chevobbe.nicolas) → review+
Assignee: nobody → chevobbe.nicolas
Status: NEW → ASSIGNED
Priority: -- → P3
Comment on attachment 8814623 [details]
Bug 1320399 - Fix error in Grip Rep;

https://reviewboard.mozilla.org/r/95798/#review95782

TRY is fine
https://hg.mozilla.org/mozilla-central/rev/d65261aaa7cd
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 53
Nicolas, is that something that we want to uplift in 52? (salut btw ;)
Flags: needinfo?(chevobbe.nicolas)
Keywords: regression
Hi ! It would be nice yes, this is a small and contrived change that would prevent errors in the DOM Panel in the devtools.
Flags: needinfo?(chevobbe.nicolas)
Could you fill it? Open the detail view of the attachment and select mozilla-approval-beta
and fill the form. Thanks
Flags: needinfo?(chevobbe.nicolas)
Comment on attachment 8814623 [details]
Bug 1320399 - Fix error in Grip Rep;

Approval Request Comment
[Feature/Bug causing the regression]: Bug 1311426 - Handle Grip with wrapped value in Reps.
[User impact if declined]: None, the error is caught in an upper call
[Is this code covered by automated tests?]: No
[Has the fix been verified in Nightly?]: Yes (No more error showing up in the console)
[Needs manual test from QE? If yes, steps to reproduce]: No
[List of other uplifts needed for the feature/fix]: -
[Is the change risky?]: No
[Why is the change risky/not risky?]: It just add an extra check so we don't have the error in the browser console, but the bug was harmless anyway.
[String changes made/needed]: -
Flags: needinfo?(chevobbe.nicolas)
Attachment #8814623 - Flags: approval-mozilla-beta?
Comment on attachment 8814623 [details]
Bug 1320399 - Fix error in Grip Rep;

avoid spurious error in console, beta52+
Attachment #8814623 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
I have reproduced this bug with Firefox nightly 53.0a1(build id:20161125030214)on
windows 7(64 bit)

Verified this bug as fixed with Firefox aurora 52.0a2(build id:20170123004004)
user agent:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0

Verified this bug as fixed with Firefox nightly 53.0a1(build id:20170123030211)
user agent:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0

[bugday-20170125]
Updating tracking flags based on the above comment.
Status: RESOLVED → VERIFIED
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.