Closed
Bug 821931
Opened 12 years ago
Closed 11 years ago
Differential Testing: Different error message involving --enable-more-deterministic
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: gkw, Unassigned)
References
Details
(Keywords: regression, testcase, Whiteboard: [fuzzblocker])
try { a = [] } catch (e) {} try { a.length() } catch (e) { print(e) } shows the following in js opt shell on m-c changeset edd45de440ba without -a: TypeError: undefined is not a function but shows the following with -a: TypeError: 0 is not a function autoBisect shows this is probably related to the following changeset: The first bad revision is: changeset: 109238:a85c0f30cdfa user: Jan de Mooij date: Thu Oct 04 13:26:16 2012 +0200 summary: Bug 797185 - Disable DVG stack search when building with --enable-more-deterministic. r=decoder
Reporter | ||
Comment 1•12 years ago
|
||
This seems to only happen with --enable-more-deterministic.
Summary: Differential Testing: Getting different output w/without -a involving .length → Differential Testing: Getting different output w/without -a involving .length and --enable-more-deterministic
Updated•12 years ago
|
Summary: Differential Testing: Getting different output w/without -a involving .length and --enable-more-deterministic → Differential Testing: Different error message w/without -a involving .length and --enable-more-deterministic
Reporter | ||
Comment 2•12 years ago
|
||
jandem, do you think bug 797185 might be responsible for this?
Flags: needinfo?(jdemooij)
Reporter | ||
Comment 3•12 years ago
|
||
Another testcase that does not involve .length: Object.defineProperty(this, "v", { get: function() { return this.eval() } }) eval = 7 for each(w in [0, 0, 0]) { try { v } catch (e) { print(e) } } ./js w1743-cj-in.js TypeError: undefined is not a function TypeError: undefined is not a function TypeError: 7 is not a function ./js --ion-eager w1743-cj-in.js TypeError: undefined is not a function TypeError: undefined is not a function TypeError: undefined is not a function (it has the same regressing changeset as in comment 0) This clouds numerous compareJIT bugs with multiple dupes. It will be nice for this to be fixed.
Summary: Differential Testing: Different error message w/without -a involving .length and --enable-more-deterministic → Differential Testing: Different error message involving --enable-more-deterministic
Whiteboard: [fuzzblocker]
Comment 4•12 years ago
|
||
(In reply to Gary Kwong [:gkw] from comment #2) > jandem, do you think bug 797185 might be responsible for this? That bug makes the decompiler always take a fallback path, to help differential testing, but apparently that's not enough to get consistent error messages... Does the testcase in comment 3 also require "-a"? Maybe I will have some time to look into this next week, however I'm not sure if this is worth fixing considering our plans to remove JM...
Flags: needinfo?(jdemooij)
Reporter | ||
Comment 5•12 years ago
|
||
> Does the testcase in comment 3 also require "-a"? Maybe I will have some > time to look into this next week, however I'm not sure if this is worth > fixing considering our plans to remove JM... I retested the testcase in comment 0, and to reproduce it you need the "--no-ti -a" flags. To reproduce the testcase in comment 3, you need only "--ion-eager", and "-a" is not needed.
Comment 6•11 years ago
|
||
Here's an updated version of comment 0's testcase. It still shows a difference between --ion-eager and normal. function f(){ var a = [] try { a.length() } catch (e) { print(e) } } f(); f(); normal: TypeError: 0 is not a function --ion-eager: TypeError: undefined is not a function
Comment 7•11 years ago
|
||
It looks like this is caused by the property cache.. Let me check if we can remove the property cache without hurting benchmarks (bug 704356).
Comment 8•11 years ago
|
||
(In reply to Jan de Mooij [:jandem] from comment #7) > It looks like this is caused by the property cache.. Let me check if we can > remove the property cache without hurting benchmarks (bug 704356). Property cache is gone.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•