Closed Bug 931008 Opened 11 years ago Closed 11 years ago

Assertion failure: table, at dist/include/js/HashTable.h:1353 or Crash [@ Range]

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
critical

Tracking

()

VERIFIED FIXED
mozilla28
Tracking Status
firefox25 --- unaffected
firefox26 --- unaffected
firefox27 --- affected
firefox28 --- verified
firefox-esr17 --- unaffected
firefox-esr24 --- unaffected
b2g18 --- unaffected
b2g-v1.1hd --- unaffected
b2g-v1.2 --- unaffected

People

(Reporter: decoder, Assigned: sfink)

References

Details

(4 keywords, Whiteboard: [jsbugmon:update])

Crash Data

Attachments

(2 files, 1 obsolete file)

The following testcase asserts on mozilla-central revision 5a9ac6fed6ff (run with --fuzzing-safe): gczeal(9, 2) serialize(Boolean, Boolean.prototype.valueOf());
Attachment #822315 - Attachment is obsolete: true
Crash Signature: [@ Range]
Keywords: crash
Whiteboard: [jsbugmon:update,bisect]
Whiteboard: [jsbugmon:update,bisect] → [jsbugmon:update]
JSBugMon: Bisection requested, failed due to error (try manually).
autoBisect shows this is probably related to the following changeset: The first bad revision is: changeset: http://hg.mozilla.org/mozilla-central/rev/7cc3e16e4af1 user: Steve Fink date: Tue Oct 15 23:47:26 2013 -0700 summary: Bug 861925 - Add an optional parameter to the shell serialize() function for specifying Transferables, r=jorendorff Steve, is bug 861925 a likely regressor?
(In reply to Gary Kwong [:gkw] [:nth10sd] (yes, still catching up on bugmail) from comment #4) > Steve, is bug 861925 a likely regressor? Yes, definitely. Looks like an error handling problem.
Flags: needinfo?(sphink)
QA Contact: general → sphink
The problem is that if the transferable array is an invalid type (not an array), then we report an error. But JSStructuredCloneWriter doesn't initialize an AutoObjectUnsigned32HashMap member early enough, so it dies when it tries to trace it.
Attachment #831696 - Flags: review?(jorendorff)
Assignee: general → sphink
Status: NEW → ASSIGNED
Comment on attachment 831696 [details] [diff] [review] Initialize memory field before using it Review of attachment 831696 [details] [diff] [review]: ----------------------------------------------------------------- Subtle. :-\
Attachment #831696 - Flags: review?(jorendorff) → review+
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
Keywords: verifyme
Tested this with Firefox JS shells on Ubuntu 12.10 x86_x64: 01/31 nightly - Assertion failure: table, at ../../dist/include/js/HashTable.h:1353 Segmentation fault (core dumped) 02/04 beta and 02/05 nightly - TypeError: invalid transferable array for structured clone. Could this error be hiding a still reproducible assertion failure?
Flags: needinfo?(sphink)
Keywords: verifyme
(In reply to Ioana Budnar, QA [:ioana] from comment #11) > Tested this with Firefox JS shells on Ubuntu 12.10 x86_x64: > > 01/31 nightly - Assertion failure: table, at > ../../dist/include/js/HashTable.h:1353 > Segmentation fault (core dumped) > > 02/04 beta and 02/05 nightly - TypeError: invalid transferable array for > structured clone. Could this error be hiding a still reproducible assertion > failure? No. The error is the correct behavior. The crash resulted from mishandling the error. If the error is making it all the way out to the user now, the problem is fixed. Thanks for checking!
Flags: needinfo?(sphink)
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: