RESOLVED FIXED Bug 221557
JSC stress test stress/copy-data-properties-fast-path.js.default fails on s390x and ppc64le
https://bugs.webkit.org/show_bug.cgi?id=221557
Summary JSC stress test stress/copy-data-properties-fast-path.js.default fails on s39...
Michael Catanzaro
Reported 2021-02-08 09:09:26 PST
This new test from bug #221454 is broken on s390x and ppc64le, but works on x86_64 and aarch64. This is a little odd since these architectures have little in common. All architectures have JIT disabled and cloop enabled. The test is: //@ runDefault("--slowPathAllocsBetweenGCs=4", "--watchdog=100", "--watchdog-exception-ok") function foo() { let { ...r } = { xx:0 }; foo(); } foo(); How is that recursion supposed to end? Anyway, on these architectures it doesn't, the error is: stress/copy-data-properties-fast-path.js.default: Exception: RangeError: Maximum call stack size exceeded. stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: foo@copy-data-properties-fast-path.js:5:6 stress/copy-data-properties-fast-path.js.default: ERROR: Unexpected exit code: 3 FAIL: stress/copy-data-properties-fast-path.js.default
Attachments
Patch (1.21 KB, patch)
2021-02-11 07:36 PST, Michael Catanzaro
no flags
Patch for landing (1.25 KB, patch)
2021-02-14 10:20 PST, Michael Catanzaro
no flags
Michael Catanzaro
Comment 1 2021-02-11 07:36:29 PST
Saam Barati
Comment 2 2021-02-11 12:08:56 PST
Comment on attachment 419987 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=419987&action=review > JSTests/ChangeLog:8 > + Skip the test on these architectures. I don't know what else to do with it. how are they failing? Maybe worth a bug to figure it out on your end?
Michael Catanzaro
Comment 3 2021-02-11 16:15:55 PST
(In reply to Saam Barati from comment #2) > Comment on attachment 419987 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=419987&action=review > > > JSTests/ChangeLog:8 > > + Skip the test on these architectures. I don't know what else to do with it. > > how are they failing? The failure is in comment #0: the test just keeps recursing forever. > Maybe worth a bug to figure it out on your end? Well, I think this is that bug? :P I don't think we'll figure it out without guidance from JSC developers. The best I can do is usually a bisect, but in this case it's a new test so there's nothing to bisect. I'm happy to try checking code changes on the affected machines if that would be helpful, but I wouldn't know where to start.
EWS
Comment 4 2021-02-13 10:19:06 PST
Committed r272833: <https://commits.webkit.org/r272833> All reviewed patches have been landed. Closing bug and clearing flags on attachment 419987 [details].
Radar WebKit Bug Importer
Comment 5 2021-02-13 10:20:18 PST
Michael Catanzaro
Comment 6 2021-02-13 13:15:25 PST
...
Yusuke Suzuki
Comment 7 2021-02-13 13:24:38 PST
Michael Catanzaro
Comment 8 2021-02-13 15:39:40 PST
Ah... so I should unskip the test, then?
Michael Catanzaro
Comment 9 2021-02-14 10:18:18 PST
Let's try that.
Michael Catanzaro
Comment 10 2021-02-14 10:20:32 PST
Created attachment 420241 [details] Patch for landing
EWS
Comment 11 2021-02-14 11:06:13 PST
Committed r272840: <https://commits.webkit.org/r272840> All reviewed patches have been landed. Closing bug and clearing flags on attachment 420241 [details].
Note You need to log in before you can comment on or make changes to this bug.