-
-
Notifications
You must be signed in to change notification settings - Fork 32.7k
Closed
Labels
confirmed-bugIssues with confirmed bugs.Issues with confirmed bugs.cryptoIssues and PRs related to the crypto subsystem.Issues and PRs related to the crypto subsystem.
Description
- Version: 15.0.1
- Platform: Linux 64 bits
- Subsystem: crypto
What steps will reproduce the bug?
Create main.js
and run it.
// main.js
const crypto = require("crypto");
// 2-3 iteration steps are enough to cause the error, but it's not deterministic so I am running it 100 times to make sure the error occurs
for (let i = 0; i < 100; i++) {
crypto.scryptSync('', '', 64, { N: 128, r: 1, p: 1 })
}
How often does it reproduce? Is there a required condition?
Calling scryptSync
a few times always produces this error. This is not deterministic: sometimes 2 calls were enough, sometimes I need 3 calls.
What is the expected behavior?
The script completes without any error
What do you see instead?
I see the following error:
node:internal/crypto/scrypt:81
throw err;
^
Error: error:060B50AC:digital envelope routines:EVP_PBE_scrypt:memory limit exceeded
at Object.scryptSync (node:internal/crypto/scrypt:78:29)
at Object.<anonymous> (/data/projects/main.js:3:10)
at Module._compile (node:internal/modules/cjs/loader:1083:30)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
at Module.load (node:internal/modules/cjs/loader:948:32)
at Function.Module._load (node:internal/modules/cjs/loader:789:14)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:72:12)
at node:internal/main/run_main_module:17:47
Additional information
This is a regression in Node 15. Running the same code on the same computer with Node 14.14.0 works fine.
Metadata
Metadata
Assignees
Labels
confirmed-bugIssues with confirmed bugs.Issues with confirmed bugs.cryptoIssues and PRs related to the crypto subsystem.Issues and PRs related to the crypto subsystem.