Closed
Bug 708261
Opened 13 years ago
Closed 13 years ago
findReferences crashes in shell js/tests (js1_8_5/extensions/findReferences-01.js et al)
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla11
People
(Reporter: jorendorff, Assigned: jorendorff)
References
Details
Attachments
(1 file)
6.92 KB,
patch
|
jimb
:
review+
|
Details | Diff | Splinter Review |
REGRESSIONS js1_5/Regress/regress-96526-003.js js1_8/extensions/regress-422269.js js1_8/genexps/regress-380237-01.js js1_8_5/extensions/findReferences-01.js js1_8_5/extensions/findReferences-02.js js1_8_5/extensions/findReferences-03.js js1_8_5/extensions/findReferences-04.js
Assignee | ||
Comment 1•13 years ago
|
||
findReferences always crashes now. The first bad revision is: changeset: 81246:ff51ddfdf5d1 parent: 77573:44ef245b8706 user: Brian Hackett <bhackett1024@gmail.com> date: Wed Sep 28 15:04:55 2011 -0700 summary: Remove shape numbers and Shape::slotSpan, factor Shape getter/setter into BaseShape, bug 684505.
Assignee | ||
Comment 2•13 years ago
|
||
It was previously possible to get output containing the property id for getters and setters, but it seems this is no longer feasible, since the graph is like this: shape -> propid shape -> base -> getter I think multiple properties with different names can share 'base'.
Assignee: general → jorendorff
Attachment #579876 -
Flags: review?(jimb)
Assignee | ||
Comment 3•13 years ago
|
||
The above patch does not solve the problems with js1_5/Regress/regress-96526-003.js js1_8/extensions/regress-422269.js js1_8/genexps/regress-380237-01.js all of which seem to be older issues, and perhaps only happen on Mac with the new compiler.
Comment 7•13 years ago
|
||
So is the bug here that MarkChildren is passing PrintPropertyGetterOrSetter, which expects the debugArg to be a Shape *, but supplying a BaseShape * instead?
Comment 8•13 years ago
|
||
findReferences should just report the graph edges that the GC gives it; it needn't jump through hoops to try to get getter/setter names. So getting 'shape; base; getter' instead of 'shape; foo getter' is totally fine.
Assignee | ||
Comment 9•13 years ago
|
||
(In reply to Jim Blandy :jimb from comment #7) > So is the bug here that MarkChildren is passing PrintPropertyGetterOrSetter, > which expects the debugArg to be a Shape *, but supplying a BaseShape * > instead? Yes. However, since the BaseShape doesn't have the information PrintPropertyGetterOrSetter used to print, there's no point using a debugPrinter function there at all. (In reply to Jim Blandy :jimb from comment #8) > findReferences should just report the graph edges that the GC gives it; it > needn't jump through hoops to try to get getter/setter names. Great.
Comment 10•13 years ago
|
||
Comment on attachment 579876 [details] [diff] [review] v1 Review of attachment 579876 [details] [diff] [review]: ----------------------------------------------------------------- Splendid, splendid. Thanks for sorting this out!
Attachment #579876 -
Flags: review?(jimb) → review+
Comment 11•13 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/e7785a537e5d
Flags: in-testsuite+
Target Milestone: --- → mozilla11
Assignee | ||
Comment 12•13 years ago
|
||
Changing the description to be more specific. The rest of the failing tests will have to get their own bugs. I made one for the "too much recursion" stuff. In fact I made two, but bug 708862 is the better report.
Summary: A bunch of js/tests are failing (js1_5/Regress/regress-96526-003.js, js1_8/extensions/regress-422269.js, js1_8/genexps/regress-380237-01.js, js1_8_5/extensions/findReferences-01.js) → findReferences crashes in shell js/tests (js1_8_5/extensions/findReferences-01.js et al)
Target Milestone: mozilla11 → ---
Comment 13•13 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/e7785a537e5d
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla11
You need to log in
before you can comment on or make changes to this bug.
Description
•