-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ufuzz failure #3911
Comments
@kzc easier to discuss it here with the test case right above us 😉 I used the same Node.js v10.20.1 just in case but no luck for me either. Could it be the beautification of the original test case which is the issue here? 🤔 It checks if the original runtime result stay the same, but may be it should check if it reproduces the uglify bug instead? |
Yup, I think I've got it: var _calls_ = 10, a = 100, b = 10, c = 0;
function f0() {
var Math_2;
return function() {
if (a--) a++ + (b += a);
var foo_1 = a++ + typeof (typeof f0 == "function" && --_calls_ >= 0 && f0(!b, --b, (c = c + 1) + {
a: (c = 1 + c, (-0 & 38..toString() || 22 !== "") & (undefined || undefined || (-3,
2))),
c: (c = 1 + c, (("foo" != "function") < (c = c + 1, -2)) >> (-1 <= -4 != "number" - "function")),
1.5: (c = 1 + c, foo_1 && (foo_1[a++ + typeof (a++ + (b /= a))] &= (foo_1 && (foo_1.undefined += 2 - "function" - 2 % "")) > (c = c + 1,
"number" || 3))),
0: (c = 1 + c, ((true || "a") & NaN !== "function") !== ("", 0) > 25 - 25),
foo: (c = 1 + c, (0 / -2 >>> (false && -4)) + (-5 == "undefined" == (3 & 23..toString())))
}));
};
}
var a = f0();
console.log(null, a, b, c, Infinity, NaN, undefined); This would reproduce the bug in the test case. |
Nice job. How were you able to repro that? Trial and error? --- 0.js 2020-05-20 14:29:38.000000000 -0400
+++ 1.js 2020-05-20 14:29:53.000000000 -0400
@@ -1,13 +1,9 @@
-// original code
-// (beautified)
var _calls_ = 10, a = 100, b = 10, c = 0;
function f0() {
var Math_2;
return function() {
- if (a--) {
- a++ + (b += a);
- }
+ if (a--) a++ + (b += a);
var foo_1 = a++ + typeof (typeof f0 == "function" && --_calls_ >= 0 && f0(!b, --b, (c = c + 1) + {
a: (c = 1 + c, (-0 & 38..toString() || 22 !== "") & (undefined || undefined || (-3,
2))), |
I would refer to that as an educated guess... 😎 |
The text was updated successfully, but these errors were encountered: