Node.js Errors

294 solutionsOfficial Docs →
INTERMEDIATEMEDIUM
gyp ERR! configure error (node-gyp configuration failed)
This error occurs when node-gyp fails to configure the build environment for native Node.js addons. It typically happens due to missing build tools, incompatible Python versions, or missing Visual Studio components on Windows.
0 viewsgyp ERR! configure error
BEGINNERMEDIUM
path.relative() requires both arguments to be strings
This TypeError occurs when path.relative() is called with non-string arguments, such as undefined, null, numbers, or objects. Both the from and to parameters must be valid string values representing file paths.
0 viewsTypeError: path.relative() requires both arguments...
INTERMEDIATEMEDIUM
How to fix "FORMERR: invalid query format" DNS error in Node.js
The FORMERR error occurs when a DNS server rejects a Node.js DNS query as malformed. This typically happens due to incompatible DNS extensions, invalid hostnames, or DNS server configuration issues.
0 viewsError: FORMERR (invalid query format)
INTERMEDIATEMEDIUM
How to fix "ENOTFOUND: hostname not resolved" in Node.js
The ENOTFOUND error occurs when Node.js cannot resolve a hostname to an IP address through DNS lookup. This typically happens with invalid hostnames, typos in URLs, network connectivity issues, or DNS configuration problems.
0 viewsError: getaddrinfo ENOTFOUND invalid-hostname.loca...
INTERMEDIATEMEDIUM
How to fix "DNS timeout" error in Node.js
DNS timeout errors occur when Node.js cannot resolve a hostname within the expected timeframe, often due to network issues, slow DNS servers, or threadpool exhaustion. This guide shows how to configure timeouts and implement caching strategies.
0 viewsError: DNS timeout
INTERMEDIATEMEDIUM
HTTP/2 stream closed error
This error occurs when you attempt to send data on an HTTP/2 stream that has already been closed or ended. The stream closure can happen due to receiving a remote reset, the stream ending normally, or attempting operations after the stream has been destroyed. This commonly occurs with HTTP/2 connections when proper stream lifecycle management is not followed.
0 viewsError: HTTP/2 stream closed (cannot send on closed...
BEGINNERLOW
DeprecationWarning: util.pump is deprecated (use stream.pipe instead)
This warning appears when code uses the deprecated util.pump() function for piping streams. Node.js deprecated this function in favor of the more robust stream.pipe() method and the modern stream.pipeline() function, which provide better error handling and automatic cleanup.
0 viewsDeprecationWarning: util.pump is deprecated (use s...
INTERMEDIATEMEDIUM
Stream ended prematurely before reading completed
This error occurs when a readable stream is closed or destroyed before all data has been consumed. It typically happens when the underlying resource terminates unexpectedly, when network connections are interrupted, or when stream lifecycle events are not properly synchronized.
0 viewsError: stream ended prematurely before reading com...
BEGINNERMEDIUM
Cannot use import statement outside a module in Node.js
This error occurs when Node.js encounters ES6 import syntax in a file that is being treated as a CommonJS module. Node.js defaults to CommonJS and requires explicit configuration to use ES modules with import/export syntax.
0 viewsSyntaxError: Cannot use import statement outside a...
INTERMEDIATEMEDIUM
Hostname/IP does not match certificate's altnames
This error occurs when Node.js attempts an HTTPS connection to a server whose SSL/TLS certificate does not include the hostname or IP address being used in the request. Node.js validates that the connection target matches the Subject Alternative Names (SANs) in the certificate for security.
0 viewsError: Hostname/IP does not match certificate's al...
INTERMEDIATEMEDIUM
HPE_UNEXPECTED_EOF: Unexpected end of HTTP response
The HPE_UNEXPECTED_EOF error occurs when Node.js HTTP parser encounters an unexpected end-of-file during HTTP response parsing. This typically happens when the server closes the connection prematurely before sending the complete HTTP response, leaving the client with incomplete data.
0 viewsError: HPE_UNEXPECTED_EOF (unexpected end of HTTP)
INTERMEDIATEMEDIUM
zlib deflate error (compression algorithm failed)
This error occurs when Node.js zlib compression fails during the deflate operation. It typically indicates corrupted input data, memory allocation issues, or mismatched compression parameters.
0 viewsError: zlib deflate error (compression algorithm f...
INTERMEDIATEMEDIUM
kill ESRCH - Process does not exist
This error occurs when attempting to kill a process that no longer exists or never existed. The ESRCH code indicates that the specified process ID (PID) cannot be found in the system.
0 viewsError: kill ESRCH
BEGINNERMEDIUM
Module version mismatch between Node.js versions
This error occurs when native Node.js modules are compiled for one Node.js version but run with a different version. The version numbers (e.g., 93 vs 94) represent the NODE_MODULE_VERSION ABI used by different Node.js releases.
0 viewsError: Module version mismatch. Expected 93, got 9...
BEGINNERHIGH
Main field in package.json is missing or points to non-existent file
Node.js cannot find the entry point specified in package.json because the 'main' field is either missing or points to a file that doesn't exist. This prevents the module from being loaded when imported or required.
0 viewsError: 'main' field in package.json is missing or ...
BEGINNERMEDIUM
Peer dependency required but not installed
This error occurs when a package requires a peer dependency that is not installed in your project. Starting with npm 7, peer dependencies must be installed manually, and npm will fail the installation if they are missing.
0 viewsError: Peer dependency 'react' required but not in...
INTERMEDIATEMEDIUM
Promise rejection was handled asynchronously
This warning occurs when a Promise rejection is initially left unhandled, triggering Node.js to track it, and then a catch handler is attached later in a subsequent event loop tick.
0 viewsPromiseRejectionHandledWarning: Promise rejection ...
INTERMEDIATEMEDIUM
Invalid public key format (key parsing failed)
This error occurs when Node.js crypto module cannot parse a public key because it is in an incorrect format, has encoding issues, or lacks proper structure. The crypto.createPublicKey() function expects keys in specific formats like PEM or DER with correct headers and encoding.
0 viewsError: Invalid public key format (key parsing fail...
ADVANCEDMEDIUM
Race condition: Async operations completed in unexpected order
This issue occurs when multiple asynchronous operations execute concurrently and complete in an order different from what the code expects, leading to incorrect state, stale data, or data corruption. While Node.js is single-threaded, its asynchronous nature means operations can finish in any order.
0 viewsRace condition: Async operations completed in unex...
INTERMEDIATEMEDIUM
Promise.race() timed out (first promise never settled)
This error occurs when implementing a timeout pattern with Promise.race() where the racing promise never resolves or rejects within the specified timeout period. The timeout promise wins the race, but the original promise remains pending indefinitely.
0 viewsTimeoutError: Promise.race() timed out (first prom...
INTERMEDIATEMEDIUM
EHOSTUNREACH: Host unreachable error
This error occurs when Node.js attempts a TCP connection but the operating system cannot find a route to the destination host or network. It indicates network configuration issues, routing problems, or firewall restrictions blocking access to the target host.
0 viewsError: connect EHOSTUNREACH (host unreachable)
INTERMEDIATEHIGH
crypto.randomBytes() failed - entropy source unavailable
This error occurs when Node.js cannot access sufficient system entropy to generate cryptographically secure random bytes. It typically happens on systems with depleted entropy pools, especially right after boot, in containerized environments, or on systems with limited hardware entropy sources.
0 viewsError: crypto.randomBytes() failed (entropy source...
BEGINNERHIGH
ReferenceError: variable is not defined
This error occurs when JavaScript code attempts to access a variable that hasn't been declared, is out of scope, or was misspelled. It's one of the most common errors in Node.js and typically indicates an undeclared variable reference.
0 viewsReferenceError: variable is not defined
INTERMEDIATEMEDIUM
Request timeout after 30000ms
HTTP requests fail when they exceed the configured timeout threshold, typically defaulting to 30 seconds. This occurs when the remote server is slow to respond, network connections are unstable, or response payloads are too large to process within the timeout window.
0 viewsError: request timeout after 30000ms (HTTP request...
BEGINNERMEDIUM
Cannot find module './index' - index.js not found in directory
This error occurs when Node.js attempts to import a directory but cannot locate an index.js file or a valid entry point specified in package.json. It typically happens when directory imports rely on implicit index file resolution.
0 viewsError: Cannot find module './index'
BEGINNERMEDIUM
Module resolves to itself (self-referential module)
This error occurs when a module attempts to import or require its own filename or path, creating an unintended self-reference. Node.js cannot resolve the module because the import points back to the same file, preventing proper module loading and initialization.
0 viewsError: Cannot find module './self' (resolving to i...
INTERMEDIATEHIGH
Failed to create secure context (TLS configuration error)
This error occurs when Node.js cannot initialize a TLS/SSL connection due to invalid certificate, key, or OpenSSL configuration issues. Common causes include incompatible certificate formats, missing key files, unsupported cipher suites, or OpenSSL version mismatches.
0 viewsError: Failed to create secure context (TLS config...
INTERMEDIATEMEDIUM
path.resolve() received no arguments (at least one required)
This error occurs when path.resolve() is called without any arguments in certain contexts or configurations. While path.resolve() with no arguments typically returns the current working directory, this specific error suggests stricter validation or a null/undefined value being passed instead of truly empty arguments.
0 viewsError: path.resolve() received no arguments (at le...
BEGINNERMEDIUM
SyntaxError: Unexpected token (parse error)
This error occurs when the JavaScript parser encounters a token it does not recognize at the given position. It typically indicates missing brackets, quotes, semicolons, invalid characters, or syntax violations that prevent the code from being parsed correctly.
0 viewsSyntaxError: Unexpected token
INTERMEDIATEHIGH
TLS version not supported in Node.js
This error occurs when Node.js tries to establish a TLS connection using a protocol version that the server doesn't support. TLS 1.0 and 1.1 are disabled by default in modern Node.js versions; ensure both client and server use TLS 1.2 or higher.
0 viewsError: TLSV1_ALERT_PROTOCOL_VERSION (TLS version n...
BEGINNERMEDIUM
Invalid URL format in Node.js
This error occurs when Node.js cannot parse a URL string using the WHATWG URL standard. The URL constructor is strict and rejects malformed URLs, missing protocols, unencoded special characters, or incomplete URL structures. This is a common issue when building dynamic URLs or handling user input.
0 viewsError: Invalid URL (malformed URL string)
INTERMEDIATEMEDIUM
Buffer encoding mismatch when reading with wrong encoding
This error occurs when a Buffer is converted to a string using an encoding that differs from the original encoding used to create the Buffer. Node.js supports specific encodings (utf8, hex, base64, etc.), and mismatches produce garbled output or replacement characters.
0 viewsError: Buffer encoding mismatch (reading with wron...
INTERMEDIATEHIGH
Buffer allocation exceeds maximum size limit
This error occurs when attempting to create a Buffer or typed array larger than the platform maximum (typically 2GB on 32-bit systems, 4GB on 64-bit). The allocation fails because V8 cannot handle arrays larger than what a Small Integer can represent.
0 viewsRangeError: Invalid typed array length (buffer siz...
INTERMEDIATEMEDIUM
Stream has been destroyed and cannot be used
This error occurs when attempting to perform operations on a Node.js stream that has already been explicitly destroyed or closed. Once destroyed, a stream cannot be reused and must be recreated.
0 viewsError: The stream is destroyed
INTERMEDIATEHIGH
Maximum call stack size exceeded in Node.js
This error occurs when a function calls itself recursively without a proper base case or termination condition, exhausting the call stack. Stack overflow can also happen during deep object operations, circular event listeners, or when processing deeply nested data structures.
0 viewsRangeError: Maximum call stack size exceeded (infi...
INTERMEDIATEHIGH
HTTP 503 Service Unavailable (server overloaded or dependencies down)
This error occurs when a server is temporarily unable to handle requests, typically due to being overloaded, down for maintenance, or having unavailable dependencies. In Node.js, you may receive 503 from external APIs or return 503 when your own application cannot accept traffic. This guide covers both scenarios.
0 viewsError: HTTP 503 Service Unavailable
INTERMEDIATEMEDIUM
Stream is not writable
This error occurs when attempting to write data to a Node.js stream that has been closed, ended, or destroyed. Common causes include writing after calling end(), writing to destroyed streams, or writing to inherently read-only streams.
0 viewsError: Stream is not writable (cannot write to non...
INTERMEDIATEHIGH
Callback threw an error (exception in callback handler)
This error occurs when an exception is thrown inside a callback function and not properly caught. Since callbacks execute asynchronously, exceptions thrown within them cannot be caught by surrounding try-catch blocks, causing the error to propagate and potentially crash your application.
0 viewsError: Callback threw an error (exception in callb...
INTERMEDIATEHIGH
How to fix SSL protocol error (CERTIFICATE_VERIFY_FAILED) in Node.js
SSL protocol errors occur when Node.js cannot verify an HTTPS server's certificate. This happens due to missing intermediate certificates, self-signed certificates, expired certificates, or incorrect system time. Learn how to diagnose and fix certificate verification failures safely.
0 viewsError: SSL: CERTIFICATE_VERIFY_FAILED (SSL protoco...
BEGINNERMEDIUM
Callback did not include error parameter
This error occurs when a callback function doesn't follow Node.js's error-first callback convention, which requires the first parameter to be reserved for an error object. Node.js expects callbacks to accept an error as the first argument (null if no error), followed by result data.
0 viewsError: Callback did not include error parameter (n...
INTERMEDIATEMEDIUM
Stream not readable (cannot read from non-readable stream)
This error occurs when attempting to read data from a Node.js stream that is not in a readable state, has already been consumed, or was never properly initialized as readable.
0 viewsError: Stream not readable
INTERMEDIATELOW
Operation cancelled by user or timeout
This error occurs when an asynchronous operation in Node.js is deliberately cancelled using AbortController or times out. It indicates that the operation was terminated before completion, either programmatically or due to exceeding a time limit.
0 viewsError: Cancelled (operation cancelled by user or t...
INTERMEDIATEMEDIUM
spawn ENOENT: child process executable not found
This error occurs when Node.js child_process.spawn() cannot locate or execute the specified command or binary. ENOENT ('Error: No such file or directory') typically means the executable is missing, not installed, misspelled, or not in the system PATH. This frequently happens when trying to run external commands, system binaries, or globally installed packages from within Node.js.
0 viewsError: spawn ENOENT
INTERMEDIATEMEDIUM
Error: ENOENT: no such file or directory, realpath
This error occurs when Node.js attempts to resolve a symbolic link to its actual target using fs.realpath() or fs.realpathSync(), but the symlink points to a non-existent file or directory. This typically indicates a broken symlink in your project.
0 viewsError: ENOENT: no such file or directory, realpath...
INTERMEDIATEMEDIUM
Missing passphrase for encrypted private key in Node.js HTTPS
This error occurs when Node.js attempts to start an HTTPS server using an encrypted private key file without providing the passphrase needed to decrypt it. The server startup fails because the key cannot be decrypted and used for SSL/TLS operations.
0 viewsError: Missing passphrase for encrypted private ke...
INTERMEDIATEHIGH
No C++ compiler found for node-gyp
This error occurs when node-gyp cannot find a C++ compiler on your system. node-gyp is a tool used by Node.js packages to compile native C++ modules. It requires a C++ compiler (like g++ on Linux, clang on macOS, or Visual Studio on Windows) to be installed and properly configured.
0 viewsError: No compiler found (node-gyp requires C++ co...
BEGINNERMEDIUM
Can't find Python executable in node-gyp
This error occurs when node-gyp cannot locate a Python executable to compile native Node.js addons. Python is a required dependency for node-gyp to build C++ modules during npm package installation.
0 viewsError: Can't find Python executable "python", you ...
INTERMEDIATEHIGH
npm pre-install or post-install script failed
This error occurs when npm lifecycle scripts (preinstall, postinstall, prepublish, etc.) fail during package installation. These scripts are defined in package.json and run at specific stages of the installation process. Failures typically stem from missing build tools, permission issues, or incompatible dependencies.
0 viewsnpm ERR! pre-install script failed (pre/post scrip...
INTERMEDIATEHIGH
VCBuild.exe not found when building native Node.js modules
This error occurs when node-gyp attempts to compile native Node.js modules on Windows but cannot locate VCBuild.exe, a component of Visual Studio C++ build tools. It typically happens during npm install when packages require native compilation.
0 viewsError: VCBuild.exe not found (Windows build tools ...
INTERMEDIATEMEDIUM
Failed to write heap snapshot (disk space or permission)
This error occurs when Node.js cannot write a heap snapshot file using v8.writeHeapSnapshot(). It typically indicates insufficient disk space, lack of write permissions in the target directory, or insufficient memory to complete the snapshot operation.
0 viewsError: Failed to write heap snapshot (disk space o...
BEGINNERMEDIUM
npm script exited with non-zero code
The ELIFECYCLE error occurs when an npm script defined in package.json fails during execution and exits with a non-zero status code. This is a wrapper error that indicates the underlying script command encountered a problem.
0 viewsnpm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!...
INTERMEDIATEMEDIUM
EMFILE: too many open files, watch
This error occurs when your Node.js application exceeds the operating system's limit on the number of file descriptors that can be opened simultaneously. File watchers like fs.watch() are particularly affected, especially in development environments using tools like Webpack, Jest, or file watching services.
0 viewsError: EMFILE: too many open files, watch
INTERMEDIATEMEDIUM
Invalid header value provided (header contains invalid characters)
This error occurs when attempting to set HTTP headers with invalid characters, such as control characters, newlines, or improperly encoded non-ASCII text. Node.js enforces strict HTTP header validation to prevent security vulnerabilities.
0 viewsTypeError: Invalid header value provided (header c...
BEGINNERLOW
npm ERR! missing script
This error occurs when you try to run an npm script that is not defined in the scripts section of your package.json file. npm cannot execute a script it cannot find.
0 viewsnpm ERR! missing script: 'build'
INTERMEDIATEMEDIUM
Unknown entry type in PerformanceObserver
This error occurs when you pass an invalid entry type to PerformanceObserver.observe() in Node.js's perf_hooks module. The observer only accepts specific, predefined entry types.
0 viewsTypeError: Unknown entry type 'invalid-type'
BEGINNERMEDIUM
path.parse() argument must be a string
This TypeError occurs when you pass a non-string value to path.parse(), most commonly undefined, null, or a Buffer. The path module's parse() method strictly requires a string argument to extract path components.
0 viewsTypeError: path.parse() argument must be a string
INTERMEDIATEMEDIUM
Process setgid EPERM operation not permitted
The setgid EPERM error occurs when a Node.js process attempts to change its group ID without sufficient privileges. This commonly happens when setuid() is called before setgid(), or when the process lacks CAP_SETGID capability.
0 viewsError: setgid EPERM (operation not permitted, grou...
BEGINNERHIGH
Node.js version mismatch between required and running version
This error occurs when an application or package requires a specific Node.js version, but a different version is currently running. Common in projects with strict version requirements or when switching between projects with different Node.js dependencies.
0 viewsError: Node.js version 10.x is required, but 8.x i...
INTERMEDIATEHIGH
stream._write is not a function
This error occurs when implementing a custom writable stream without properly defining the required _write() method. Node.js expects all custom writable streams to implement this internal method to handle data processing.
0 viewsTypeError: stream._write is not a function
BEGINNERLOW
Separator must be a string in querystring
This error occurs when passing a non-string value as the separator parameter to querystring.parse() or querystring.stringify(). The querystring module requires separator and assignment parameters to be strings, not null, undefined, numbers, or other types.
0 viewsTypeError: Separator must be a string (querystring...
INTERMEDIATEMEDIUM
TypeError: stream._read is not a function
This error occurs when creating a custom Readable stream class without implementing the required _read() method. Node.js expects all custom Readable streams to define how data is generated and pushed to consumers.
0 viewsTypeError: stream._read is not a function
INTERMEDIATEHIGH
TLS Protocol Version Mismatch
This error occurs when a Node.js client attempts to connect to a server using incompatible TLS/SSL protocol versions. The TLS handshake fails because the client and server cannot agree on a mutually supported protocol version.
0 viewsError: UNSUPPORTED_PROTOCOL: TLS version mismatch ...
INTERMEDIATEHIGH
No ciphers available - TLS cipher list is empty or invalid
This error occurs when Node.js cannot find any valid cipher suites for establishing a TLS/SSL connection, typically due to invalid cipher configuration, security level conflicts, or incompatible cipher specifications.
0 viewsError: no ciphers available (TLS cipher list is em...
INTERMEDIATEMEDIUM
TLS session ticket disabled in application
This error occurs when a TLS client attempts to use session resumption via session tickets, but the server has explicitly disabled this feature through the SSL_OP_NO_TICKET flag. Session tickets are a performance optimization that allows clients to resume previous TLS sessions without a full handshake.
0 viewsError: ERR_TLS_SESSION_TICKET_APP_DISABLED
INTERMEDIATEMEDIUM
Z_DATA_ERROR: Corrupted compressed data
The Z_DATA_ERROR occurs when Node.js zlib detects corrupted or invalid compressed data during decompression. This typically happens when attempting to decompress data with incorrect headers, truncated content, or using the wrong decompression method.
0 viewsError: zlib error Z_DATA_ERROR (corrupted compress...
INTERMEDIATEMEDIUM
JWT token has expired
This error occurs when attempting to verify a JSON Web Token (JWT) that has passed its expiration time. The jsonwebtoken library throws a TokenExpiredError when the token's exp claim indicates it is no longer valid.
0 viewsError: TokenExpiredError: jwt expired
INTERMEDIATEMEDIUM
Maximum number of redirects exceeded
This error occurs when an HTTP client follows too many redirect responses, exceeding the configured limit. It commonly happens with axios, node-fetch, or the follow-redirects package when a server creates a redirect loop or when legitimate redirects exceed the maxRedirects threshold (default 21).
0 viewsError: Maximum number of redirects exceeded (circu...
INTERMEDIATEHIGH
Failed to load native module in Node.js
This error occurs when Node.js cannot load a compiled native addon module from the expected build directory. Native modules are C++ extensions that must be compiled for your specific platform and Node.js version.
0 viewsError: Failed to load native module './build/Relea...
BEGINNERHIGH
Cannot find module in Node.js
Node.js throws a ModuleNotFoundError when it cannot locate a required module in the node_modules directory or module resolution paths. This typically happens when a package is not installed or the import path is incorrect.
0 viewsError: Cannot find module 'lodash' Require stack: ...
INTERMEDIATEHIGH
require() of ES Module not supported
This error occurs when attempting to use require() to import an ES module in a CommonJS context. Node.js enforces strict module system boundaries, and ES modules must be imported using import statements or dynamic import().
0 viewsError [ERR_REQUIRE_ESM]: require() of ES Module no...
INTERMEDIATEMEDIUM
__dirname is not defined in ES module scope
This error occurs when attempting to use __dirname or __filename in ES modules. These CommonJS globals are not available in ES module scope, requiring alternative approaches using import.meta.url or the newer import.meta.dirname.
0 viewsReferenceError: __dirname is not defined in ES mod...
INTERMEDIATEHIGH
Key derivation failed (pbkdf2/scrypt/bcrypt operation failed)
This error occurs when a cryptographic key derivation operation fails in Node.js, typically affecting password hashing functions like pbkdf2, scrypt, or bcrypt. The failure usually stems from invalid parameters, resource constraints, or missing native module support.
0 viewsError: Key derivation failed (pbkdf2/scrypt/bcrypt...
BEGINNERLOW
Optional dependency failed to install
npm displays a warning when an optional dependency cannot be installed due to platform incompatibility or build failures. This is informational and does not prevent your project from working.
0 viewsWarning: Optional dependency 'optional-package' fa...
INTERMEDIATEMEDIUM
PassThrough stream not properly initialized
This error occurs when a PassThrough stream is used before proper initialization or when extending the PassThrough class without calling the parent constructor correctly.
0 viewsError: PassThrough stream not properly initialized
INTERMEDIATEHIGH
PEM routines error - no start line (invalid PEM format)
This error occurs when Node.js attempts to read a certificate or private key file that is not properly formatted in PEM format. The OpenSSL library cannot find the required PEM header markers or the file structure is malformed.
0 viewsError: error:0906D06C:PEM routines:PEM_read_bio:no...
INTERMEDIATEMEDIUM
JsonWebTokenError: invalid token (JWT decode failed)
This error occurs when the jsonwebtoken library fails to parse or decode a JWT token during verification. The token structure is malformed, corrupted, or contains invalid encoding that prevents successful parsing.
0 viewsError: JsonWebTokenError: invalid token
INTERMEDIATEMEDIUM
Pipe failed during data transfer
This error occurs when a Node.js stream attempts to write data to a pipe whose read end has been closed. It typically happens when a client disconnects mid-response or when a stream is closed unexpectedly during data transfer.
0 viewsError: pipe failed during data transfer
INTERMEDIATEHIGH
Transform stream callback not called (data not pushed)
This error occurs when a Node.js Transform stream's _transform() method fails to call its callback function, or when the stream callback is invoked without data being pushed to the output buffer. It causes the stream to hang indefinitely, stopping all further data processing through the pipeline.
0 viewsError: Transform stream callback not called (trans...
BEGINNERMEDIUM
DeprecationWarning: Buffer() is deprecated due to security and usability issues
This warning appears when code uses the deprecated Buffer() constructor instead of the modern Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods. Node.js deprecated this constructor because it can inadvertently introduce security vulnerabilities by allocating uninitialized memory.
0 viewsDeprecationWarning: Buffer() is deprecated due to ...
ADVANCEDHIGH
ECDSA signature verification failed (signature invalid)
This error occurs when verifying an ECDSA (Elliptic Curve Digital Signature Algorithm) signature fails, indicating the signature does not match the expected value for the given data and public key. Common causes include mismatched elliptic curves, incorrect signature encoding formats, or data corruption during transmission.
0 viewsError: ECDSA signature verification failed (signat...
BEGINNERMEDIUM
EEXIST: file already exists (mkdir operation)
This error occurs when fs.mkdir() attempts to create a directory that already exists. It commonly happens in concurrent operations, race conditions, or when running build scripts multiple times without proper existence checks.
0 viewsError: EEXIST: file already exists, mkdir 'dirname...
INTERMEDIATEMEDIUM
Bad file descriptor error in file operations
This error occurs when Node.js attempts to perform I/O operations on a file descriptor that has already been closed or is invalid. It commonly happens with double-close scenarios, premature stream closures, or attempting to read/write after a file handle has been released.
0 viewsError: EBADF: bad file descriptor, read (file desc...
INTERMEDIATEMEDIUM
Worker already exists with id (duplicate worker ID in cluster)
This error occurs when the Node.js cluster module attempts to create a worker with an ID that already exists in the active worker pool. It typically happens when worker IDs are manually assigned or when the primary process tries to create duplicate workers without properly tracking existing worker IDs.
0 viewsError: Worker already exists with id
INTERMEDIATEHIGH
Connection refused when connecting to server
This error occurs when Node.js attempts to establish a TCP connection to a server (database, API, or service) but the connection is actively refused. The target server is either not running, not listening on the specified port, or actively rejecting connections due to firewall rules or network configuration.
0 viewsError: connect ECONNREFUSED 127.0.0.1:5432
INTERMEDIATEHIGH
Invalid private key format in crypto operations
This error occurs when Node.js crypto functions receive a private key in an incompatible or malformed format. The crypto module expects keys in specific encodings (PEM, DER, or JWK) with proper structure and headers.
0 viewsError: Invalid key format (private key not in expe...
INTERMEDIATEHIGH
Callback in process.nextTick threw error
This error occurs when a callback function passed to process.nextTick() throws an uncaught exception. Since nextTick callbacks execute before the event loop continues, unhandled errors in these callbacks will crash the Node.js process.
0 viewsError: Callback in process.nextTick threw (next ti...
INTERMEDIATEHIGH
Promise never resolved or rejected
This error occurs when a Promise remains in a pending state indefinitely because neither resolve() nor reject() is ever called. The code after await never executes, causing operations to hang or the application to appear frozen.
0 viewsError: Promise never resolved or rejected (promise...
INTERMEDIATEHIGH
Error from Promise.all() when one promise rejects
Promise.all() rejects immediately when any single promise in the array rejects, causing an unhandled promise rejection if not properly caught. The entire operation fails even if other promises would have succeeded.
0 viewsUnhandled promise rejection from Promise.all()
ADVANCEDHIGH
Memory leak detected from unresolved promises
This warning occurs when promises remain unresolved indefinitely, preventing JavaScript's garbage collector from freeing memory. Long-lived or infinite promise chains accumulate in memory, eventually leading to performance degradation or out-of-memory crashes.
0 viewsWarning: Memory leak detected. Unresolved promise ...
INTERMEDIATEMEDIUM
HTTP 407 Proxy Authentication Required
This error occurs when your Node.js application or npm tries to connect through a proxy server that requires authentication credentials. The request is rejected because no valid username and password were provided to the proxy.
0 viewsError: HTTP 407 Proxy Authentication Required
INTERMEDIATEMEDIUM
Value is not a function or its return value is not a promise
This error occurs when code attempts to use a non-function value as a function, or when a function is expected to return a promise but returns a non-thenable value instead. It commonly happens in promise chains, async/await operations, or when working with promise constructors.
0 viewsTypeError: value is not a function or its return v...
BEGINNERMEDIUM
Cannot find module in non-existent directory
Node.js throws this error when require() or import attempts to load a module from a directory path that does not exist in the filesystem. This commonly happens due to incorrect paths, missing installations, or misconfigured module resolution.
0 viewsError: Cannot find module '/nonexistent/lib' from ...
ADVANCEDCRITICAL
Segmentation fault (native code crash)
A segmentation fault occurs when Node.js or a native addon attempts to access memory it is not permitted to access, causing the process to crash with a "Segmentation fault (core dumped)" message. This typically indicates a bug in native C/C++ modules rather than JavaScript code.
0 viewsSegmentation fault (core dumped)
BEGINNERHIGH
Cannot spawn child process: permission denied (EACCES)
The spawn EACCES error occurs when Node.js attempts to spawn a child process but lacks execute permissions on the target executable. This commonly happens with binary files in node_modules or custom scripts that are missing the executable bit.
0 viewsError: spawn EACCES
INTERMEDIATEMEDIUM
setImmediate callback threw an error or failed to execute
Your setImmediate() callback threw an unhandled exception or failed during execution. This error occurs because exceptions in setImmediate callbacks cannot be caught with try-catch and propagate unchecked through the Node.js event loop, crashing your process.
0 viewsError: Callback in setImmediate threw (delayed cal...
INTERMEDIATEHIGH
How to fix certificate verify failed SSL error in Node.js
This error occurs when Node.js cannot verify the SSL/TLS certificate of a server you are trying to connect to. It typically happens with self-signed certificates, expired certificates, or missing intermediate certificates. The fix depends on whether you are in a development environment or production.
0 viewsError: certificate verify failed (self-signed or e...
BEGINNERMEDIUM
Invalid encoding in Node.js StringDecoder
Node.js StringDecoder throws an error when you pass an unsupported or misspelled encoding. This happens when working with streams or buffers with invalid encoding specifications.
0 viewsError: The encoding is invalid (string decoder uns...
INTERMEDIATEMEDIUM
Invalid timezone string from TZ environment variable
This error occurs when Node.js receives a malformed or unrecognized timezone string from the TZ environment variable. The TZ variable expects valid IANA timezone identifiers (like "America/New_York" or "Europe/London") or POSIX timezone strings, but receives an invalid or misspelled value instead. This causes date and time operations to fail or behave unpredictably.
0 viewsError: Invalid timezone string (TZ environment var...
INTERMEDIATEHIGH
TLS handshake timeout in Node.js
A TLS handshake timeout occurs when the client and server fail to complete the SSL/TLS negotiation within the timeout period (default 120 seconds). This typically indicates network delays, server resource constraints, or infrastructure issues.
0 viewsError: TLS handshake timeout (connection timeout d...
ADVANCEDHIGH
Server name indication (SNI) mismatch with certificate hostname
This error occurs when the hostname sent during TLS handshake (Server Name Indication) does not match the hostname on the SSL/TLS certificate. The server receives a different SNI name than what the certificate is valid for, causing verification to fail.
0 viewsError: Server name indication (SNI) name mismatch ...
BEGINNERMEDIUM
cluster.fork() can only be called from the master process
This error occurs when attempting to call cluster.fork() from a worker process instead of the primary (master) process. The cluster module enforces a strict master-worker hierarchy where only the primary process can spawn new workers.
0 viewsError: cluster.fork() can only be called from the ...
INTERMEDIATEMEDIUM
Bad chunked encoding (invalid transfer-encoding format)
This error occurs when Node.js receives an HTTP response with malformed chunked transfer encoding. The HTTP parser cannot properly decode the response body because the chunk format violates HTTP/1.1 specifications.
0 viewsError: Bad chunked encoding (invalid transfer-enco...
INTERMEDIATEHIGH
Deferred callback execution failed
This error occurs when an exception is thrown inside a deferred callback (setTimeout, setImmediate, or process.nextTick) without proper error handling, potentially crashing the Node.js process.
0 viewsError: Deferred callback execution failed (deferre...
INTERMEDIATEMEDIUM
EAGAIN: resource temporarily unavailable
The EAGAIN error indicates that a requested I/O operation cannot be completed immediately because the resource is temporarily unavailable. This is a recoverable error that signals Node.js to retry the operation later rather than failing permanently.
0 viewsError: EAGAIN: resource temporarily unavailable
INTERMEDIATEMEDIUM
TCP connection reset by peer (ECONNRESET)
This error occurs when a TCP connection is forcibly closed by the remote server or peer before the operation completes. It typically happens during HTTP requests when the server closes the connection unexpectedly, often due to timeout mismatches, keep-alive issues, or network problems.
0 viewsError: read ECONNRESET
INTERMEDIATEMEDIUM
ENAMETOOLONG: name too long
This error occurs when a file or directory name exceeds the maximum length allowed by the operating system's filesystem. Most filesystems limit individual filename components to 255 bytes, and Node.js throws ENAMETOOLONG when attempting filesystem operations with paths that exceed this limit.
0 viewsError: ENAMETOOLONG: name too long, open 'very_ver...
BEGINNERMEDIUM
Cannot find module with relative path
Occurs when using require() or import with relative paths (./ or ../) to modules that don't exist or have incorrect paths.
0 viewsError: Cannot find module './module-name'
BEGINNERLOW
RangeError: util.inspect depth must be a non-negative integer
This error occurs when you pass an invalid depth value to Node.js util.inspect() function. The depth parameter must be a non-negative integer (0 or greater), null, or Infinity—passing a negative number triggers this RangeError.
0 viewsRangeError: util.inspect depth must be a non-negat...
INTERMEDIATEHIGH
Promise rejection with undefined reason
This error occurs when a Promise is rejected without passing an error object or reason. Instead of a meaningful error message, Node.js displays "undefined", making debugging extremely difficult.
0 viewsUnhandledPromiseRejectionWarning: undefined (no er...
INTERMEDIATEHIGH
RangeError: Invalid string length
Occurs when attempting to create or manipulate a string that exceeds JavaScript's maximum string length limit of approximately 1GB (2^29 - 24 bytes in V8).
0 viewsRangeError: Invalid string length
INTERMEDIATEHIGH
EPROTO: protocol error when reading data
This error occurs when Node.js encounters a protocol-level communication failure, most commonly during HTTPS requests. It typically indicates SSL/TLS handshake issues, protocol mismatches, or connection interruptions between client and server.
0 viewsError: EPROTO: protocol error, read
BEGINNERMEDIUM
DNS lookup failed - hostname not found
This error occurs when Node.js cannot resolve a hostname to an IP address through DNS lookup. It commonly happens with network requests using fetch, axios, or http when the domain name is misspelled, the DNS server is unreachable, or the hostname does not exist.
0 viewsError: getaddrinfo ENOTFOUND api.example.com (DNS ...
INTERMEDIATEMEDIUM
getaddrinfo ENOTFOUND - DNS lookup failed
This error occurs when Node.js cannot resolve a hostname to an IP address through DNS. It typically happens when making HTTP requests to domains that don't exist, are misspelled, or when DNS resolution fails due to network connectivity issues.
0 viewsError: getaddrinfo ENOTFOUND example.com
INTERMEDIATEMEDIUM
EROFS: read-only file system, write
This error occurs when a Node.js application attempts to write to a file or directory on a read-only filesystem. Common in containerized environments, serverless platforms, and systems with intentionally read-only root filesystems.
0 viewsError: EROFS: read-only file system, write
INTERMEDIATEMEDIUM
The requested module does not provide an export named
This error occurs when importing from an ES module that doesn't export the requested name. It commonly happens when trying to use a default import on a module that only has named exports, or when mixing ESM and CommonJS module systems.
0 viewsSyntaxError: The requested module does not provide...
INTERMEDIATEMEDIUM
MaxListenersExceededWarning: Possible EventEmitter memory leak detected
This warning appears when more than 10 event listeners are attached to a single EventEmitter instance, indicating a potential memory leak from listeners not being properly cleaned up.
0 viewsMaxListenersExceededWarning: Possible EventEmitter...
INTERMEDIATEMEDIUM
TimeoutError: Operation timed out
This error occurs when an asynchronous operation exceeds its configured time limit without completing. Common in network requests, database queries, and long-running async operations.
0 viewsTimeoutError: Operation timed out after 5000ms
INTERMEDIATEMEDIUM
Socket timeout during HTTP request
This error occurs when a network request does not complete within the specified time limit and the socket connection times out. It commonly happens with HTTP clients when the server takes too long to respond or network connectivity issues prevent timely communication.
0 viewsError: ETIMEDOUT
INTERMEDIATEMEDIUM
module.exports is undefined (exported value does not exist)
This error occurs when you try to access a property or function from a module that was not properly exported, or when module.exports is assigned inside a callback. It commonly happens when mixing CommonJS and ES Module syntax or importing non-existent named exports.
0 viewsError: module.exports is undefined (trying to use ...
BEGINNERHIGH
Cannot read property of undefined or null
This error occurs when attempting to access a property on a variable that is undefined or null. It is one of the most common runtime errors in Node.js and JavaScript, typically caused by accessing data before it is initialized or when API responses are missing expected fields.
0 viewsTypeError: Cannot read property 'foo' of undefined
BEGINNERMEDIUM
Address already in use error when starting server
This error occurs when you try to start a Node.js server on a port that is already occupied by another process. The system refuses to bind to the port because another application is already listening on it.
0 viewsError: listen EADDRINUSE: address already in use :...
INTERMEDIATEMEDIUM
Read ECONNRESET - Connection reset by peer
This error occurs when a TCP connection is forcibly closed by the remote server or network device before your Node.js application finishes reading data. The connection is abruptly terminated by sending a TCP RST packet instead of a graceful close.
0 viewsError: read ECONNRESET
BEGINNERHIGH
HMAC key must be a string or buffer
This error occurs when the crypto.createHmac() method receives a key argument that is not a valid type. Node.js requires the HMAC key to be a string, Buffer, TypedArray, DataView, or KeyObject, and passing undefined, null, or other invalid types will cause this error.
0 viewsError: HMAC key must be a string or buffer (invali...
INTERMEDIATEMEDIUM
EALREADY: operation already in progress
This system-level error occurs when attempting to initiate a network operation (like a socket connection) that is already in progress. It commonly happens when reconnecting sockets too quickly or trying to bind resources that are already being accessed.
0 viewsError: EALREADY: operation already in progress
INTERMEDIATEHIGH
Connect ENETUNREACH - Network Unreachable
This error occurs when Node.js attempts to establish a TCP connection but the operating system cannot find a network route to the destination. The connection fails because no routing path exists between your system and the target host.
0 viewsError: connect ENETUNREACH (no route to destinatio...
BEGINNERHIGH
TypeError: object is not a function
This error occurs when you attempt to call a value as a function, but that value is not actually a function. It commonly happens due to typos in function names, calling properties that hold non-function values, or issues with module loading and scope.
0 viewsTypeError: object is not a function
INTERMEDIATEMEDIUM
SystemError: access denied (operating system rejected operation)
This Node.js error occurs when the operating system blocks a file system operation due to insufficient permissions, file locking by another process, or security restrictions. Common scenarios include writing to protected directories, accessing files opened by other applications, or operating on files locked by antivirus software.
0 viewsSystemError: access denied (operating system rejec...
BEGINNERMEDIUM
EISDIR: illegal operation on a directory
This error occurs when Node.js file system operations attempt to read, write, or manipulate a directory as if it were a regular file. The operation expects a file path but receives a directory path instead.
0 viewsError: EISDIR: illegal operation on a directory, r...
BEGINNERMEDIUM
How to fix 'latin1 encoding is not supported' in Node.js Buffer
This error occurs when using latin1 (ISO-8859-1) encoding in Node.js Buffer operations on versions that don't support it. The fix is to either upgrade Node.js to v6.4.0 or later, or use an alternative encoding method.
0 viewsError: latin1 encoding is not supported for this b...
INTERMEDIATEMEDIUM
Unknown file extension error in Node.js
Node.js throws ERR_UNKNOWN_FILE_EXTENSION when trying to import or execute files with unrecognized extensions. This commonly occurs with TypeScript files (.ts), Python files (.py), or other non-JavaScript file types that Node.js cannot natively process.
0 viewsError: [ERR_UNKNOWN_FILE_EXTENSION] Unknown file e...
INTERMEDIATECRITICAL
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
This fatal error occurs when a Node.js process attempts to allocate more memory than the available heap size allows. The process crashes because it cannot continue execution without the requested memory allocation.
0 viewsFATAL ERROR: CALL_AND_RETRY_LAST Allocation failed...
INTERMEDIATEHIGH
ENODEV: no such device, read
The ENODEV error occurs when Node.js attempts to read from a device that doesn't exist or is unavailable. This commonly happens with hardware devices like Bluetooth adapters, TTY devices, or when performing device-specific operations on unsupported file descriptors.
0 viewsError: ENODEV: no such device, read
INTERMEDIATEMEDIUM
EPIPE: Broken pipe when writing to closed stream
This error occurs when Node.js attempts to write data to a stream, pipe, or socket that has already been closed by the receiving end. It's a POSIX error indicating the connection was terminated before all data could be transmitted.
0 viewsError: EPIPE: broken pipe (write to closed stream)
INTERMEDIATEMEDIUM
HPE_INVALID_HEADER_TOKEN: Invalid header token in Node.js HTTP request
This error occurs when Node.js receives HTTP response headers that contain invalid characters or do not comply with strict HTTP/1.1 standards. Node.js v12+ uses a stricter HTTP parser that rejects malformed headers that browsers might accept.
0 viewsError: HPE_INVALID_HEADER_TOKEN: invalid header to...
INTERMEDIATEHIGH
ERANGE: result too large (buffer allocation)
This error occurs when attempting to allocate a buffer that exceeds Node.js maximum buffer size limits. On 32-bit systems the limit is ~1GB, while 64-bit systems allow up to ~2GB.
0 viewsError: ERANGE: result too large
INTERMEDIATEHIGH
Invalid header value provided (header contains invalid characters)
This error occurs when you attempt to set an HTTP header with a value containing characters that violate HTTP header specifications. Node.js strictly validates header values to prevent header injection attacks and protocol violations.
0 viewsTypeError: Invalid header value provided (header c...
INTERMEDIATEHIGH
IPC channel error in forked process
This error occurs when the Inter-Process Communication (IPC) channel between a parent and child process created with child_process.fork() fails or closes unexpectedly, preventing message passing between processes.
0 viewsError: IPC channel error in forked process (commun...
BEGINNERHIGH
JavaScript heap out of memory
This error occurs when Node.js runs out of memory while executing your application. By default, Node.js limits heap memory to approximately 1.5GB on 64-bit systems, which may be insufficient for memory-intensive operations like processing large files or building complex applications.
0 viewsFATAL ERROR: CALL_AND_RETRY_LAST Allocation failed...
INTERMEDIATEHIGH
Server already listening error when calling listen() twice
This error occurs when you call server.listen() more than once on the same server instance. Once a server is listening on a port, you cannot call listen() again without closing it first, as the port binding is already established.
0 viewsError: Server already listening on port 3000 (serv...
INTERMEDIATEMEDIUM
Invalid trailer header when using chunked encoding in HTTP
This error occurs when Node.js detects conflicting or invalid HTTP trailer headers in a chunked transfer encoding response. Trailers can only be used with chunked encoding, but certain conditions prevent their proper use or declaration.
0 viewsError: Invalid trailer header (cannot use trailer ...
INTERMEDIATEMEDIUM
Socket is destroyed (cannot write to destroyed socket)
This error occurs when your Node.js application attempts to write data to a network socket that has already been destroyed or closed. The socket is no longer available for communication and cannot accept new data.
0 viewsError: Socket is destroyed
INTERMEDIATEHIGH
node-gyp build failed: Native addon compilation error
This error occurs when Node.js fails to compile native C/C++ addons during package installation. It indicates a problem with the compilation environment, missing build tools, or incompatible dependencies required by node-gyp.
0 viewsError: node-gyp build failed (native addon compila...
ADVANCEDMEDIUM
Invalid trailer header (cannot use trailer with chunked encoding)
This error occurs when attempting to use HTTP trailer headers incorrectly with chunked transfer encoding. Trailer headers can only be sent after the message body when chunked encoding is properly enabled and the Trailer header is declared upfront.
0 viewsError: Invalid trailer header (cannot use trailer ...
INTERMEDIATEMEDIUM
Code cache validation failed (V8 code cache corrupted)
This error occurs when Node.js detects corrupted or invalid V8 code cache data. The V8 engine uses code caching to speed up script compilation, but when the cached data becomes corrupted or incompatible, validation fails and Node.js must recompile the affected modules.
0 viewsError: Code cache validation failed (V8 code cache...
INTERMEDIATEHIGH
Worker thread terminated unexpectedly
This error occurs when a Node.js worker thread exits unexpectedly due to an unhandled exception, memory limit, or forced termination. The main thread loses communication with the worker, leaving operations incomplete.
0 viewsError: Worker thread terminated unexpectedly (work...
INTERMEDIATEHIGH
ERR_REQUIRE_ESM: require() of ES Module not supported
Occurs when attempting to use CommonJS require() to import an ES module, which only supports import statements.
0 viewsError [ERR_REQUIRE_ESM]: require() of ES Module no...
BEGINNERHIGH
Cannot find module from project root
Occurs when Node.js cannot resolve a module path from the project root, typically due to incorrect package.json configuration, missing dependencies, or path resolution issues.
0 viewsError: Cannot find module
INTERMEDIATEHIGH
EBADF: bad file descriptor
Occurs when Node.js attempts to perform I/O operations on a file descriptor that is closed, invalid, or doesn't exist.
0 viewsError: EBADF: bad file descriptor
BEGINNERHIGH
Cannot find module from npm package
Occurs when Node.js cannot find an npm package that should be installed in node_modules, typically due to missing installation or corrupted node_modules.
0 viewsError: Cannot find module 'package-name'
BEGINNERHIGH
ECONNREFUSED: Connection refused to MySQL
Occurs when Node.js cannot establish a TCP connection to MySQL server because the server is not running, not listening on the specified port, or blocked by firewall.
0 viewsError: connect ECONNREFUSED 127.0.0.1:3306
INTERMEDIATEHIGH
ER_CON_COUNT_ERROR: Too many connections
Occurs when Node.js application attempts to open more MySQL connections than allowed by the max_connections server setting.
0 viewsER_CON_COUNT_ERROR: Too many connections
INTERMEDIATEMEDIUM
Write after end - Cannot write to closed stream
This error occurs when attempting to write data to a writable stream after it has been closed with end() or destroy(). Once a stream is ended, it cannot accept any additional data.
0 viewsError: write after end
INTERMEDIATEMEDIUM
Worker threads are not available in this Node.js build
This error occurs when attempting to use the worker_threads module in a Node.js environment where worker threads are unavailable, either due to an outdated version, custom build configuration, or missing experimental flags in older versions.
0 viewsError: Worker threads are not available in this No...
BEGINNERMEDIUM
JWT malformed - JsonWebTokenError
This error occurs when jwt.verify() receives an invalid or improperly formatted JSON Web Token. A valid JWT must have exactly three base64url-encoded parts separated by periods (header.payload.signature).
0 viewsJsonWebTokenError: jwt malformed
INTERMEDIATEHIGH
CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
This fatal error occurs when Node.js runs out of memory trying to allocate space in the JavaScript heap. It typically happens when processing large datasets, running memory-intensive operations, or when there are memory leaks that gradually consume all available heap space.
0 viewsFATAL ERROR: CALL_AND_RETRY_LAST Allocation failed...
INTERMEDIATEMEDIUM
Callback in setTimeout threw (timer callback failed)
This error occurs when an exception is thrown inside a setTimeout callback function. Since the callback executes asynchronously, the error cannot be caught by outer try-catch blocks and will crash your application unless properly handled.
0 viewsError: Callback in setTimeout threw (timer callbac...
INTERMEDIATEHIGH
Stream write timeout when write operation exceeds time limit
This error occurs when a write operation to a Node.js stream takes longer than the configured timeout threshold. It typically happens when downstream consumers are slow or unresponsive, causing backpressure to accumulate and the write operation to stall.
0 viewsError: Stream write timeout (write operation excee...
INTERMEDIATEMEDIUM
TCP backlog queue exceeded (too many pending connections)
This error occurs when your Node.js server receives connections faster than it can accept them, causing the TCP backlog queue to overflow. The server cannot handle the rate of incoming connection requests, and the OS refuses further connection attempts.
0 viewsError: TCP backlog queue exceeded (too many pendin...
INTERMEDIATEHIGH
Cannot resume stream that is still reading (pause/resume mismatch)
This error occurs when you call resume() on a stream that is already in the reading state, indicating a mismatch between pause() and resume() calls. It typically happens with improper backpressure handling or calling resume() multiple times without corresponding pause() calls.
0 viewsError: Cannot resume stream that is still reading ...
INTERMEDIATEHIGH
Primary is not listening in Node.js cluster
This error occurs when worker processes in a Node.js cluster module are trying to emit 'listening' events but no actual listening server exists in the worker processes. The cluster module expects workers to have a net.Server instance listening on a port to handle incoming connections.
0 viewsError: Primary cluster worker is not listening (li...
ADVANCEDHIGH
DNS SERVFAIL with all try again responses in Node.js
This error occurs when Node.js DNS resolution exhausts all retry attempts after receiving SERVFAIL responses from the DNS server. SERVFAIL indicates the DNS server encountered an error and could not process the query, typically due to zone misconfiguration, DNSSEC validation failures, or temporary server problems.
0 viewsError: DNS SERVFAIL with all try again responses
INTERMEDIATEHIGH
How to fix DNS NOTFOUND error in Node.js
The DNS NOTFOUND error occurs when a DNS server responds to a query but contains no answer records for the requested domain. This indicates the domain doesn't exist, is improperly configured, or the DNS server lacks the record information. This is different from timeouts or unreachable servers.
0 viewsError: NOTFOUND (no answers section)
INTERMEDIATEHIGH
Invalid buffer encoding in Node.js
This error occurs when you attempt to use an unsupported character encoding with Node.js Buffer operations. Node.js only supports a limited set of standard encodings like utf8, ascii, hex, and base64. Using an invalid encoding name causes a RangeError.
0 viewsRangeError: Unknown encoding 'utf-99' (invalid buf...
INTERMEDIATEMEDIUM
Invalid Buffer offset in Node.js
This error occurs when you attempt to read from or write to a Buffer at an offset that is either negative or exceeds the buffer's bounds. Common when using Buffer methods like readUInt8(), write(), slice(), or copy() with invalid offset parameters.
0 viewsRangeError: Index out of range (negative or too la...
INTERMEDIATEMEDIUM
TimeoutError: Operation timeout while promise pending
This error occurs when an asynchronous operation takes longer than the specified timeout duration to complete. The promise remains in a pending state past its deadline, triggering a timeout rejection to prevent indefinite waiting.
0 viewsTimeoutError: Operation timeout while promise pend...
INTERMEDIATEMEDIUM
HTTP 429 Too Many Requests rate limiting error
HTTP 429 Too Many Requests indicates your Node.js application has exceeded the API rate limit. The server is asking your client to slow down request frequency.
0 viewsError: HTTP 429 Too Many Requests (rate limited)
INTERMEDIATEHIGH
UnhandledPromiseRejectionWarning in Node.js
This warning occurs when a Promise is rejected but no error handler catches the rejection. Starting from Node.js 15, unhandled promise rejections cause the application to terminate, making proper error handling critical for application stability.
0 viewsUnhandledPromiseRejectionWarning: Error: Something...
INTERMEDIATEMEDIUM
Cannot send message on closed message port (worker disconnected)
This error occurs when attempting to send a message through a MessagePort that has already been closed or whose worker thread has terminated. The communication channel between the main thread and worker is no longer available.
0 viewsError: Cannot send message on closed message port ...
INTERMEDIATEMEDIUM
AsyncLocalStorage variable not set in this context
This error occurs when attempting to access AsyncLocalStorage data outside of an asynchronous context initialized by run() or enterWith(). The store is only available within the callback scope or in operations properly bound to that context.
0 viewsError: AsyncLocalStorage variable not set in this ...
INTERMEDIATEMEDIUM
Invalid base64 padding when converting strings to Buffer
This error occurs when attempting to decode a base64 string that has incorrect padding. Base64 encoding requires padding to a multiple of 4 characters using the "=" character, and improper padding causes decoding failures in strict validation contexts.
0 viewsError: Invalid base64 padding
INTERMEDIATEMEDIUM
Invalid signal passed to process.kill()
This error occurs when you pass an invalid or unrecognized signal name to Node.js process.kill(). Common causes include using signal numbers instead of names, omitting the SIG prefix, or using platform-specific signals on unsupported systems.
0 viewsTypeError: process.kill() invalid signal (signal n...
BEGINNERHIGH
SyntaxError: Unexpected token in JSON at position 0 in Express
This error occurs when express.json() middleware tries to parse non-JSON content (typically HTML) as JSON. Most commonly caused by requesting a non-existent route that returns a 404 HTML page, or sending malformed JSON to your API.
0 viewsSyntaxError: Unexpected token < in JSON at positio...
INTERMEDIATEHIGH
SSL_ERROR_BAD_HANDSHAKE - TLS handshake failed
This error occurs when a Node.js client and server cannot establish a secure TLS/SSL connection during the handshake process. The handshake failure typically stems from protocol version mismatches, incompatible cipher suites, certificate validation issues, or misconfigured TLS settings.
0 viewsError: SSL_ERROR_BAD_HANDSHAKE (TLS handshake fail...
INTERMEDIATEHIGH
CORS preflight request failed (missing Access-Control-Allow-Origin header)
A CORS preflight request failed because the server didn't respond with the required Access-Control-Allow-Origin header. This happens when your Express server doesn't properly configure CORS headers for complex requests (PUT, DELETE, POST with custom headers).
0 viewsError: CORS preflight request failed (no 'Access-C...
INTERMEDIATEHIGH
HTTP 426 Upgrade Required (protocol upgrade needed)
This error occurs when a Node.js application attempts to communicate with a server using an outdated or unsupported protocol version. The server responds with HTTP 426, indicating the client must upgrade to a newer protocol (such as HTTPS, HTTP/2, or a specific TLS version) before the request can be processed.
0 viewsError: HTTP 426 Upgrade Required (protocol upgrade...
BEGINNERMEDIUM
The URL argument must be a string or URL object
This error occurs when the URL constructor or URL-related functions receive an argument that is not a string or URL object, such as undefined, null, a number, or other invalid types.
0 viewsTypeError: The URL argument must be a string or UR...
INTERMEDIATEHIGH
Error: FST_ERR_PLUGIN_ALREADY_REGISTERED: Plugin already registered
This error occurs when you attempt to register the same Fastify plugin multiple times, either directly in your code or through a chain of dependencies. Fastify prevents duplicate plugin registration to avoid conflicts, state duplication, and unpredictable behavior.
0 viewsError: FST_ERR_PLUGIN_ALREADY_REGISTERED: Plugin a...
BEGINNERMEDIUM
Invalid zlib compression level (must be -1 to 9)
This error occurs when you pass an invalid compression level to Node.js zlib functions like createGzip() or createDeflate(). The compression level must be an integer between -1 (default) and 9 (maximum compression).
0 viewsRangeError: Compression level must be between -1 a...
INTERMEDIATEHIGH
Schema is required for validation in Fastify
This error occurs in Fastify when you attempt to validate request data without providing a schema definition. Fastify requires an explicit schema for request validation, and if missing, it will throw this error. The schema defines the expected structure of request parameters, query strings, bodies, or headers.
0 viewsError: schema is required for validation in fastif...
BEGINNERMEDIUM
How to fix "Error: recursive option not supported in this Node.js version" in Node.js
This error occurs when using the recursive option with fs.mkdir() or fs.mkdirSync() in an older version of Node.js that does not support this feature. The recursive option was added in Node.js 10.12.0 to create directories recursively with a single command.
0 viewsError: recursive option not supported in this Node...
INTERMEDIATEHIGH
ENOSPC: No space left on device (fs.watch ran out of capacity)
This error occurs when Node.js fs.watch() reaches the system limit on file descriptors or inode watchers. The file watching subsystem cannot monitor additional files because the system has exhausted its available watching capacity.
0 viewsError: ENOSPC: no space left on device (fs.watch r...
ADVANCEDHIGH
How to fix "Warning: Possible memory leak in promises created within setInterval" in Node.js
This warning indicates that promises are being continuously created inside setInterval or setTimeout callbacks without proper cleanup, causing memory consumption to grow unbounded. The callback functions and their closures remain referenced, preventing garbage collection.
0 viewsWarning: Possible memory leak in promises created ...
BEGINNERMEDIUM
How to fix "Could not find package.json in current directory" in Node.js
This error occurs when npm or Node.js cannot locate a package.json file in the directory where you are running commands. The package.json file is required for dependency management and project configuration.
0 viewsError: Could not find package.json in current dire...
BEGINNERMEDIUM
Invalid HTTP status code out of range error
This error occurs when you attempt to set an HTTP response status code to a value outside the valid range of 100-599. The HTTP specification requires status codes to be three-digit numbers within this range.
0 viewsRangeError: The value of 'statusCode' is out of ra...
BEGINNERMEDIUM
HTTP 413 Payload Too Large
This error occurs when a client sends a request body that exceeds the server's configured size limit. By default, Express limits request bodies to 100KB, causing this error when larger payloads are sent.
0 viewsError: HTTP 413 Payload Too Large (request body ex...
BEGINNERLOW
PendingDeprecationWarning: Buffer() will be removed in future
This warning appears when running Node.js with the --pending-deprecation flag or NODE_PENDING_DEPRECATION environment variable. It alerts developers that the Buffer() constructor is scheduled for eventual removal, giving advance notice to update code before the feature becomes fully deprecated.
0 viewsPendingDeprecationWarning: Buffer() will be remove...
INTERMEDIATEMEDIUM
The 'timeout' argument must be between 0 and 4294967295
This RangeError occurs when passing a timeout value that exceeds the maximum 32-bit unsigned integer limit (4,294,967,295 milliseconds, about 49.7 days) to timer functions like setTimeout or setInterval.
0 viewsRangeError: The 'timeout' argument must be between...
INTERMEDIATEMEDIUM
Socket hang up in Node.js
A "socket hang up" error occurs when a network connection is unexpectedly closed or terminated before the operation completes. This typically happens during HTTP requests when a server closes the connection without properly finishing the response, or when the socket times out waiting for data.
0 viewsError: socket hang up
INTERMEDIATEHIGH
TLS alert: unknown CA (untrusted certificate authority)
This error occurs when Node.js attempts an HTTPS connection to a server with an SSL/TLS certificate signed by a Certificate Authority (CA) that is not trusted or recognized. Node.js maintains a list of trusted root CAs, and when a certificate is signed by an unknown or self-signed CA, the connection is rejected.
0 viewsError: tlsv1 alert unknown ca (untrusted certifica...
INTERMEDIATEHIGH
TLS alert: bad certificate (peer rejected certificate)
The remote server rejected the SSL/TLS certificate presented by your Node.js application during the handshake. This occurs when the certificate is invalid, self-signed, or the certificate chain is incomplete.
0 viewsError: tlsv1 alert bad certificate (peer rejected ...
INTERMEDIATEMEDIUM
The operation was aborted
This error occurs when an asynchronous operation is cancelled using an AbortController before it completes. It commonly happens with fetch requests, file operations, or any API that accepts an AbortSignal when the operation is explicitly aborted or times out.
0 viewsAbortError: The operation was aborted (abort signa...
BEGINNERMEDIUM
AssertionError: Assertion failed in assert.strictEqual
This error occurs when a test assertion fails using Node.js assert.strictEqual(), indicating that the actual value does not match the expected value using strict equality (===).
0 viewsAssertionError: Assertion failed (assert.strictEqu...
INTERMEDIATEHIGH
How to fix "HTTP 502 Bad Gateway" in Node.js
A 502 Bad Gateway error occurs when a reverse proxy server (like nginx or a load balancer) receives an invalid or no response from your Node.js application. This typically happens when your app crashes, times out, or fails to respond properly to incoming requests. Fixing this requires identifying why the upstream Node.js server is failing to respond.
0 viewsError: HTTP 502 Bad Gateway (upstream server error...
INTERMEDIATEHIGH
Backpressure detected - stream buffer full
This error occurs when data is being written to a Node.js stream faster than it can be consumed, causing the internal buffer to fill up. The stream is experiencing backpressure because the destination cannot drain data quickly enough to keep up with the source.
0 viewsError: Backpressure detected - stream buffer full ...
BEGINNERMEDIUM
SyntaxError: await is only valid in async function
This error occurs when the await keyword is used outside of an async function context. JavaScript requires await to be inside async functions, async generators, or ES module top-level code to properly handle asynchronous operations.
0 viewsSyntaxError: await is only valid in async function
ADVANCEDHIGH
Backpressure: queue size exceeded (async operations piling up)
This error occurs when async operations are being queued faster than they can be processed, causing unbounded memory growth and eventual system failure. It's a classic backpressure problem where producers outpace consumers.
0 viewsError: Backpressure: queue size exceeded (async op...
INTERMEDIATEHIGH
Callback was already called
This error occurs when a callback function is invoked more than once in an asynchronous operation, typically when using callback-based flow control libraries like async.js. It is a safety mechanism to prevent unpredictable behavior caused by multiple callback invocations.
0 viewsError: Callback was already called.
INTERMEDIATEHIGH
RangeError: offset is out of bounds
This error occurs when attempting to read from or write to a Buffer at an invalid position that exceeds the buffer's allocated memory boundaries.
0 viewsRangeError: offset is out of bounds (buffer index ...
INTERMEDIATEMEDIUM
How to fix "maxBuffer exceeded" in Node.js child_process
The maxBuffer exceeded error occurs when a child process produces more output than the buffer can hold. The default buffer size is 1MB, and when stdout or stderr data exceeds this limit, Node.js terminates the child process and throws an error. This commonly happens when executing commands that produce large amounts of output.
0 viewsError: stdout maxBuffer exceeded
BEGINNERHIGH
Cannot find module (require/import failed)
This error occurs when Node.js cannot locate a module you are trying to import or require. It typically happens when a package is not installed, the path is incorrect, or dependencies are corrupted.
0 viewsError: Cannot find module 'express'
INTERMEDIATEHIGH
Certificate verify failed: self signed certificate
This error occurs when Node.js attempts to make an HTTPS request but cannot verify the SSL/TLS certificate because it is self-signed or issued by an untrusted Certificate Authority. This is common in corporate networks, development environments, or when connecting to private registries.
0 viewsError: certificate verify failed: self signed cert...
INTERMEDIATEMEDIUM
Command failed with exit code 1 (child process failed)
This error occurs when a child process spawned by Node.js exits with a non-zero status code, indicating the command or script failed to execute successfully. Exit code 1 typically signals a general error condition in the child process.
0 viewsError: Command failed with exit code 1 (child proc...
INTERMEDIATEMEDIUM
Asynchronous iterator returned a null reference
This error occurs when an async iterator's next() method returns null instead of a proper iterator result object. Async iterators must return promises that resolve to objects with done and value properties.
0 viewsTypeError: Asynchronous iterator returned a null r...
INTERMEDIATEHIGH
Socket is not connected - write before establishing connection
This error occurs when attempting to write data to a Node.js net.Socket before the connection is established. The socket must successfully connect to a remote server before any data can be sent. This typically happens when write() is called immediately without waiting for the "connect" event.
0 viewsError: Socket is not connected (socket must connec...
INTERMEDIATEMEDIUM
How to fix "Command killed with signal SIGTERM" in Node.js
This error occurs when a child process spawned by Node.js is terminated by receiving a SIGTERM signal before completing its task. SIGTERM is a termination signal sent by the operating system, container orchestrator, or parent process to request graceful shutdown. Understanding why the process receives SIGTERM and implementing proper signal handling prevents unexpected terminations and data loss.
0 viewsError: Command killed with signal SIGTERM (process...
BEGINNERMEDIUM
HTTP status code out of valid range
This RangeError occurs when you try to set an HTTP response status code that falls outside the valid range of 100-599. Node.js strictly validates status codes to ensure compliance with HTTP specifications.
0 viewsRangeError: The value of 'statusCode' is out of ra...
BEGINNERMEDIUM
How to fix "Error initializing cipher" in Node.js
This error occurs when Node.js crypto module attempts to initialize a cipher with an invalid or unsupported algorithm name. The cipher name must match one of the algorithms supported by the OpenSSL library that Node.js is compiled with. Using an incorrect cipher specification like "aes-999-cbc" instead of valid options like "aes-256-cbc" will trigger this initialization error.
0 viewsError: Error initializing cipher 'aes-999-cbc' (in...
INTERMEDIATEMEDIUM
Circular dependency between modules
This error occurs when two or more modules require each other, creating a dependency loop. Node.js returns an incomplete module export to prevent infinite loops, resulting in undefined imports and runtime errors.
0 viewsError: Module A requires Module B which requires M...
INTERMEDIATEMEDIUM
Performance observer for entry type already exists
This error occurs when attempting to register multiple PerformanceObserver instances for the same entry type in Node.js. Only one observer can monitor a specific entry type at a time, and duplicate registrations trigger an assertion failure that can crash the process.
0 viewsError: Performance observer for this entry type al...
BEGINNERLOW
Punycode module is deprecated
Node.js shows a deprecation warning when code uses the built-in punycode module. This module has been deprecated since Node.js v7 and became a runtime deprecation in v21, warning that it will be removed in a future major version.
0 viewsDeprecationWarning: punycode module is deprecated ...
INTERMEDIATEMEDIUM
Worker disconnect timeout (worker did not exit cleanly)
This error occurs in Node.js cluster mode when a worker process fails to exit within the expected timeout period after disconnect() is called. It typically indicates that the worker has open connections or pending operations preventing graceful shutdown.
0 viewsError: Worker disconnect timeout (worker did not e...
INTERMEDIATEMEDIUM
Transform stream flush failed during cleanup
This error occurs when a Transform stream's _flush() method encounters an error during stream finalization. The flush method is called after all data has been processed but before the stream ends, and errors here indicate failed cleanup operations or final transformations.
0 viewsError: Transform stream flush failed (cleanup duri...
INTERMEDIATEMEDIUM
Content-Length mismatch in HTTP response
This error occurs when the Content-Length header value does not match the actual size of the response body received. It typically happens when the server sends an incorrect header, a proxy modifies the response without updating headers, or compression is applied inconsistently.
0 viewsError: Content-Length mismatch (received data size...
BEGINNERMEDIUM
Access to XMLHttpRequest blocked by CORS policy
This error occurs when a web application tries to make a cross-origin HTTP request, but the server does not allow requests from the requesting origin. Browsers enforce CORS (Cross-Origin Resource Sharing) to protect users from potentially malicious cross-origin requests.
0 viewsError: Access to XMLHttpRequest blocked by CORS po...
INTERMEDIATEHIGH
DH parameter is too small (Diffie-Hellman key too weak)
This error occurs when a Node.js TLS client refuses to connect because the server offers Diffie-Hellman key exchange parameters smaller than the minimum security threshold (typically 1024 bits). Modern OpenSSL versions reject weak DH groups to protect against cryptographic attacks like Logjam.
0 viewsError: DH parameter is too small
INTERMEDIATEMEDIUM
zlib inflate error (decompression algorithm failed)
This error occurs when Node.js's zlib module fails to decompress data due to corrupted input, incorrect compression format, or header mismatches. The decompression algorithm encounters data that doesn't conform to the expected zlib/gzip format.
0 viewsError: zlib inflate error (decompression algorithm...
ADVANCEDHIGH
How to fix "Drain event never emitted" in Node.js
This error occurs when a Node.js writable stream fails to emit the drain event after write() returns false, indicating a backpressure handling failure. The stream's internal buffer is full but never signals when it's safe to resume writing, leading to frozen writes, memory buildup, or application hangs. Proper backpressure handling requires correctly listening for and responding to the drain event.
0 viewsError: Drain event never emitted (writer not prope...
INTERMEDIATEMEDIUM
Not implemented (feature not yet implemented)
The "Not implemented" error occurs when attempting to use a feature, method, or API that has not been implemented in the current environment, library, or Node.js version. This can happen with custom stream implementations, platform-specific functions, or browser APIs in testing environments.
0 viewsError: Not implemented
BEGINNERMEDIUM
Unknown algorithm error (invalid hash algorithm)
This error occurs when you attempt to use an unsupported or misspelled algorithm name with Node.js crypto module functions like createHash() or createHmac(). The algorithm name must match one of the hash algorithms available in your Node.js/OpenSSL installation.
0 viewsError: Unknown algorithm 'sha-999' (invalid hash a...
INTERMEDIATEHIGH
EACCES: permission denied on read-only filesystem
This error occurs when Node.js attempts to write to a file or directory that resides on a read-only filesystem. It commonly happens in Docker containers with read-only root filesystems, mounted volumes with incorrect permissions, or filesystems explicitly mounted as read-only for security reasons.
0 viewsError: EACCES: permission denied, write 'readonly'
BEGINNERHIGH
Connection refused on TCP port
This error occurs when a Node.js application attempts to connect to a TCP port but the connection is actively refused because no service is listening on that port. It commonly happens with database connections, API calls to localhost, or inter-service communication when the target server is not running or the port configuration is incorrect.
0 viewsError: connect ECONNREFUSED 127.0.0.1:5000 (port n...
INTERMEDIATECRITICAL
Uncaught Exception in Main Process
An uncaught exception occurs when a JavaScript error is thrown but not caught by any try-catch block or error handler, causing the application to crash. This indicates the application is in an undefined state and must be properly handled to prevent data corruption.
0 viewsError: Uncaught exception in main process (unhandl...
INTERMEDIATEHIGH
Host is down (EHOSTDOWN)
EHOSTDOWN is a socket connection error indicating the remote host is down or unreachable at the network layer. This error occurs when Node.js receives status information from the underlying communication services that the target host is down.
0 viewsError: EHOSTDOWN: host is down
INTERMEDIATEMEDIUM
ReferenceError: require is not defined in ES module scope
This error occurs when attempting to use CommonJS require() syntax in code being treated as an ES module. Node.js uses different module systems, and require() is not available in ES module scope.
0 viewsReferenceError: require is not defined
BEGINNERMEDIUM
Unsupported encoding error in Node.js
This error occurs when you specify a character encoding that Node.js does not natively support, such as "utf-16" or a misspelled encoding name. Node.js supports specific encodings like utf8, utf16le, ascii, and base64.
0 viewsError: The encoding 'utf-16' is not supported (uns...
INTERMEDIATEHIGH
TLS alert handshake failure: TLS negotiation failed
This error occurs when Node.js fails to complete a TLS handshake during an HTTPS or secure WebSocket connection. The client and server cannot agree on compatible encryption protocols, cipher suites, or certificate parameters, causing the secure connection to be rejected.
0 viewsError: tlsv1 alert handshake failure (TLS negotiat...
BEGINNERMEDIUM
Cannot read property 'then' of undefined in promise chain
This error occurs when attempting to chain .then() on a value that is undefined instead of a Promise. It typically happens when a function fails to return a Promise, breaking the promise chain.
0 viewsTypeError: Cannot read property 'then' of undefine...
ADVANCEDHIGH
Duplex stream ended unexpectedly
This error occurs when both sides of a Node.js duplex stream (readable and writable) fail or close prematurely before completing data transfer. It commonly happens due to improper error handling, missing event listeners, or abrupt connection terminations in network streams, transform streams, or bidirectional pipes.
0 viewsError: Duplex stream ended unexpectedly (both read...
INTERMEDIATEMEDIUM
ENETUNREACH: Network is unreachable
The ENETUNREACH error occurs when Node.js cannot establish a network connection because the destination network is unreachable. This typically indicates routing problems, network interface issues, or firewall restrictions preventing your application from reaching the target host.
0 viewsError: connect ENETUNREACH 10.0.0.1:443
INTERMEDIATEMEDIUM
connect EHOSTUNREACH - No route to host
The EHOSTUNREACH error occurs when Node.js attempts to establish a TCP connection but cannot find any network route to reach the target host. This typically indicates network configuration issues, firewall blocks, or an unreachable server.
0 viewsError: connect EHOSTUNREACH 192.168.1.1:22
ADVANCEDHIGH
ENOBUFS: No buffer space available
This error occurs when the operating system runs out of buffer space for network operations, typically during heavy socket operations or large data transfers. It indicates system-level resource exhaustion rather than a code-level bug.
0 viewsError: ENOBUFS: no buffer space available
BEGINNERMEDIUM
How to fix "ENOENT: no such file or directory" in Node.js
The ENOENT (Error NO ENTry) error occurs when Node.js attempts to access a file or directory that does not exist at the specified path. This is one of the most common filesystem errors and typically results from incorrect file paths, relative path confusion, or missing files. Understanding how Node.js resolves paths is essential to fixing this error permanently.
0 viewsError: ENOENT: no such file or directory, open 'fi...
INTERMEDIATEHIGH
EPERM: operation not permitted (chmod/file operations)
This error occurs when Node.js attempts a file system operation that the operating system denies due to insufficient permissions. It commonly happens during chmod, rename, unlink, or write operations, particularly on Windows with antivirus software or on Unix-like systems with incorrect file ownership.
0 viewsError: EPERM: operation not permitted, chmod 'file...
BEGINNERMEDIUM
ENOTEMPTY: directory not empty when removing directory
This error occurs when attempting to remove a directory that contains files or subdirectories using fs.rmdir() or fs.rmdirSync(). Node.js refuses to delete non-empty directories unless the recursive option is enabled.
0 viewsError: ENOTEMPTY: directory not empty, rmdir 'dirn...
BEGINNERMEDIUM
ENOTDIR: not a directory, scandir
This error occurs when Node.js file system operations expect a directory path but receive a file path instead. It commonly appears with fs.readdir(), fs.scandir(), or file watching utilities.
0 viewsError: ENOTDIR: not a directory, scandir '/path/to...
INTERMEDIATELOW
ESRCH: No such process
The ESRCH error occurs when attempting to send a signal to a process that no longer exists. This typically happens with process.kill() or child process operations when the target process has already exited.
0 viewsError: kill ESRCH
INTERMEDIATEMEDIUM
Command not found when using child_process.exec()
This error occurs when Node.js child_process.exec() tries to execute a command that cannot be found by the shell (/bin/sh). The shell either cannot locate the executable in PATH or the command does not exist on the system.
0 viewsError: /bin/sh: command: command not found (exec f...
INTERMEDIATEMEDIUM
ETIMEDOUT: Operation timed out
ETIMEDOUT occurs when a network operation in Node.js does not complete within the specified or default time limit. This typically happens during HTTP requests, database connections, or socket operations when the remote server fails to respond in time.
0 viewsError: ETIMEDOUT (Operation timed out)
BEGINNERLOW
ExperimentalWarning: Worker threads are experimental
This warning appears when using the worker_threads module in Node.js versions prior to v12, where the feature was still experimental. Worker threads became stable in Node.js v12 LTS, so upgrading to v12+ is the primary solution.
0 viewsExperimentalWarning: Worker threads are experiment...
INTERMEDIATEMEDIUM
ReferenceError: __filename is not defined in ES module scope
This error occurs when trying to use the CommonJS global __filename in an ES module. ES modules use a different approach to access file paths and do not provide __filename by default.
0 viewsReferenceError: __filename is not defined in ES mo...
INTERMEDIATEHIGH
HTTP 504 Gateway Timeout (upstream server timeout)
This error occurs when a server acting as a gateway or proxy does not receive a timely response from an upstream server. It commonly happens when your Node.js application makes requests to external APIs, databases, or microservices that take too long to respond, exceeding the configured timeout limits.
0 viewsError: HTTP 504 Gateway Timeout (upstream server t...
BEGINNERMEDIUM
execFile() permission denied for script (file not executable)
This error occurs when child_process.execFile() attempts to execute a script file that lacks executable permissions. The Node.js process cannot spawn the file as a child process because the operating system denies execution.
0 viewsError: spawn EACCES
INTERMEDIATEHIGH
ER_ACCESS_DENIED_ERROR: Access denied for user
Occurs when Node.js cannot authenticate with MySQL due to incorrect credentials, insufficient permissions, or authentication plugin mismatches.
0 viewsER_ACCESS_DENIED_ERROR: Access denied for user 'us...
BEGINNERMEDIUM
TypeError: The 'path' argument must be of type string
This error occurs when you pass an argument of the wrong type to a Node.js function that expects a string. It's commonly triggered when file system methods receive a number, undefined, null, or object instead of a string path.
0 viewsTypeError: The 'path' argument must be of type str...
BEGINNERMEDIUM
Invalid Buffer allocation size
This error occurs when attempting to allocate a Node.js Buffer with an invalid size—typically negative, zero, or exceeding platform limits. Buffer.alloc() and Buffer.allocUnsafe() enforce strict validation to prevent memory allocation failures.
0 viewsRangeError: Buffer allocation size must be a posit...
BEGINNERHIGH
How to fix invalid JSON in package.json in Node.js
This error occurs when Node.js tries to parse your package.json file but finds invalid JSON syntax. Common culprits include missing commas, mismatched quotes, or trailing commas. The error can be fixed by validating the JSON structure and correcting syntax errors.
0 viewsError: Unexpected token } in JSON at position 123 ...
INTERMEDIATEMEDIUM
How to fix "Iterator result must be an object" in Node.js
This error occurs when a custom iterator's next() method returns a non-object value instead of the required {value, done} object. Common in stream implementations and async iterators.
0 viewsTypeError: Iterator result must be an object (stre...
BEGINNERHIGH
RangeError: Value out of range - ASCII encoding only supports values 0-127
This error occurs when attempting to encode or decode data containing characters outside the ASCII range (0-127) using ASCII encoding. ASCII is a 7-bit character encoding that cannot represent extended characters, Unicode characters, or any values above 127.
0 viewsRangeError: Value out of range. ASCII encoding onl...
INTERMEDIATEMEDIUM
Cannot find module - invalid require path in Node.js
This error occurs when Node.js cannot locate a module specified in a require() or import statement. Common causes include typos in the file path, missing files, incorrect relative paths, or uninstalled dependencies. The error typically happens with local file imports that point to non-existent paths or third-party packages that haven't been installed.
0 viewsError: Cannot find module './lib/helper' from '/ho...
BEGINNERMEDIUM
Invalid hex string in Buffer conversion
This error occurs when attempting to create a Buffer with a malformed hexadecimal string. The hex string must contain an even number of valid hexadecimal characters, with each pair representing a single byte.
0 viewsTypeError: Argument must be a valid hex string
INTERMEDIATEMEDIUM
stdio option must be inherited to use detached mode
This error occurs when spawning a detached child process in Node.js without properly configuring the stdio option. Detached processes require specific stdio settings to run independently from their parent process.
0 viewsError: stdio option must be inherited to use detac...
INTERMEDIATEMEDIUM
Invalid HTTP version (unsupported protocol)
This error occurs when a Node.js HTTP client receives an HTTP response with a version string that the parser cannot recognize or does not support. It typically indicates a protocol mismatch, malformed server response, or incompatibility with an intermediary like a proxy or load balancer.
0 viewsError: Invalid HTTP version (unsupported protocol)
INTERMEDIATEMEDIUM
Channel has been destroyed in Node.js child process IPC
This error occurs when attempting to send messages over an IPC (Inter-Process Communication) channel that has already been closed or destroyed. It typically happens when a child process exits unexpectedly or the parent-child communication link is severed before all pending messages are delivered.
0 viewsError: Channel has been destroyed (cannot send on ...
INTERMEDIATEMEDIUM
Parse error with invalid HTTP response format
This error occurs when Node.js HTTP client receives a malformed HTTP response that does not conform to the HTTP specification. The error happens at the socket parser level when headers or the status line are invalid, often due to strict validation in Node.js v12+.
0 viewsError: Parse Error (invalid HTTP response format)
INTERMEDIATEMEDIUM
Request entity too large (body-parser limit exceeded) in Express
This error occurs when a POST or PUT request sends more data than Express's body-parser middleware allows. By default, Express limits JSON payloads to 100KB. Increase the limit in your middleware configuration to fix this.
0 viewsPayloadTooLargeError: request entity too large (bo...
INTERMEDIATEHIGH
Error Handling Middleware Requires 4 Parameters in Express
Express requires error-handling middleware to have exactly four parameters: (err, req, res, next). Without all four parameters, Express treats the function as regular middleware instead of an error handler. This error occurs when your error handler doesn't follow the correct signature.
0 viewsError: Middleware error handler requires 4 paramet...
INTERMEDIATEHIGH
Cannot set headers after they are sent to the client
This error occurs when your Express or Node.js application attempts to modify HTTP response headers after the response body has already been sent to the client. This typically happens when multiple responses are sent per request or when headers are set after res.send(), res.json(), or similar methods.
0 viewsError: Cannot set headers after they are sent to t...
INTERMEDIATEMEDIUM
Domain module is deprecated in Node.js
The Node.js domain module is deprecated and should not be used in new code. This warning appears when you import or use the domain module. Use async_hooks or AsyncResource instead for proper async context tracking.
0 viewsDeprecationWarning: domain module is deprecated (u...
BEGINNERHIGH
Error: Static middleware base path not found in Express
This error occurs when Express.static() middleware is configured to serve files from a directory that doesn't exist. The application fails to start because the specified path cannot be found on the filesystem.
0 viewsError: Static middleware base path not found
BEGINNERHIGH
Reply was already sent in Fastify route handler
This Fastify error occurs when you attempt to send a response twice on the same request. Once reply.send() has been called, the response is finalized and cannot be sent again. Ensure each route handler sends a response only once.
0 viewsError: FST_ERR_REP_ALREADY_SENT: Reply was already...
INTERMEDIATEHIGH
Fastify decorator already present error
This error occurs in Fastify when you try to register a decorator (plugin, hook, or utility method) with a name that already exists. Fastify prevents duplicate decorator registration to avoid silent overwrites. The fix involves checking for existing decorators, using unique names, or explicitly overwriting when intentional.
0 viewsError: FST_ERR_DEC_ALREADY_PRESENT: Fastify instan...
INTERMEDIATEHIGH
Fastify hook has exceeded the timeout limit
The FST_ERR_HOOK_TIMEOUT error occurs when a Fastify hook (onRequest, onSend, etc.) takes longer than the allowed timeout to complete. This error indicates that your hook is either performing long-running operations or is stuck in an infinite loop. Resolving this requires optimizing the hook code or adjusting timeout configuration.
0 viewsError: FST_ERR_HOOK_TIMEOUT: Hook has exceeded the...
BEGINNERMEDIUM
Express route not found (404 Not Found)
This error occurs when a client makes a request to an Express server for a URL path that does not match any defined routes. Express returns a 404 Not Found HTTP status code, indicating the requested resource could not be found on the server.
0 viewsError: 404 Not Found (Express route not matched)
INTERMEDIATEMEDIUM
EEXIST: file already exists when using fs.copyFile with COPYFILE_EXCL flag
This error occurs when fs.copyFile() is called with the COPYFILE_EXCL flag and the destination file already exists. The COPYFILE_EXCL flag is a safety mechanism that prevents overwriting existing files, causing the operation to fail if the destination path is occupied.
0 viewsError: EEXIST: file already exists, copyfile (COPY...
BEGINNERMEDIUM
EEXIST: file already exists, mkdir (directory cannot overwrite file)
This error occurs when fs.mkdir() or fs.mkdirSync() attempts to create a directory at a path where a file already exists. Node.js cannot create a directory with the same name as an existing file, causing the operation to fail with EEXIST.
0 viewsError: EEXIST: file already exists, mkdir (directo...
INTERMEDIATEHIGH
EPERM: operation not permitted, symlink on Windows (admin required)
This error occurs when Node.js attempts to create a symbolic link on Windows without administrator privileges. Windows restricts symlink creation to admin accounts or users with specific developer mode permissions. The error commonly appears when using fs.symlink() or tools that auto-link dependencies, especially in development environments or CI/CD pipelines.
0 viewsError: EPERM: operation not permitted, symlink 'ta...
INTERMEDIATEMEDIUM
HTTP/2 frame size error in Node.js
This error occurs when an HTTP/2 frame payload exceeds the maximum allowed frame size limit. HTTP/2 enforces strict frame size constraints (default 16KB), and this error indicates the server or client sent a frame that violates these limits, preventing the connection from continuing.
0 viewsError: HTTP/2 FRAME_SIZE_ERROR (frame payload exce...
INTERMEDIATEHIGH
HTTP/2 FLOW_CONTROL_ERROR protocol violation
This error occurs when an HTTP/2 connection violates flow control rules by sending more data than the peer is willing to accept. Flow control in HTTP/2 prevents overwhelming the receiver by using a window-based system. The error happens when the sender exceeds the advertised window size or improperly manages window updates, causing the protocol to abort the connection.
0 viewsError: HTTP/2 FLOW_CONTROL_ERROR (flow control pro...
INTERMEDIATEMEDIUM
HTTP/2 invalid settings frame (malformed settings) in Node.js
This error occurs when Node.js HTTP/2 session receives a SETTINGS frame that does not comply with HTTP/2 protocol specifications. The settings frame may contain invalid parameter IDs, out-of-range values, or malformed data that the HTTP/2 parser cannot process.
0 viewsError: HTTP/2 invalid settings frame (malformed se...
INTERMEDIATEHIGH
Session store not properly configured in Express
Express session middleware fails when the session store is not properly initialized or configured. This error occurs when express-session cannot establish a connection to the session storage backend (Memory, Redis, MongoDB, etc.). The application needs a compatible session store middleware to persist user sessions across requests.
0 viewsError: Session store not properly configured
BEGINNERHIGH
Express view engine not found
This error occurs when Express cannot locate the view engine you specified in your application. It typically happens when the view engine package is not installed, the engine name is misspelled, or the engine is not properly registered.
0 viewsError: View engine 'pug' not found (view engine no...
INTERMEDIATEMEDIUM
EventEmitter listener memory leak warning
This warning indicates that more than the default 10 listeners have been added to an EventEmitter without being removed, potentially causing memory leaks. Node.js warns you to either remove unused listeners, use emitter.setMaxListeners() to increase the limit, or refactor to avoid accumulating listeners.
0 viewsMaxListenersExceededWarning: Possible EventEmitter...
INTERMEDIATEHIGH
Unhandled error event with no error handler in EventEmitter
This error occurs when an EventEmitter instance emits an "error" event but no listener is registered to handle it. Node.js will throw an unhandled error, crashing the process, because error events have special handling requirements in the EventEmitter API.
0 viewsError: Unhandled error event (no error handler)
INTERMEDIATEMEDIUM
How to fix "Worker already listening on same port" in Node.js cluster
This error occurs when multiple cluster workers attempt to bind to the same port incorrectly, or when a worker tries to reopen a listener on a port it previously closed, causing EADDRINUSE conflicts in the cluster environment.
0 viewsError: Worker already listening on same port (clus...
INTERMEDIATEHIGH
How to fix "SERVFAIL: DNS server failure" in Node.js
This error occurs when a DNS server fails to complete a hostname lookup in Node.js. It typically indicates DNS server configuration issues, DNSSEC validation failures, or network connectivity problems between your application and the DNS resolver.
0 viewsError: SERVFAIL (DNS server returned SERVFAIL)
BEGINNERMEDIUM
TypeError: asyncFunction is not a function in Node.js
This error occurs when JavaScript tries to call an async function that hasn't been properly defined or declared. Most commonly, it's caused by missing semicolons between statements, where the parser misinterprets code structure.
0 viewsTypeError: asyncFunction is not a function (async ...
INTERMEDIATEMEDIUM
FST_ERR_REP_ALREADY_SENT: Reply was already sent
This Fastify error occurs when your route handler or hook attempts to send a response multiple times for the same HTTP request. Fastify prevents duplicate responses, which would cause protocol violations and unpredictable client behavior.
0 viewsError: FST_ERR_REP_ALREADY_SENT: Reply was already...
INTERMEDIATEHIGH
RSA key generation failed
This error occurs when Node.js fails to generate RSA key pairs using the crypto module. It typically results from memory constraints, invalid parameters, system resource limits, or OpenSSL library issues.
0 viewsError: RSA key generation failed (crypto operation...
BEGINNERMEDIUM
How to fix Invalid encoding error in Node.js readable streams
This error occurs when you pass an unsupported or invalid encoding name to a Node.js readable stream's setEncoding() method. Common causes include typos in encoding names, using encodings that aren't built-in to Node.js, or specifying an encoding that doesn't match your data format.
0 viewsError: Invalid encoding specified (stream encoding...
INTERMEDIATEHIGH
No certificates were found (TLS certificate not configured)
This error occurs when Node.js cannot locate the TLS certificate files required to establish a secure connection. It typically indicates missing, misconfigured, or inaccessible certificate paths in your HTTPS/TLS server setup.
0 viewsError: No certificates were found (TLS certificate...
INTERMEDIATEHIGH
Cannot read property 'length' of null (null stream chunk)
This error occurs when stream operations attempt to access the length property of a null chunk, typically when null values are written to streams or when stream buffers contain null entries.
0 viewsTypeError: Cannot read property 'length' of null
INTERMEDIATEMEDIUM
EINVAL: invalid argument, open
This error occurs when Node.js attempts to open a file with an invalid path argument. Common causes include malformed file paths, invalid characters in filenames (especially on Windows), and filesystem issues on external drives.
0 viewsError: EINVAL: invalid argument, open
INTERMEDIATEMEDIUM
TypeError: readableLength must be a positive integer in Node.js streams
This error occurs when you attempt to configure a Node.js stream with an invalid readableLength value. readableLength must be a positive integer (greater than 0) when specified. Invalid values like negative numbers, zero, strings, or non-integer values will trigger this TypeError.
0 viewsTypeError: readableLength must be a positive integ...
INTERMEDIATEHIGH
RangeError: highWaterMark must be a positive number in Node.js streams
This error occurs when you configure a Node.js stream with an invalid highWaterMark value. highWaterMark controls the internal buffer threshold for stream backpressure, and it must be a positive integer (0 or greater). Invalid values like negative numbers, strings, or numbers exceeding 1GiB will trigger this RangeError.
0 viewsRangeError: highWaterMark must be a positive numbe...
ADVANCEDHIGH
InternalError: Assertion failed (Node.js internal error)
This error indicates an internal bug in Node.js or incorrect usage of Node.js internals. When an assertion in the Node.js engine fails, it results in a crash with details about what went wrong. These errors are typically caused by edge cases in network operations, module loading, or worker thread handling.
0 viewsInternalError: Assertion failed (Node.js internal ...
INTERMEDIATEMEDIUM
setuid EPERM: Operation not permitted when changing process user
This error occurs when a Node.js process attempts to change its user identity using process.setuid() without sufficient privileges. The operation requires either running as root or having the CAP_SETUID Linux capability.
0 viewsError: setuid EPERM (operation not permitted, user...
BEGINNERMEDIUM
TypeError: list argument must be an Array of Buffer instances
This error occurs when Buffer.concat() receives arguments that are not Buffer or Uint8Array instances. The method expects an array containing only Buffer or Uint8Array objects, but receives strings, plain objects, or other incompatible types instead.
0 viewsTypeError: list argument must be an Array of Buffe...
ADVANCEDHIGH
cluster.fork() failed - Cannot create child process
The Node.js cluster module fails to create a new worker process, typically due to system resource limits being reached. This commonly occurs when the process has exhausted available file descriptors, memory, or the maximum number of allowed processes.
0 viewsError: cluster.fork() failed (cannot create child ...
BEGINNERMEDIUM
EACCES: permission denied
This error occurs when a Node.js process attempts to access a file, directory, or port without the necessary permissions. It commonly happens during file operations, npm installations, or when trying to bind to privileged ports below 1024.
0 viewsError: EACCES: permission denied, open '/root/file...
INTERMEDIATEHIGH
EMFILE: too many open files
This error occurs when your Node.js process has reached the operating system limit for the maximum number of file descriptors it can open simultaneously. File descriptors are used for files, network sockets, pipes, and other I/O resources.
0 viewsError: EMFILE: too many open files, open 'file.txt...
INTERMEDIATEHIGH
Worker failed to initialize in Node.js
This error occurs when Node.js cannot successfully initialize a Worker thread during startup. It typically indicates problems with module loading, resource constraints, code errors in the worker file, or circular dependencies between the main thread and worker.
0 viewsError: Worker failed to initialize (worker startup...
INTERMEDIATEHIGH
Express middleware next() called multiple times
This error occurs in Express.js when middleware or a route handler calls the next() function more than once during a single request cycle. Calling next() twice causes Express to attempt to send the response multiple times, leading to unexpected behavior and cryptic errors.
0 viewsError: Middleware next() called multiple times (ne...
INTERMEDIATEMEDIUM
EventEmitter listener already called with once()
This error occurs when code attempts to interact with a listener that was already invoked through the once() method. The once() method registers a one-time listener that automatically removes itself after the first event emission, causing issues if code tries to access it again.
0 viewsError: Listener already called (once event already...
INTERMEDIATEHIGH
EMFILE: fs.watch() limit exceeded
This error occurs when fs.watch() exceeds the operating system limit for file watchers. File system watchers consume limited system resources, and watching too many files simultaneously exhausts these limits.
0 viewsError: EMFILE: too many open files, watch