The default bug view has changed. See this FAQ.

findReferences crashes in shell js/tests (js1_8_5/extensions/findReferences-01.js et al)

RESOLVED FIXED in mozilla11

Status

()

Core
JavaScript Engine
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: jorendorff, Assigned: jorendorff)

Tracking

Other Branch
mozilla11
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 years ago
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

5 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

5 years ago
Created attachment 579876 [details] [diff] [review]
v1

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

5 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.
(Assignee)

Updated

5 years ago
Blocks: 697479

Updated

5 years ago
Duplicate of this bug: 707747

Updated

5 years ago
Duplicate of this bug: 704131

Updated

5 years ago
Duplicate of this bug: 698379

Comment 7

5 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

5 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

5 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

5 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+

Updated

5 years ago
Blocks: 708838

Comment 11

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/e7785a537e5d
Flags: in-testsuite+
Target Milestone: --- → mozilla11
(Assignee)

Comment 12

5 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 → ---
https://hg.mozilla.org/mozilla-central/rev/e7785a537e5d
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla11
You need to log in before you can comment on or make changes to this bug.