Closed Bug 487563 Opened 15 years ago Closed 15 years ago

Crash [@ js_Interpret]

Categories

(Core :: JavaScript Engine, defect, P1)

defect

Tracking

()

VERIFIED FIXED
mozilla1.9.2a1

People

(Reporter: gkw, Assigned: brendan)

References

Details

(6 keywords, Whiteboard: fixed-in-tracemonkey)

Crash Data

Attachments

(2 files, 3 obsolete files)

Attached file backtrace, full
try {
  !(Iterator((
    eval("\
      (function(){\
        (function a() { \
          new function(){\
            __iterator__ = a\
          }\
        }\
      )(); \
      return this\
      })")
  )()))
} catch(e) {}


crashes both opt and debug TM tip js shell without -j at js_Interpret near null.

autoBisect shows this is probably related to bug 452498 or http://hg.mozilla.org/tracemonkey/rev/2cf0bbe3772a :

The first bad revision is:
changeset:   26784:2cf0bbe3772a
user:        Brendan Eich
date:        Sun Apr 05 21:17:22 2009 -0700
summary:     upvar2, aka the big one take 2 (452598, r=mrbkap).


The attached stack looks similar to the one in bug 487417, and it may also be related to bug 487445. (Both real world scenarios)
Flags: blocking1.9.1?
(In reply to comment #0)
> The attached stack looks similar to the one in bug 487417, and it may also be
> related to bug 487445. (Both real world scenarios)

My bad, bug 487417 seems unrelated, not sure about the second one.
I think I'm crashing consistently on every page of washingtonpost.com with a stack that looks marvelously like this one: http://crash-stats.moz,illa.com/report/index/b1832a00-75b1-4a64-a026-205592090409
Flags: blocking1.9.1? → blocking1.9.1+
Priority: -- → P1
Assignee: general → igor
http://news.cnet.com/8301-1009_3-10215678-83.html reliably reproduces the first three frames as well.
OS: Mac OS X → All
Hardware: x86 → All
Slightly reduced testcase:

  (function a() { (function b() { print(a) })() })()
(In reply to comment #8)
> *** Bug 487637 has been marked as a duplicate of this bug. ***

I was working on regression range when 487637 was duped here: 

Regression range: 

No crash in changeset: http://hg.mozilla.org/mozilla-central/rev/ad109d30c05e
Crashes in changeset: http://hg.mozilla.org/mozilla-central/rev/92ec42507769

This puts the crash with the merge from TM
Attached patch fix (obsolete) — Splinter Review
Assignee: igor → brendan
Status: NEW → ASSIGNED
Attachment #371967 - Flags: review?(mrbkap)
Target Milestone: --- → mozilla1.9.1b4
Reduced testcase in comment 6.

/be
Flags: in-testsuite?
Comment on attachment 371967 [details] [diff] [review]
fix

Alterna-patch coming that is more righteous.

/be
Attachment #371967 - Flags: review?(mrbkap) → review-
Attached patch better fix (obsolete) — Splinter Review
Thanks to mrbkap for pushing for it.

/be
Attachment #371967 - Attachment is obsolete: true
Attachment #371994 - Flags: review?(mrbkap)
Attachment #371994 - Attachment is obsolete: true
Attachment #371995 - Flags: review?(mrbkap)
Attachment #371994 - Flags: review?(mrbkap)
Attachment #371995 - Attachment is obsolete: true
Attachment #371997 - Flags: review?(mrbkap)
Attachment #371995 - Flags: review?(mrbkap)
Attachment #371997 - Flags: review?(mrbkap) → review+
Fixed in tm:

http://hg.mozilla.org/tracemonkey/rev/ad1270a07a31

/be
Whiteboard: fixed-in-tracemonkey
Followup fix for windows bustage:

http://hg.mozilla.org/tracemonkey/rev/83c32829c57e

/be
http://hg.mozilla.org/mozilla-central/rev/ad1270a07a31
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
There's a new topcrash making branch builds pretty unusable, which looks to me like a dupe of this - bug 489004.  If so, can this fix be landed on branch soon?
Target Milestone: mozilla1.9.1b4 → mozilla1.9.2a1
Verified fixed on trunk and 1.9.1 with builds on OS X and Windows:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2a1pre) Gecko/20090420 Minefield/3.6a1pre ID:20090420031158

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b4pre) Gecko/20090420 Shiretoko/3.5b4pre ID:20090420031111

Since we don't have any testcase yet, I used the given URL's from the duped bug 489004.
Status: RESOLVED → VERIFIED
(In reply to comment #22)
> Since we don't have any testcase yet, I used the given URL's from the duped bug
> 489004.

Comment #0 or comment #6 _is_ the testcase, unless you mean for testing in Fx, for which the conversion has 2 methods:

One, change the testcase into a one-liner and add "javascript:" in front, like this (for comment #6):

javascript:(function a() { (function b() { print(a) })() })()

or

javascript:{(function a() { (function b() { print(a) })() })()}

and copy and paste this into the location bar, then press enter, wait for crash and burn.

On the other hand, for cases like comment #0 where a one-liner's not obvious, add a <script> tag before and </script> tag after the testcase, then save as some arbitrary file, say test.html, then view the testcase in Fx. If it crashes, it's not fixed, but if it doesn't, then it is fixed, etc.

e.g. Save the following in a file, then open in Fx:

<script>
try {
  !(Iterator((
    eval("\
      (function(){\
        (function a() { \
          new function(){\
            __iterator__ = a\
          }\
        }\
      )(); \
      return this\
      })")
  )()))
} catch(e) {}
</script>
Crash Signature: [@ js_Interpret]
Automatically extracted testcase for this bug was committed:

https://hg.mozilla.org/mozilla-central/rev/efaf8960a929
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: