Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 0897c6c

Browse filesBrowse files
jasnelladuh95
authored andcommitted
test: disable flaky WPT Blob test on AIX
The test Blob-array-buffer.any.js can be flaky on AIX due to a recognized race condition in v8. The failed assert is in deps/v8/src/base/platform/platform-aix.cc on line 199, preceeded by the comment: > If this check fails it's most likely due to a racing condition > where another thread has mapped the same address right before we > do. Since this could cause hard-to-debug issues, potentially with > security impact, and we can't recover from this, the best we can do > is abort the process. Disabling the test on AIX until the underlying issue can be resolved (if it can be resolved at all) is really the only option currently. Reliability Report: https://github.com/nodejs/reliability/blob/main/reports/2026-03-28.md Signed-off-by: James M Snell <jasnell@gmail.com> Assisted-by: Opencode/Opus 4.6 PR-URL: #62470 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com>
1 parent 1dbf3be commit 0897c6c
Copy full SHA for 0897c6c

2 files changed

+59-38Lines changed: 59 additions & 38 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎test/wpt/status/FileAPI/blob.cjs‎

Copy file name to clipboard
+59Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
'use strict';
2+
3+
const os = require('node:os');
4+
5+
// On AIX, V8's OS::DecommitPages() has an inherent race condition caused by
6+
// AIX's non-POSIX MAP_FIXED behavior. The implementation must munmap() then
7+
// mmap(), and another thread can steal the address range in between. The
8+
// Blob.arrayBuffer() tests trigger this by creating enough GC pressure
9+
// (especially the concurrent reads test) to hit the race window.
10+
// See deps/v8/src/base/platform/platform-aix.cc, lines 168-203.
11+
const isAIX = os.type() === 'AIX';
12+
13+
const conditionalSkips = {};
14+
15+
if (isAIX) {
16+
conditionalSkips['Blob-array-buffer.any.js'] = {
17+
skip: 'V8 DecommitPages race condition on AIX (munmap/mmap non-atomic)',
18+
};
19+
}
20+
21+
module.exports = {
22+
...conditionalSkips,
23+
'Blob-constructor-dom.window.js': {
24+
skip: 'Depends on DOM API',
25+
},
26+
'Blob-constructor.any.js': {
27+
fail: {
28+
expected: [
29+
'blobParts not an object: boolean with Boolean.prototype[Symbol.iterator]',
30+
'blobParts not an object: number with Number.prototype[Symbol.iterator]',
31+
'blobParts not an object: BigInt with BigInt.prototype[Symbol.iterator]',
32+
'blobParts not an object: Symbol with Symbol.prototype[Symbol.iterator]',
33+
'Getters and value conversions should happen in order until an exception is thrown.',
34+
'Arguments should be evaluated from left to right.',
35+
],
36+
flaky: [
37+
'Passing typed arrays as elements of the blobParts array should work.',
38+
'Passing a Float16Array as element of the blobParts array should work.',
39+
'Passing a Float64Array as element of the blobParts array should work.',
40+
'Passing BigInt typed arrays as elements of the blobParts array should work.',
41+
],
42+
},
43+
},
44+
'Blob-in-worker.worker.js': {
45+
skip: 'Depends on Web Workers API',
46+
},
47+
'Blob-slice.any.js': {
48+
fail: {
49+
expected: [
50+
'Slicing test: slice (1,1).',
51+
'Slicing test: slice (1,3).',
52+
'Slicing test: slice (1,5).',
53+
'Slicing test: slice (1,7).',
54+
'Slicing test: slice (1,8).',
55+
'Slicing test: slice (1,9).',
56+
],
57+
},
58+
},
59+
};
Collapse file

‎test/wpt/status/FileAPI/blob.json‎

Copy file name to clipboardExpand all lines: test/wpt/status/FileAPI/blob.json
-38Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.