# Errordex — Complete Error Guide Index > Every error guide on errordex.in with its one-paragraph fix. For the curated summary, see /llms.txt. > 114 error guides across 24 stacks. Editor: Bikram Nath. Contact: 31nathbikram@gmail.com. ## aws (3 errors) > AWS SDK, IAM, Lambda, and CLI errors. ### [AccessDenied: AccessDenied: user is not authorized to perform ](https://errordex.in/aws/access-denied) The IAM user or role making the request doesn't have the required permission. Read the full error — AWS tells you exactly which action was denied (e.g., "s3:PutObject"). Attach a policy granting that action to the user or role. ### [NoCredentialsError: NoCredentialsError — no AWS credentials found](https://errordex.in/aws/no-credentials) The AWS SDK searched all credential sources and found nothing. Fix: run aws configure to set up ~/.aws/credentials, set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, or attach an IAM role if running on EC2/Lambda/ECS. ### [Task timed out: Task timed out — Lambda exceeded execution limit](https://errordex.in/aws/lambda-timeout) Your Lambda function ran longer than its configured timeout (default: 3 seconds, max: 900 seconds). Either increase the timeout in the function configuration, or optimize the function to run faster — common culprits are cold starts, slow external API calls, and unoptimized database queries. ## cs2 (3 errors) > CS2 connection, VAC, and crash errors. ### [VAC: VAC Authentication Error](https://errordex.in/cs2/vac-authentication-error) Close CS2 completely, open Steam, go to Steam menu then Settings then Downloads then Clear Download Cache. Then right-click CS2 in your library, select Properties, Installed Files, and click Verify Integrity of Game Files. Restart Steam and launch CS2. Fixes most VAC auth failures. ### [CONN: Connection to matchmaking servers not reliable](https://errordex.in/cs2/connection-failed) Open Command Prompt as Administrator and run ipconfig /flushdns followed by netsh winsock reset. Restart your computer, then restart your router by unplugging it for 30 seconds. Launch Steam and try matchmaking again. This clears stale DNS entries and resets your network stack, which fixes the majority of cases. ### [FILE: Missing file privileges](https://errordex.in/cs2/missing-file-privileges) Right-click Steam in your taskbar and select Exit, then right-click the Steam desktop shortcut and choose Run as Administrator. Navigate to your library, right-click CS2, select Properties, then Installed Files, then click Verify Integrity of Game Files. Once complete, try launching CS2 again. Running as admin resolves most file privilege issues. ## c# (5 errors) > C# .NET runtime exceptions and compiler errors. ### [NullReferenceException: NullReferenceException: object reference is null](https://errordex.in/csharp/csharp-nullreferenceexception) Use the null-conditional operator (?.) to safely access members, or add a null check before accessing the object. In .NET 6+, enable nullable reference types to get compile-time warnings. ### [IndexOutOfRangeException: IndexOutOfRangeException: index was outside array bounds](https://errordex.in/csharp/csharp-indexoutofrangeexception) Check the array or list bounds before accessing by index. Use `array.Length` (for arrays) or `list.Count` (for List) as the upper bound guard. Ensure index >= 0 and index < Length/Count. ### [ArgumentNullException: ArgumentNullException: value cannot be null](https://errordex.in/csharp/csharp-argumentnullexception) Use ArgumentNullException.ThrowIfNull(param) in .NET 6+ at the top of your method, or throw new ArgumentNullException(nameof(param)) in earlier versions. Then fix the call site that is passing null. ### [FormatException: FormatException: input string format is invalid](https://errordex.in/csharp/csharp-formatexception) Replace int.Parse(s) with int.TryParse(s, out int result). TryParse returns false on failure without throwing, letting you handle invalid input gracefully. ### [InvalidCastException: InvalidCastException: specified cast is not valid](https://errordex.in/csharp/csharp-invalidcastexception) Use the `as` operator instead of a direct cast for reference types — it returns null on failure instead of throwing. For value types, use `is` pattern matching to check the type before casting. ## docker (3 errors) > Docker build, run, and compose errors. ### [no space left: No space left on device during docker build](https://errordex.in/docker/no-space-left-on-device) Docker's storage directory is full of old images, stopped containers, and build cache. Reclaim space with `docker system prune -af --volumes` — this usually frees several GB instantly. ### [ARG not set: ARG not set — empty substitution in Dockerfile](https://errordex.in/docker/build-arg-not-set) Your Dockerfile declares ARG but you didn't pass --build-arg at build time, so it evaluates to an empty string. Either pass it with docker build --build-arg VAR=value or set a default in the Dockerfile with ARG VAR=default_value. ### [context canceled: context canceled — operation interrupted](https://errordex.in/docker/context-canceled) Docker canceled the operation before it finished. Common causes: low disk space, unstable network during pull, Docker Desktop running out of memory, or the build exceeding a CI timeout. Free disk space with docker system prune, check your network, and retry. ## fortnite (1 error) > Fortnite launcher + matchmaking errors. ### [DP-01: Couldn't sign in — Epic Games services](https://errordex.in/fortnite/error-dp-01) Sign out of the Epic Games Launcher completely, restart it, and sign back in. Clears the cached auth token that's usually the cause. Works for 85% of DP-01 reports. ## git (3 errors) > Git, merge, and remote errors. ### [CONFLICT: CONFLICT — merge conflict requires manual resolution](https://errordex.in/git/merge-conflict) Two branches changed the same lines in the same file. Git inserted <<<<<<< / ======= / >>>>>>> markers showing both versions. Open the file, decide which version to keep (or combine both), remove the markers, then git add the file and git commit. ### [detached HEAD: detached HEAD — commits not on any branch](https://errordex.in/git/detached-head) You checked out a specific commit, tag, or remote branch instead of a local branch. Any commits you make here aren't on a branch and will eventually be garbage-collected. Fix: run git checkout -b my-branch to create a branch at your current position. ### [no upstream: No upstream branch set for the current branch](https://errordex.in/git/no-upstream-branch) Your local branch has no tracking relationship to a remote branch. Use `git push -u origin ` (or just `git push -u origin HEAD`) to push and set the upstream in one command. ## go (5 errors) > Go runtime panics, compiler errors, and concurrency bugs. ### [runtime error: invalid memory address or nil pointer dereference: nil pointer dereference](https://errordex.in/go/nil-pointer-dereference) Your code is accessing a field or calling a method on a pointer variable that is nil. The stack trace in the panic message names the exact file and line. Add a nil check before dereferencing any pointer returned from a function that can return nil. ### [runtime error: index out of range: index out of range [N] with length M](https://errordex.in/go/index-out-of-range) You accessed a slice, array, or string at an index that is >= its length. Go's error message tells you the exact index and the length. Check that your loop or index calculation stays within `[0, len(slice)-1]`. Always check `len(s) > 0` before accessing `s[0]`. ### [all goroutines are asleep - deadlock!: all goroutines are asleep - deadlock!](https://errordex.in/go/goroutine-deadlock) Go's runtime detected that all goroutines are blocked and the program can never make progress. Read the goroutine dump in the error output — each blocked goroutine shows what it's waiting on. The most common cause is an unbuffered channel send with no receiver, or a mutex locked twice by the same goroutine. ### [interface conversion: interface {} is X, not Y: interface conversion: interface is X, not Y](https://errordex.in/go/interface-conversion) A type assertion `v.(T)` panics if the interface value's concrete type is not `T`. Use the two-return form `v, ok := x.(T)` — if `ok` is false, the assertion failed without panicking, and `v` is the zero value of T. ### [undefined: X: undefined: X (variable or symbol not found)](https://errordex.in/go/undefined-variable) The identifier you're using doesn't exist in the current scope. Either you forgot to declare it, misspelled it, or it's in a different package that isn't imported. Check the spelling, confirm the variable is declared in the same or enclosing scope, and verify any required package is imported. ## http (10 errors) > HTTP status codes — root causes and fixes for 400, 401, 403, 404, 429, 500, 502, 503, 504, and CORS errors. ### [500: 500 Internal Server Error](https://errordex.in/http/500-internal-server-error) Something crashed on the server. The client can do nothing — the fix is on the server side. Check the server's error logs immediately. The 500 response itself rarely contains useful debugging info (for security reasons), but the server logs will have the full stack trace. ### [CORS: CORS: Access-Control-Allow-Origin error](https://errordex.in/http/cors-error) The browser is blocking the request because the server's response is missing the `Access-Control-Allow-Origin` header matching your frontend's origin. The fix is always on the server — add the correct CORS headers. Never use `*` in production with credentials. ### [404: 404 Not Found](https://errordex.in/http/404-not-found) The server found no resource at the given URL. Verify the URL is correct, the route exists on the server, and the resource hasn't been deleted or moved. For SPAs, ensure your server returns the index.html for all routes instead of letting the file system handle them. ### [401: 401 Unauthorized](https://errordex.in/http/401-unauthorized) The server requires valid authentication credentials and did not receive them. Check that your Authorization header is present, correctly formatted (`Bearer `), and that the token hasn't expired. The `WWW-Authenticate` response header tells you the expected auth scheme. ### [403: 403 Forbidden](https://errordex.in/http/403-forbidden) The server recognized your credentials but your account lacks permission for this resource. Check that your role or API key has the required permissions, the resource exists and belongs to your account, and no IP allowlist or CORS policy is blocking the request. ### [400: 400 Bad Request](https://errordex.in/http/400-bad-request) The server understood your request but rejected it because the syntax was invalid. Check the request body for malformed JSON, missing required fields, or invalid header values. Use the response body — it often names the exact field that failed validation. ### [502: 502 Bad Gateway](https://errordex.in/http/502-bad-gateway) Your reverse proxy (Nginx, AWS ALB, Cloudflare) couldn't get a valid response from the backend server. Check that the backend is running and listening on the correct port. Most 502s resolve by restarting the crashed backend process. ### [429: 429 Too Many Requests](https://errordex.in/http/429-too-many-requests) You've sent too many requests in too short a time. Check the `Retry-After` and `X-RateLimit-*` response headers to see when the window resets, then back off and retry. Never hammer an endpoint after a 429 — it worsens the situation and may trigger an IP ban. ### [503: Service Unavailable — server can't handle request right now](https://errordex.in/http/503-service-unavailable) HTTP 503 means the server is alive but temporarily unable to serve requests — usually because it's overloaded, restarting, or behind a load balancer that has no healthy backends. If you control the server, check process health, connection pool exhaustion, and upstream dependency availability. If you're a client, retry with exponential backoff and respect the Retry-After header if present. ### [504: Gateway Timeout — upstream server took too long to respond](https://errordex.in/http/504-gateway-timeout) HTTP 504 means a reverse proxy, load balancer, or CDN forwarded your request to a backend server, but the backend didn't respond before the proxy's timeout expired. The backend is alive (otherwise you'd get 502 or 503) but too slow. Fix by identifying the slow operation (database query, external API call, file processing), optimizing it, or increasing the proxy timeout if the operation legitimately takes longer than the default. ## java (6 errors) > Java runtime + JVM exceptions. ### [NullPointerException: NullPointerException: Cannot invoke method on null](https://errordex.in/java/java-nullpointerexception) Add a null check before accessing the variable, or use Optional.ofNullable() to safely handle potentially null values. ### [StackOverflowError: StackOverflowError: thread call stack exhausted](https://errordex.in/java/java-stackoverflowerror) Find the recursive method in the stack trace (it will appear dozens of times). Identify the missing or unreachable base case and add it, or convert the recursion to an iterative loop using an explicit stack. ### [ArrayIndexOutOfBoundsException: ArrayIndexOutOfBoundsException: index out of range](https://errordex.in/java/java-arrayindexoutofboundsexception) Check the array length before accessing by index: use `array.length` as the upper bound in loops, and ensure index >= 0 and index < array.length before any direct access. ### [ClassNotFoundException: ClassNotFoundException: cannot find class at runtime](https://errordex.in/java/java-classnotfoundexception) Add the missing JAR to your build tool dependency (Maven/Gradle) or verify the classpath includes the directory or JAR that contains the class named in the exception message. ### [NumberFormatException: NumberFormatException: invalid numeric string](https://errordex.in/java/java-numberformatexception) Wrap the parse call in a try-catch or validate the string with a regex/null check before calling Integer.parseInt(). For optional numeric input, provide a default value on failure. ### [OutOfMemoryError: Java heap space out of memory](https://errordex.in/java/outofmemoryerror) The JVM hit its -Xmx (max heap) limit. Either your app genuinely needs more memory (raise -Xmx), or you have a memory leak (objects retained beyond their useful life). Capture a heap dump to tell the difference. ## javascript (5 errors) > JavaScript runtime errors, type errors, and browser console exceptions. ### [TypeError: Cannot read properties of undefined: TypeError: Cannot read properties of undefined/null](https://errordex.in/javascript/javascript-typeerror-cannot-read-properties) Use optional chaining (?.) to safely access nested properties: `user?.address?.city` returns undefined instead of throwing when any part is null or undefined. ### [UnhandledPromiseRejection: UnhandledPromiseRejectionWarning: Promise rejected with no handler](https://errordex.in/javascript/javascript-promise-rejection-unhandled) Add a .catch() handler to every Promise chain, or wrap async/await code in a try-catch block. Every async operation that can fail must have an error handler. ### [ReferenceError: X is not defined: ReferenceError: variable is not defined](https://errordex.in/javascript/javascript-referenceerror-not-defined) Declare the variable with `let`, `const`, or `var` before using it, or add the correct `import` statement for the module that contains the function/class you are trying to use. ### [RangeError: Maximum call stack size exceeded: RangeError: Maximum call stack size exceeded](https://errordex.in/javascript/javascript-rangeerror-maximum-call-stack) Find the recursive function in the stack trace (it will repeat many times). Add or fix the base case, or convert the recursion to an iterative loop. For JSON.stringify circular reference errors, use a replacer function. ### [SyntaxError: Unexpected token: SyntaxError: Unexpected token in JavaScript](https://errordex.in/javascript/javascript-syntaxerror-unexpected-token) For JSON.parse() errors, validate the string is valid JSON (try jsonlint.com or JSON.stringify then parse it back). For source code errors, check the line number in the stack trace for mismatched brackets, missing commas, or unsupported syntax. ## kubernetes (3 errors) > kubectl, pod, and CrashLoopBackOff errors. ### [CrashLoopBackOff: Pod keeps crashing and restarting](https://errordex.in/kubernetes/crashloopbackoff) Your pod's main process keeps exiting. Run `kubectl logs --previous` to see the last crashed container's output — the real error is there. Common causes: wrong command, missing env var, OOMKilled, failed liveness probe. ### [ImagePullBackOff: ImagePullBackOff — pod can't pull image](https://errordex.in/kubernetes/imagepullbackoff) The kubelet on the node can't pull your container image. Check three things in order: (1) the image name and tag are correct and exist in the registry, (2) the pod has imagePullSecrets for private registries, (3) the node has network access to the registry. ### [OOMKilled: OOMKilled — container killed for exceeding memory limit](https://errordex.in/kubernetes/oomkilled) OOMKilled means the Linux kernel's Out-Of-Memory killer terminated your container because it exceeded its memory limit (spec.containers[].resources.limits.memory). Either the limit is too low for the workload, or the application has a memory leak. Check the actual memory usage with kubectl top pod, then either increase the limit or fix the leak. ## minecraft (3 errors) > Minecraft launcher + mod + network errors. ### [EXIT1: Exit Code 1 — crash on launch](https://errordex.in/minecraft/exit-code-1) Open your launcher, go to the crashing profile's settings, and make sure the correct Java version is selected. Minecraft 1.17+ requires Java 17 or newer. If you have mods installed, remove them all and add them back one at a time to find the broken one. ### [OOM: OutOfMemoryError — RAM allocation crash](https://errordex.in/minecraft/out-of-memory) Open your Minecraft launcher, go to the crashing installation's settings, click 'More Options,' and change the JVM argument -Xmx2G to -Xmx4G (or -Xmx6G for heavy modpacks). This doubles the RAM Minecraft is allowed to use and fixes the crash immediately. ### [NETTY: Can't connect to server — connection timed out](https://errordex.in/minecraft/io-netty-timeout) Verify the server IP and port are correct, then check if the server is online using mcsrvstat.us. If it is online, temporarily disable your firewall or antivirus and retry. Most ConnectTimeoutException cases are a wrong address or blocked port 25565. ## mysql (3 errors) > MySQL error codes and SQLSTATE values. ### [1213: Deadlock found — transaction automatically rolled back](https://errordex.in/mysql/deadlock) Error 1213 means two or more transactions each hold a lock that the other needs, creating a circular wait. InnoDB detects this and rolls back the transaction with the fewest changes (the 'victim'). The fix: retry the rolled-back transaction (it will succeed now that the other transaction completed), then prevent future deadlocks by ensuring all transactions lock rows in the same order. ### [1205: 1205 Lock wait timeout exceeded — row lock contention](https://errordex.in/mysql/lock-wait-timeout) Your transaction tried to acquire a row lock but another transaction has been holding it too long (default: 50 seconds). Find the blocking transaction with SHOW ENGINE INNODB STATUS, then either kill it or optimize your transactions to be shorter. ### [1045: Access denied for user (using password: YES)](https://errordex.in/mysql/error-1045) The MySQL user/password combo is invalid, OR the user exists but isn't allowed to connect from your host. First confirm the credentials, then check if a user exists for the host you're connecting from. ## nextjs (8 errors) > Next.js App Router + build + runtime errors. ### [Module not found: Can't resolve: Module not found](https://errordex.in/nextjs/module-not-found) The bundler can't resolve the import path. Three causes: package not installed, wrong relative path, or tsconfig paths alias misconfigured. Check pnpm list for the package, verify the file exists at that exact case-sensitive path, and confirm tsconfig.json paths match next.config.js. ### [Hydration failed: Hydration failed — server/client HTML mismatch](https://errordex.in/nextjs/hydration-failed) Something in your component renders differently on the server vs the first client render. Top suspects: new Date(), Math.random(), window.*, localStorage, or invalid HTML nesting (div inside p, etc.). Move client-only code into useEffect or gate it with a useState flag. ### [ServerComponentError: ServerComponentError — client API used in Server Component](https://errordex.in/nextjs/server-component-error) You used a React hook (useState, useEffect, useRef), an event handler (onClick, onChange), or a browser API (window, document, localStorage) in a Server Component. Add 'use client' at the top of the file to make it a Client Component, or extract only the interactive part into a separate Client Component file. ### [DynamicServerError: DynamicServerError — route uses dynamic APIs in static context](https://errordex.in/nextjs/dynamic-server-usage) A route marked for static rendering called a dynamic API like cookies(), headers(), or accessed searchParams. Either add export const dynamic = 'force-dynamic' to opt the route into dynamic rendering, or move the dynamic API call into a Client Component that reads the value at runtime instead of build time. ### [Error occurred prerendering page: Static generation failed](https://errordex.in/nextjs/static-generation-error) Build-time prerender threw an error. The console shows the underlying cause - usually a fetch that fails in the build environment, missing env var, or a server component that uses request-scoped data without opting into dynamic rendering. Fix the inner error or convert the route to dynamic. ### [ImageOptimizationError: ImageOptimizationError — next/image cannot optimize the source](https://errordex.in/nextjs/image-optimization-error) The next/image component cannot optimize the image because the source URL hostname is not in remotePatterns, the width/height props are missing for external images, or you are deploying to a platform that does not support the default image optimizer. Add the hostname to next.config.js remotePatterns, provide explicit dimensions, or set a custom loader. ### [NEXT_NOT_FOUND: NEXT_NOT_FOUND — notFound() or missing not-found.tsx boundary](https://errordex.in/nextjs/not-found-error) Either notFound() was called explicitly in a page/layout and no not-found.tsx boundary exists to catch it, or a catch-all route is swallowing URLs that should 404. Create app/not-found.tsx for the global 404 page, add segment-level not-found.tsx files where needed, and review catch-all [...slug] routes that may match unintended paths. ### [MiddlewareError: MiddlewareError — middleware compilation or runtime failure](https://errordex.in/nextjs/middleware-error) Middleware runs in the Edge Runtime, which does not support Node.js APIs like fs, path, crypto (full), or Buffer. Remove Node.js imports, use only Web APIs (fetch, Response, URL, crypto.subtle), fix your matcher config syntax, and check for redirect loops where middleware redirects to a path that also triggers the middleware. ## node (6 errors) > Node.js runtime, module, and async errors. ### [EADDRINUSE: Port already in use](https://errordex.in/node/eaddrinuse) Some process is already bound to your target port. Find its PID with lsof -iTCP:PORT -sTCP:LISTEN, kill it, then restart. If the port lingers in TIME_WAIT after a crash, set the SO_REUSEADDR equivalent or wait 60-120 seconds. ### [ERESOLVE: ERESOLVE unable to resolve dependency tree](https://errordex.in/node/eresolve) A package requires a peer-dependency version that conflicts with another package in your tree. Try `npm install --legacy-peer-deps` to restore npm-6 behaviour, or update the conflicting packages to compatible versions. ### [ERR_REQUIRE_ESM: require() of ES Module not supported](https://errordex.in/node/err-require-esm) A CommonJS module called require() on an ESM-only package. Two fixes: (1) convert your file to ESM by setting type: module in package.json and using import; (2) use dynamic import() inside your CJS code: const pkg = await import('esm-only').then(m => m.default). ### [ECONNREFUSED: Connection refused](https://errordex.in/node/econnrefused) Nothing is listening on the host:port you connected to, or a firewall sent a TCP RST. Check the target service is actually up: nc -zv host port. Then verify the address (localhost vs 127.0.0.1 vs container hostname) matches where the service binds. ### [EMFILE: Too many open files](https://errordex.in/node/emfile) Your process has hit the OS file descriptor limit. As a quick unblock, raise ulimit -n to 65536 in your shell. The real fix is to find the FD leak: log lsof -p PID counts over time, then close the file/socket/stream that keeps growing. ### [engine "node" mismatch: Engine version mismatch](https://errordex.in/node/version-mismatch) A package in your dependency tree declares an engines.node range your installed Node does not satisfy. Read the required version from the error, switch with nvm use 22 or fnm use 22, then reinstall. Pin the version in .nvmrc and engines so this stops repeating. ## php (5 errors) > PHP fatal errors, warnings, and common runtime exceptions. ### [Undefined index: Warning: Undefined index / array key](https://errordex.in/php/php-undefined-index) Use the null coalescing operator (??) to provide a default value: `$value = $array['key'] ?? 'default';`. This replaces the three-line isset() check with a single expression. ### [Call to undefined function: Fatal error: Call to undefined function](https://errordex.in/php/php-call-to-undefined-function) Check the function name for typos, confirm the required PHP extension is loaded (`php -m`), and verify the function is in scope (correct namespace or `use` statement). ### [Class not found: Fatal error: Class not found / not found in ...](https://errordex.in/php/php-class-not-found) Run `composer dump-autoload` to regenerate the class map, then verify that the namespace in the class file matches the `use` statement and the directory structure follows PSR-4 conventions. ### [Maximum execution time exceeded: Fatal error: Maximum execution time of N seconds exceeded](https://errordex.in/php/php-maximum-execution-time) For legitimate long-running scripts (imports, exports, batch processing), call `set_time_limit(0)` at the start to disable the limit. For unexpectedly slow scripts, profile to find the bottleneck — usually a slow database query, an N+1 loop, or an unindexed data set. ### [DivisionByZeroError: DivisionByZeroError: division by zero](https://errordex.in/php/php-division-by-zero) Check that the divisor is not zero before the division or modulo operation. For intdiv() and %, PHP throws DivisionByZeroError. For the / operator with floats, PHP returns INF or NAN instead of throwing. ## postgres (3 errors) > PostgreSQL error codes + pg_hba quirks. ### [ECONNREFUSED: Connection refused — can't reach PostgreSQL server](https://errordex.in/postgres/connection-refused) Connection refused means nothing is listening on the PostgreSQL port (default 5432). Either the PostgreSQL server isn't running, it's listening on a different port or interface, or a firewall is blocking the connection. Check if PostgreSQL is running with pg_isready, verify the port and listen_addresses in postgresql.conf, and check pg_hba.conf if the server is running but rejecting connections. ### [too many connections: sorry, too many clients already](https://errordex.in/postgres/too-many-connections) Your app is opening more connections than Postgres' max_connections setting allows (default 100). Install pgbouncer in front of Postgres to pool connections — this is the industry-standard fix, not raising max_connections. ### [40P01: 40P01 deadlock detected — circular lock wait](https://errordex.in/postgres/deadlock-detected) Two transactions each hold a lock the other needs, creating a circular wait. PostgreSQL's deadlock detector killed one transaction (yours) to break the cycle. Fix: ensure all transactions acquire locks in the same order (e.g., always lock rows by ascending ID), keep transactions short, and retry the failed transaction. ## python (12 errors) > Python exceptions and traceback fixes. ### [ModuleNotFoundError: No module named 'X' — import fails](https://errordex.in/python/module-not-found-error) The package isn't installed in the Python interpreter you're running. Install it with pip (inside your activated virtualenv), or confirm you're running the right Python. ### [TypeError: TypeError: unsupported operand type for +/- /...](https://errordex.in/python/typeerror) Python's operators have type-specific behaviour. When you write a + b and Python can't find an __add__ method on a's type that accepts b's type (or a __radd__ on b's type that accepts a's), it raises TypeError. Convert one side to match the other - typically str(x) for concatenation or int(x) for arithmetic. ### [AttributeError: AttributeError - object has no attribute X](https://errordex.in/python/attributeerror) An object doesn't have the attribute or method you accessed. The most common case is 'NoneType' has no attribute X, which means a function or expression you expected to return an object actually returned None. Trace the None back to its source and fix that, not the access site. ### [FileNotFoundError: No such file or directory](https://errordex.in/python/filenotfounderror) Python tried to open a path that doesn't exist. Print the absolute path being opened and your current working directory. The fix is almost always: build the path from a known anchor like __file__ or pathlib.Path.cwd(), not a bare relative string. ### [KeyError: KeyError: 'X' - missing dictionary key](https://errordex.in/python/keyerror) You accessed a dict key that doesn't exist. Use d.get('key') to return None instead of raising, d.get('key', default) to return a fallback, or check with 'key in d' before subscripting. ### [ValueError: ValueError: invalid literal - cannot convert value](https://errordex.in/python/valueerror) A function got an argument of the right type but with a value it can't process. Most common: int('abc') - str is the right type for int() but 'abc' isn't parseable. Validate input before conversion, or wrap in try-except ValueError to handle malformed values. ### [IndexError: IndexError: list index out of range](https://errordex.in/python/indexerror) You accessed a list, tuple, or string at an index that doesn't exist. Either the index is too large (>= len(seq)), too negative (< -len(seq)), or the sequence is empty. Check len() before indexing, or use try-except IndexError if missing-index is a normal case. ### [NameError: NameError: name 'X' is not defined](https://errordex.in/python/nameerror) Python can't find a variable, function, or class with that name in the current scope. Check spelling, verify the import statement ran, confirm the variable is defined before use, or that you're not inside a function looking for an enclosing-scope variable. ### [ImportError: Cannot import name from module](https://errordex.in/python/importerror) The module exists but does not expose the name you tried to import. Inspect what it actually exposes with python -c 'import target; print(dir(target))'. Common causes: typo, version mismatch where the symbol moved, or a circular import where the module is half-loaded. ### [SyntaxError: Invalid syntax](https://errordex.in/python/syntaxerror) Python's parser rejected your file before any code ran. The error caret points at where it gave up - the actual mistake is usually one or two characters before. Most common: missing colon after if/for/def, unmatched bracket, or use of a feature added in a newer Python version than you're running. ### [RecursionError: Maximum recursion depth exceeded](https://errordex.in/python/recursionerror) Your code recursed more than 1000 levels deep (the CPython default). Either the base case is missing or wrong, or the function genuinely needs deeper recursion. Most often, convert the recursion to a while-loop with an explicit stack. Raising sys.setrecursionlimit is a workaround, not a fix. ### [ZeroDivisionError: Division by zero](https://errordex.in/python/zerodivisionerror) You divided or used % with zero. Add an explicit guard for the zero case before dividing. For floats, use math.isclose(d, 0) since 1e-300 is non-zero but division still overflows. Returning a sentinel (None, NaN) is usually cleaner than letting the error propagate. ## react (9 errors) > React 19+ errors and invariant violations. ### [#130: Objects are not valid as a React child](https://errordex.in/react/error-130) Wrap the object in JSON.stringify() or access a specific property. React can render strings, numbers, and arrays of JSX — but never raw objects. ### [#185: Maximum update depth exceeded](https://errordex.in/react/error-185) A component is calling setState inside a render or an un-dependency-guarded useEffect. Move the setState call inside an event handler, add the missing dependency, or gate it with a condition. ### [#310: Rendered more hooks than during the previous render](https://errordex.in/react/error-310) A component called more (or fewer) hooks than on its previous render. The most common cause is an early return or a conditional placed above a hook call. Move every hook to the top of the component, before any if-return, loop, or try-catch. ### [#418: Hydration failed because the server rendered HTML didn't match the client](https://errordex.in/react/error-418) The server rendered different HTML than the client would render on the first pass. Find the non-deterministic value (Date.now, Math.random, window.*, user locale) and render it only after mount using useEffect. ### [#425: Text content does not match server-rendered HTML](https://errordex.in/react/error-425) A text node rendered on the server does not match the same text node on the first client render. Move the dynamic value (timestamp, locale string, random ID) into a useEffect or useState that runs only on the client, or wrap the element with suppressHydrationWarning if the divergence is intentional. ### [#426: Switched to client rendering](https://errordex.in/react/error-426) Server-side rendering bailed and React rendered the page on the client instead. The console shows the underlying error - usually a server-only crash, a Suspense that never resolved, or an SSR timeout. Fix the underlying error; #426 is a symptom, not a cause. ### [#300: Component suspended on synchronous input](https://errordex.in/react/error-300) A component called a Suspense-aware data hook (use, useSWR with suspense, React Query suspense) inside a synchronous update path. Wrap the state setter that triggered the render in startTransition, or hoist the data fetch into a parent Suspense boundary so the loading fallback handles it. ### [#423: Error during concurrent rendering, switched to client rendering](https://errordex.in/react/error-423) A component threw during server rendering, forcing React to abandon SSR for that subtree and render it on the client only. Find the throwing component (the warning includes a stack), wrap it in an Error Boundary, and fix the underlying exception so SSR works again. ### [#421: Suspense updated before hydrating](https://errordex.in/react/error-421) A state update fired against a Suspense boundary before React finished hydrating it. The fix: defer client-only updates until after mount with useEffect, or wrap them in startTransition so React waits for hydration before applying. ## roblox (3 errors) > Roblox client + connection errors. ### [267: Kicked from game server](https://errordex.in/roblox/error-code-267) Close Roblox completely, restart it, and rejoin the game. If you were kicked by the game's anti-cheat script, check you don't have any browser extensions or overlay programs that inject into Roblox. Clearing your browser cache also helps if you play via the web. ### [279: Failed to connect to game](https://errordex.in/roblox/error-code-279) Check if Roblox is down at status.roblox.com. If servers are fine, restart your router, then try joining again. Error 279 is almost always a network issue between your device and the Roblox game server — restarting your internet connection fixes it most of the time. ### [403: Authentication error](https://errordex.in/roblox/error-code-403) Log out of Roblox completely (both the app and roblox.com in your browser), clear your browser cookies for roblox.com, then log back in with your username and password. This refreshes your authentication token, which is what Error 403 is complaining about. ## rust (5 errors) > Rust borrow checker, lifetime, and ownership errors. ### [E0502 / E0505 / E0596: borrow checker: cannot borrow as mutable while borrowed](https://errordex.in/rust/borrow-checker-error) Rust's borrow checker enforces: at any time, you can have either one mutable reference OR any number of immutable references to the same data — never both. Restructure your code so borrows don't overlap. The error message shows exactly which borrow conflicts with which. ### [E0382: E0382: use of moved value](https://errordex.in/rust/ownership-moved) Once a value is moved into a variable or function, the original binding is invalidated — Rust has a single-owner rule. Fix by: (1) passing a reference `&val` instead of moving `val`, (2) calling `.clone()` before moving if you need to keep a copy, or (3) using a `Copy` type (integers, booleans) which copy automatically. ### [E0277: E0277: trait X is not implemented for Y](https://errordex.in/rust/trait-not-implemented) A function, operator, or constraint requires your type to implement a trait it doesn't have. Add `#[derive(...)]` for traits that can be automatically derived (Debug, Clone, PartialEq, etc.), or implement the trait manually for types that need custom behavior. ### [E0106 / E0597 / E0623: missing lifetime specifier / does not live long enough](https://errordex.in/rust/lifetime-error) Rust lifetime annotations tell the compiler how long references must remain valid. If you see 'does not live long enough', a reference is outliving the data it points to. If you see 'missing lifetime specifier', add a lifetime parameter `'a` to connect input and output references. Own the data (use `String` instead of `&str`) as the simplest fix. ### [index out of bounds: the len is N but the index is M: index out of bounds: len is N, index is M](https://errordex.in/rust/index-out-of-bounds) You accessed a Vec or slice at an index >= its length. Use `.get(index)` which returns `Option<&T>` instead of panicking. Always check bounds before direct indexing, or use iterators which handle bounds automatically. ## steam (1 error) > Steam client, store, and download errors. ### [-118: Unable to connect to server — store/community pages fail](https://errordex.in/steam/error-118) First check steamstat.us to rule out a Steam-side outage. If Steam is up, disable IPv6 on your network adapter — this resolves 70% of Error -118 reports. ## typescript (8 errors) > TypeScript compiler errors and type-system diagnostics. ### [TS2322: Type is not assignable](https://errordex.in/typescript/ts2322) TypeScript found a type that doesn't fit the slot it's being assigned to. Read which property differs: the error names both types and points at the divergence. Fix one of three ways: narrow the source type with a type guard, change the target type, or add the missing property/null check. ### [TS2339: Property does not exist on type](https://errordex.in/typescript/ts2339) TypeScript thinks the property doesn't exist on the value's type. Three causes: the type is wider than expected (a union missing a narrowing branch), the type definition is genuinely missing the property, or the value is typed 'unknown'/'never'. Add a type guard, fix the type, or assert after validation. ### [TS2304: Cannot find name](https://errordex.in/typescript/ts2304) TypeScript can't find a name in scope. Three causes: missing import, missing @types package, or wrong tsconfig.json 'lib' setting. Auto-import in your IDE usually fixes it; if not, install the @types package or add the global to tsconfig lib. ### [TS2345: Argument not assignable to parameter](https://errordex.in/typescript/ts2345) TypeScript checked your function call and the argument's type doesn't match the parameter's declared type. Read the error to see which types conflict. Fix by narrowing the argument with a type guard, providing a default value, or updating the function signature to accept the broader type. ### [TS2307: Cannot find module](https://errordex.in/typescript/ts2307) TypeScript can't find the module you're importing. Either the package isn't installed, the type declarations are missing, or the import path is wrong. Run npm install for the package, install @types/packagename if types are separate, or check your tsconfig.json moduleResolution setting. ### [TS2532: Object is possibly undefined](https://errordex.in/typescript/ts2532) TypeScript sees a value that could be undefined and you're trying to use it as if it always exists. Add a null check before accessing the value, use optional chaining (?.) if the result can be undefined, or use the non-null assertion (!) if you're certain the value exists at runtime. ### [TS7006: Parameter implicitly has any type](https://errordex.in/typescript/ts7006) TypeScript can't figure out the type of a function parameter and noImplicitAny is enabled. Add an explicit type annotation to the parameter. If the function is a callback, TypeScript usually infers the type from context — check that the callback is passed to a properly typed function. ### [TS2769: No overload matches this call](https://errordex.in/typescript/ts2769) TypeScript tried every overload of the function and none accepted your arguments. The error lists each overload and why it failed. Read the 'Overload X of Y' messages to find which overload you intended, then fix the argument that doesn't match. Usually it's a wrong type, missing argument, or extra argument. ## valorant (1 error) > Valorant connection and anticheat errors. ### [43: Riot Client connection lost during login](https://errordex.in/valorant/error-43) Flush your DNS cache, restart the Riot Client, and reconnect. Works for ~90% of Error 43 reports on the Valorant subreddit in the past 30 days.