Perma [Tier2] js\src\jit-test\tests\wasm\memory-partial-oob-store.js | z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0 (code 3, args "") [0.1 s]
Categories
(Core :: JavaScript: WebAssembly, defect, P1)
Tracking
()
People
(Reporter: intermittent-bug-filer, Assigned: lth)
References
(Regressed 1 open bug)
Details
(Keywords: assertion)
Attachments
(1 file)
Filed by: nbeleuzu [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=317470675&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/HWpzay2ERuKYEbarNEoBPg/runs/0/artifacts/public/logs/live_backing.log
[task 2020-10-03T11:35:41.802Z] TEST-PASS | js\src\jit-test\tests\wasm\memory-cloning.js | Success (code 59, args "--disable-wasm-huge-memory") [0.0 s]
[task 2020-10-03T11:35:41.863Z] z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0
[task 2020-10-03T11:35:41.863Z]
[task 2020-10-03T11:35:41.863Z] Stack:
[task 2020-10-03T11:35:41.863Z]
[task 2020-10-03T11:35:41.863Z] @z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:92:24
[task 2020-10-03T11:35:41.863Z]
[task 2020-10-03T11:35:41.863Z] Exit code: 3
[task 2020-10-03T11:35:41.863Z] FAIL - wasm\memory-partial-oob-store.js
[task 2020-10-03T11:35:41.863Z] TEST-UNEXPECTED-FAIL | js\src\jit-test\tests\wasm\memory-partial-oob-store.js | z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0 (code 3, args "") [0.1 s]
[task 2020-10-03T11:35:41.863Z] INFO exit-status : 3
[task 2020-10-03T11:35:41.863Z] INFO timed-out : False
[task 2020-10-03T11:35:41.863Z] INFO stderr 2> z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0
[task 2020-10-03T11:35:41.863Z] INFO stderr 2> Stack:
[task 2020-10-03T11:35:41.863Z] INFO stderr 2> @z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:92:24
[task 2020-10-03T11:35:41.948Z] z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0
[task 2020-10-03T11:35:41.948Z]
[task 2020-10-03T11:35:41.948Z] Stack:
[task 2020-10-03T11:35:41.948Z]
[task 2020-10-03T11:35:41.948Z] @z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:92:24
[task 2020-10-03T11:35:41.948Z]
[task 2020-10-03T11:35:41.948Z] Exit code: 3
[task 2020-10-03T11:35:41.948Z] FAIL - wasm\memory-partial-oob-store.js
[task 2020-10-03T11:35:41.948Z] TEST-UNEXPECTED-FAIL | js\src\jit-test\tests\wasm\memory-partial-oob-store.js | z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0 (code 3, args "--ion-eager --ion-offthread-compile=off --more-compartments") [0.1 s]
[task 2020-10-03T11:35:41.948Z] INFO exit-status : 3
[task 2020-10-03T11:35:41.948Z] INFO timed-out : False
[task 2020-10-03T11:35:41.948Z] INFO stderr 2> z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0
[task 2020-10-03T11:35:41.948Z] INFO stderr 2> Stack:
[task 2020-10-03T11:35:41.948Z] INFO stderr 2> @z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:92:24
[task 2020-10-03T11:35:42.033Z] z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0
[task 2020-10-03T11:35:42.033Z]
[task 2020-10-03T11:35:42.033Z] Stack:
[task 2020-10-03T11:35:42.033Z]
[task 2020-10-03T11:35:42.033Z] @z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:92:24
[task 2020-10-03T11:35:42.033Z]
[task 2020-10-03T11:35:42.033Z] Exit code: 3
[task 2020-10-03T11:35:42.033Z] FAIL - wasm\memory-partial-oob-store.js
[task 2020-10-03T11:35:42.033Z] TEST-UNEXPECTED-FAIL | js\src\jit-test\tests\wasm\memory-partial-oob-store.js | z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0 (code 3, args "--ion-eager --ion-offthread-compile=off --ion-check-range-analysis --ion-extra-checks --no-sse3 --no-threads") [0.1 s]
[task 2020-10-03T11:35:42.033Z] INFO exit-status : 3
[task 2020-10-03T11:35:42.033Z] INFO timed-out : False
[task 2020-10-03T11:35:42.033Z] INFO stderr 2> z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0
[task 2020-10-03T11:35:42.033Z] INFO stderr 2> Stack:
[task 2020-10-03T11:35:42.033Z] INFO stderr 2> @z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:92:24
[task 2020-10-03T11:35:42.096Z] z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:62:17 Error: Assertion failed: got 33, expected 0
[task 2020-10-03T11:35:42.096Z]
[task 2020-10-03T11:35:42.096Z] Stack:
[task 2020-10-03T11:35:42.096Z]
[task 2020-10-03T11:35:42.096Z] @z:\task_1601721669\src\js\src\jit-test\tests\wasm\memory-partial-oob-store.js:92:24
[task 2020-10-03T11:35:42.096Z]
[task 2020-10-03T11:35:42.096Z] Exit code: 3
[task 2020-10-03T11:35:42.096Z] FAIL - wasm\memory-partial-oob-store.js```
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
OK, that is really surprising. I will look into it first thing on monday.
Assignee | ||
Comment 2•5 years ago
•
|
||
Also on 32-bit Linux, but not on 64-bit, not even with huge memory disabled.
Assignee | ||
Comment 3•5 years ago
|
||
64-bit integer stores on x86 and ARMv7 incorrectly store the low word before the high word, thus not hitting the guard page until the second word, thus may store partial data. MIPS32 gets it right. Not a security problem per se, since there's not a sandbox breach, though it's annoying.
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 5•5 years ago
|
||
When storing an i64 on a 32-bit system, the high word must be stored
before the low word so that the guard-page OOB check can trigger
before any data are written.
The problem affects x86 and ARMv7 (though not MIPS32). This patch
fixes both platforms, but note ARMv7 needs additional work to deal
with some unaligned stores, see bug 1666747.
Updated•5 years ago
|
Comment 6•5 years ago
|
||
Note that there's an inherent ambiguity here in the phrase "high word", which is
made harmless by the fact that both x86 and ARMv7 are little-endian: "high word"
could either mean the high-addressed word in memory, or the higher-significance
word, abstractly speaking. On a little-endian target these are the same, but not for
big endians.
Assignee | ||
Comment 7•5 years ago
|
||
Mm. "High addressed". Although we (explicitly) have no JIT support for any big-endian architectures.
Comment 9•5 years ago
|
||
bugherder |
Comment hidden (Intermittent Failures Robot) |
Updated•5 years ago
|
Description
•