Skip to content

crypto: improve random synchronous number generation performance #13683

crypto: improve random synchronous number generation performance

crypto: improve random synchronous number generation performance #13683

Triggered via pull request September 27, 2026 12:18
Status Cancelled
Total duration 34m 0s
Artifacts 1

test-shared.yml

on: pull_request
Build slim tarball
52s
Build slim tarball
aarch64-linux: Cache V8 build
19s
aarch64-linux: Cache V8 build
Matrix: build
Matrix: build-openssl
Fit to window
Zoom out
Zoom in

Annotations

18 errors
aarch64-darwin: with shared libraries / build
Process completed with exit code 2.
aarch64-darwin: with shared libraries / build: test/parallel/test-crypto-no-algorithm.js#L76
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: The input did not match the regular expression /unable to fetch drbg/. Input: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:96:30)\n' + ' at evalScript (node:internal/process/execution:108:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n' at Object.<anonymous> (/Users/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js:76:10) at Module._compile (node:internal/modules/cjs/loader:1956:14) at Object..js (node:internal/modules/cjs/loader:2096:10) at Module.load (node:internal/modules/cjs/loader:1678:32) at Module._load (node:internal/modules/cjs/loader:1470:12) at wrapModuleLoad (node:internal/modules/cjs/loader:261:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:33:47 { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:96:30)\n' + ' at evalScript (node:internal/process/execution:108:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n', expected: /unable to fetch drbg/, operator: 'match', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /Users/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js
aarch64-linux: with shared openssl-3.6.4 / build
Process completed with exit code 2.
aarch64-linux: with shared openssl-3.6.4 / build: test/parallel/test-crypto-no-algorithm.js#L76
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: The input did not match the regular expression /unable to fetch drbg/. Input: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n' at Object.<anonymous> (/home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js:76:10) at Module._compile (node:internal/modules/cjs/loader:1956:14) at Object..js (node:internal/modules/cjs/loader:2096:10) at Module.load (node:internal/modules/cjs/loader:1678:32) at Module._load (node:internal/modules/cjs/loader:1470:12) at wrapModuleLoad (node:internal/modules/cjs/loader:261:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:33:47 { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n', expected: /unable to fetch drbg/, operator: 'match', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js
aarch64-linux: with shared openssl-4.0.2 / build
Process completed with exit code 2.
aarch64-linux: with shared openssl-4.0.2 / build: test/parallel/test-crypto-no-algorithm.js#L76
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: The input did not match the regular expression /unable to fetch drbg/. Input: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n' at Object.<anonymous> (/home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js:76:10) at Module._compile (node:internal/modules/cjs/loader:1956:14) at Object..js (node:internal/modules/cjs/loader:2096:10) at Module.load (node:internal/modules/cjs/loader:1678:32) at Module._load (node:internal/modules/cjs/loader:1470:12) at wrapModuleLoad (node:internal/modules/cjs/loader:261:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:33:47 { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n', expected: /unable to fetch drbg/, operator: 'match', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js
aarch64-linux: with shared openssl-3.0.22 / build
Process completed with exit code 2.
aarch64-linux: with shared openssl-3.0.22 / build: test/parallel/test-crypto-no-algorithm.js#L76
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: The input did not match the regular expression /unable to fetch drbg/. Input: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n' at Object.<anonymous> (/home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js:76:10) at Module._compile (node:internal/modules/cjs/loader:1956:14) at Object..js (node:internal/modules/cjs/loader:2096:10) at Module.load (node:internal/modules/cjs/loader:1678:32) at Module._load (node:internal/modules/cjs/loader:1470:12) at wrapModuleLoad (node:internal/modules/cjs/loader:261:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:33:47 { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n', expected: /unable to fetch drbg/, operator: 'match', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js
aarch64-linux: with shared openssl-3.5.8 / build
Process completed with exit code 2.
aarch64-linux: with shared openssl-3.5.8 / build: test/parallel/test-crypto-no-algorithm.js#L76
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: The input did not match the regular expression /unable to fetch drbg/. Input: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n' at Object.<anonymous> (/home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js:76:10) at Module._compile (node:internal/modules/cjs/loader:1956:14) at Object..js (node:internal/modules/cjs/loader:2096:10) at Module.load (node:internal/modules/cjs/loader:1678:32) at Module._load (node:internal/modules/cjs/loader:1470:12) at wrapModuleLoad (node:internal/modules/cjs/loader:261:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:33:47 { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n', expected: /unable to fetch drbg/, operator: 'match', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js
x86_64-linux: with shared libraries and perfetto / build
Process completed with exit code 2.
x86_64-linux: with shared libraries and perfetto / build: test/parallel/test-crypto-no-algorithm.js#L76
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: The input did not match the regular expression /unable to fetch drbg/. Input: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n' at Object.<anonymous> (/home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js:76:10) at Module._compile (node:internal/modules/cjs/loader:1956:14) at Object..js (node:internal/modules/cjs/loader:2096:10) at Module.load (node:internal/modules/cjs/loader:1678:32) at Module._load (node:internal/modules/cjs/loader:1470:12) at wrapModuleLoad (node:internal/modules/cjs/loader:261:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:33:47 { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n', expected: /unable to fetch drbg/, operator: 'match', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js
aarch64-linux: with shared openssl-fips-3.5.8 / build
Process completed with exit code 2.
aarch64-linux: with shared openssl-fips-3.5.8 / build: test/parallel/test-crypto-no-algorithm.js#L76
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: The input did not match the regular expression /unable to fetch drbg/. Input: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n' at Object.<anonymous> (/home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js:76:10) at Module._compile (node:internal/modules/cjs/loader:1956:14) at Object..js (node:internal/modules/cjs/loader:2096:10) at Module.load (node:internal/modules/cjs/loader:1678:32) at Module._load (node:internal/modules/cjs/loader:1470:12) at wrapModuleLoad (node:internal/modules/cjs/loader:261:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:33:47 { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'node:internal/crypto/random:179\n' + ' randomFillSyncImpl(buf, offset, size);\n' + ' ^\n' + '\n' + 'Error: Deriving bits failed\n' + ' at randomFillSync (node:internal/crypto/random:179:3)\n' + ' at Object.randomBytes (node:internal/crypto/random:146:5)\n' + ' at [eval]:1:35\n' + ' at [eval]:1:52\n' + ' at runScriptInThisContext (node:internal/vm:219:10)\n' + ' at node:internal/process/execution:485:12\n' + ' at [eval]-wrapper:6:24\n' + ' at runScriptInContext (node:internal/process/execution:483:60)\n' + ' at evalFunction (node:internal/process/execution:317:30)\n' + ' at evalTypeScript (node:internal/process/execution:329:3) {\n' + " code: 'ERR_CRYPTO_OPERATION_FAILED'\n" + '}\n' + '\n' + 'Node.js v27.0.0-pre\n', expected: /unable to fetch drbg/, operator: 'match', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node /home/runner/work/_temp/node-v27.0.0-nightly2026-09-2785e261227a-slim/test/parallel/test-crypto-no-algorithm.js
x86_64-darwin: with shared libraries / build
Canceling since a higher priority waiting request for Test Shared libraries-crypto-randomfillsync-fast-path exists
x86_64-darwin: with shared libraries / build
The operation was canceled.
Test Shared libraries
Canceling since a higher priority waiting request for Test Shared libraries-crypto-randomfillsync-fast-path exists
Test Shared libraries
Canceling since a higher priority waiting request for Test Shared libraries-crypto-randomfillsync-fast-path exists

Artifacts

Produced during runtime
Name Size Digest
node-v27.0.0-nightly2026-09-2785e261227a-slim.tar.gz
43.8 MB
sha256:ad941a06b77f607f8b7f2eb115afe1a6e5d4e7b8dc1b5e8d73e0256458934e0a