Developer Troubleshooting & Verified RecipesTroubleshooting Recipes & Quick Fixes
Curated solutions for common developer exceptions, terminal errors, and format conversions. Each recipe pairs an actionable explanation with a 100% offline browser utility.
Fix "TypeError: Cannot read properties of undefined (reading 'map')" when parsing API JSON
When fetching data from an API, you are mapping over an array that doesn't exist or is undefined because the API response structure doesn't match your expectations or lacks type safety.
Debug "JsonWebTokenError: invalid signature" in Node.js
Your server is rejecting a JWT with "invalid signature". This happens when the token was tampered with, the secret key mismatches, or the signing algorithm differs.
Fix "curl: (52) Empty reply from server" when sending requests
You are running a curl command and receiving "Empty reply from server". This typically means the connection was established but the server dropped it without sending any HTTP response headers.
Fix "SyntaxError: Unexpected token o in JSON at position 1"
You are seeing `SyntaxError: Unexpected token o in JSON at position 1`. This happens when you call `JSON.parse()` on something that is already a JavaScript object (which gets coerced to the string `"[object Object]"`).
Fix "mapping values are not allowed here" in YAML configs
Your CI/CD pipeline or Docker Compose is failing with `mapping values are not allowed here`. This usually means a colon `:` is missing a space after it, or your indentation is incorrect.
Debug cron job not running at the scheduled time
You set up a background task, but it triggers at midnight instead of noon, or runs every minute instead of once an hour. Cron syntax (`* * * * *`) is notoriously easy to misconfigure.
Fix "ZodError: Expected string, received number" in API validation
Your application crashes at runtime when calling `schema.parse()` because an API returned a number (like `123`) instead of a string (like `"123"`), breaking your strict Zod schema.
Fix "curl: (3) URL using bad/illegal format or missing URL"
When pasting a curl command into Windows CMD or PowerShell, you get an illegal format error. This happens because Windows handles quotes (' vs "") and escaping differently than Unix shells.
Fix "Invalid DOM property `class`. Did you mean `className`?" in React
You copied an SVG from Figma or Illustrator and pasted it into a React component. The console is filled with warnings about `class`, `stroke-width`, and `fill-rule` being invalid DOM properties.
Debug "HMAC signature does not match" in Webhook verification
Your server is rejecting legitimate incoming webhooks because the computed HMAC signature doesn't match the one sent in the headers (e.g., `x-hub-signature-256`).
Fix "data must NOT have additional properties" in JSON Schema
Your payload validation fails with "data must NOT have additional properties". Your schema enforces `additionalProperties: false`, but the JSON being sent contains extra fields.
Fix "data must be array" in JSON Schema
You are encountering a validation error stating "data must be array". Your JSON data is structured as an object `{}` when the schema expects a list `[]`.
Fix "EntityRef: expecting ';'" parsing error in XML
Your XML parser crashes with `EntityRef: expecting ';'`. This happens when you have an unescaped ampersand `&` in your XML data, confusing the parser into thinking it's an HTML entity like `&`.
Fix "syntax error at or near 'SELECT'" in SQL
You are executing a script with multiple SQL statements and getting a syntax error near a keyword like `SELECT` or `INSERT`.
Fix "Syntax Error: Expected Name, found <EOF>" in GraphQL
Your GraphQL query fails with `Expected Name, found <EOF>`. This means the query string ended unexpectedly, usually due to a missing closing brace `}`.
Fix "CSS minification error: Unexpected token"
When running a CSS minifier or build process, it fails with "Unexpected token". Your CSS has a syntax error (like a missing closing brace or invalid character) that the minifier cannot parse.
Fix "RangeError: Maximum call stack size exceeded"
Your browser or Node script crashes with `Maximum call stack size exceeded`. This happens during deep recursion, often when mock data schemas reference each other circularly.
Fix "duplicate key value violates unique constraint"
Your database INSERT fails with `duplicate key value violates unique constraint`. You are trying to insert a row using an ID or column value that already exists in the table.
Fix "DOMException: The string to be decoded is not correctly encoded"
Calling `atob()` in JavaScript throws a DOMException. This occurs when the string contains characters outside the base64 alphabet, or if the padding `=` is missing/incorrect.
Fix "Invalid character in base64 string"
Your backend framework throws an "Invalid character in base64 string" error. This usually happens when copying Base64 certificates or tokens that contain newlines `\n` or when the string was URL-encoded (e.g., `%3D` instead of `=`).
Fix "crypto.createHash is not a function"
You are trying to calculate an MD5 or SHA256 hash in a React or Next.js app, and you get `crypto.createHash is not a function`. The Node.js `crypto` module is not available in the browser.
Fix "TypeError: Data must be a string or a buffer"
When calling `hash.update(data)`, you receive a TypeError. This occurs because hashing algorithms only operate on raw bytes (strings or buffers), but you passed an object, array, or number.
Fix "bcrypt.compareSync returns false for correct password"
A user is trying to log in with the correct password, but `bcrypt.compare()` always returns false. This often happens if the password exceeds 72 bytes, or if it was accidentally hashed twice during registration.
Fix "unable to get local issuer certificate" in Node.js
Your HTTP request fails with `UNABLE_TO_GET_ISSUER_CERT_LOCALLY`. Node.js cannot verify the server's SSL certificate because it lacks the root CA or the server didn't send the intermediate certificates.
Fix "Permission denied (publickey)" SSH Error
When running `ssh user@host` or `git push`, you receive `Permission denied (publickey)`. The remote server rejected your connection because it doesn't recognize your key or the SSH agent isn't offering the right one.
Fix "cannot unmarshal string into Go struct field of type int"
Your Go application panics with `json: cannot unmarshal string into Go struct field...`. The API returned a string (e.g., `"123"`) but your Go struct defined the field as an `int`.
Fix "net/http: request canceled (Client.Timeout exceeded)"
Your Go HTTP request fails with `Client.Timeout exceeded while awaiting headers`. The remote server took longer to respond than the `Timeout` specified in your `http.Client`.
Fix "Invalid Date" in JavaScript Date Parsing
You pass a string or timestamp into `new Date()` and it evaluates to `Invalid Date`. This frequently happens when passing Unix epochs in seconds instead of milliseconds, or parsing non-ISO 8601 strings (like `YYYY-DD-MM`).
Fix "time out of range" / Year 50000+ bugs
Your parsed dates are showing up as the year 54,000 or you receive a "time out of range" exception in your language of choice. This happens when you pass nanoseconds or microseconds into a function expecting milliseconds.
Fix "SyntaxError: Invalid regular expression"
Creating a RegExp object throws `SyntaxError: Invalid regular expression`. This occurs when you dynamically pass user input into `new RegExp()` without escaping special regex characters (like `[`, `(`, `*`, `?`).
Fix "Git merge conflict markers found"
Your build fails or your IDE shows syntax errors because your file contains `<<<<<<< HEAD` and `======`. This happens when a git merge or rebase fails automatically and requires manual intervention.
Fix "Invalid CIDR notation" / Invalid subnet mask
Your cloud provider (AWS, GCP) or network script rejects your IP range with "Invalid CIDR notation". This happens when the routing prefix exceeds /32 for IPv4, or if the base IP address is not the actual network address for the given mask.
Fix "Expected double-quoted property name in JSON"
Your JSON parser throws "Expected double-quoted property name". You are likely using JavaScript object literal syntax (like single quotes or unquoted keys) which is strictly forbidden in the JSON spec.
Fix "did not find expected key while parsing a block mapping"
Your YAML parser crashes with `did not find expected key`. This almost always means your indentation levels are mixed up. A child element is indented less than or equal to its parent, breaking the block mapping.
Fix "TokenExpiredError: jwt expired"
Your API calls are failing with a 401 Unauthorized and `TokenExpiredError: jwt expired`. The `exp` claim in the JSON Web Token is in the past.
Fix "cron expression has 6 parts but expected 5"
Your cron parser throws an error because you provided 6 fields (e.g., `* * * * * *`) instead of 5. You are likely trying to schedule at the "seconds" level, but standard UNIX cron only goes down to the "minute" level.
Fix "Property does not exist on type"
TypeScript throws `Property 'x' does not exist on type 'Y'`. You are trying to access a field from an API response, but your TypeScript interface doesn't define that field.
Fix "Expected corresponding JSX closing tag"
React fails to compile with `Expected corresponding JSX closing tag for <path>`. HTML/SVG allows self-closing tags without a trailing slash (like `<path d="...">`), but JSX strictly requires all tags to be closed (e.g., `<path d="..." />`).
Fix "TypeError: Key must be a buffer"
When calling `crypto.createHmac()`, Node.js throws `TypeError: Key must be a buffer`. This happens because the secret key you passed is `undefined`, usually due to a missing environment variable.
Fix "self signed certificate in certificate chain"
Your app throws `self signed certificate in certificate chain`. This happens frequently in corporate networks that use SSL interception proxies, or when testing against local dev servers with self-signed certs.