Error map
103 HTTP 103 Early Hints
HTTP · layer 2, Network
Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (12)
HTTP 200 OK (but something is still wrong)
The request succeeded at the HTTP level — yet the page is blank, the data is wrong, or an error is hidden inside the response bod…
ERROR: canceling statement due to statement timeout
A query ran longer than statement_timeout and PostgreSQL cancelled it.
CORS Error: No 'Access-Control-Allow-Origin' header is present
The browser blocked a cross-origin request because the server’s response didn’t include the CORS headers allowing your site’s ori…
Cloudflare Error 524: A Timeout Occurred
Cloudflare connected to the origin, but the origin didn’t send an HTTP response within 100 seconds.
Performance: N+1 query problem (one query per row in a loop)
Code runs one query to load a list, then one more query per item — hundreds of queries per page.
Warning: session_start(): Session cannot be started after headers have already been sent
session_start() ran after output was sent, so PHP can’t set the session cookie.
Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. All pooled connections were in use and max pool size was reached.
The application’s connection pool was exhausted — all connections busy or leaked.
HTTP 504 Gateway Timeout
A proxy or gateway waited too long for the upstream server to respond and gave up.
HTTP 304 Not Modified
The cached copy is still valid, so the server sends no body and the client reuses its cache.
HTTP 411 Length Required
The server refuses a request with a body but no Content-Length header.
Unexpected characters at the top of the page / headers already sent by BOM
A UTF-8 byte-order mark (BOM) at the start of a PHP file is sent as output, breaking headers, JSON and images.
HTTP 100 Continue
An interim response telling the client to go ahead and send the request body — normal when the client sent Expect: 100-continue.
Two steps away (36)
HTTP 404 Not Found
The server can’t find anything at the requested URL.
SyntaxError: Unexpected token < in JSON at position 0
`JSON.parse()` / `response.json()` received something that isn’t JSON — very often an HTML error page.
GraphQL: Cannot query field "x" on type "Y"
The query asks for a field that doesn’t exist in the server’s schema (or isn’t available on that type).
API Request Timed Out (ETIMEDOUT / ReadTimeout / timeout of 30000ms exceeded)
The client gave up waiting — either for the connection to open or for the response to arrive.
Lock wait timeout exceeded; try restarting transaction (MySQL 1205)
A query waited too long for a row lock held by another transaction and gave up.
AWS Lambda: Task timed out after X seconds
The function ran longer than its configured timeout (default 3 seconds) and Lambda stopped it.
AWS S3: AccessDenied (403) when calling GetObject / PutObject
An IAM policy, bucket policy, ACL/ownership setting, Block Public Access or KMS key policy denied the S3 request.
HTTP 401 Unauthorized
The request has no valid authentication credentials — you need to log in or send a valid token.
HTTP 403 Forbidden
The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…
PHP Fatal error: Maximum execution time of 30 seconds exceeded
The script ran longer than `max_execution_time` and PHP stopped it.
Cloudflare Error 522: Connection Timed Out
Cloudflare’s TCP connection to your origin timed out — the origin didn’t answer at all.
java.util.concurrent.TimeoutException
A Future.get(timeout) or async operation didn’t complete in the allowed time.
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
A lazy-loaded association was accessed after the Hibernate session/transaction closed.
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing
An entity references another entity that hasn’t been saved yet, and no cascade is configured.
org.hibernate.exception.ConstraintViolationException: could not execute statement
The database rejected an insert/update because of a constraint (unique, foreign key, not null).
AWS: ExpiredToken — The security token included in the request is expired
Temporary AWS credentials (STS/SSO/assumed role) have expired.
Warning: Cannot modify header information - headers already sent
You called `header()`, `setcookie()` or `session_start()` after output had already been sent to the browser.
Warning: session_start(): open(/var/lib/php/sessions/sess_x, O_RDWR) failed: Permission denied
PHP can’t write session files to the configured session.save_path.
HikariPool-1 - Connection is not available, request timed out after 30000ms
The connection pool was exhausted — all connections were busy for 30 seconds.
ERROR: out of shared memory — HINT: You might need to increase max_locks_per_transaction.
A transaction took more locks than the lock table can hold — usually touching many tables/partitions at once.
ERROR: prepared statement "s1" already exists (PgBouncer transaction mode)
Named prepared statements collided — typically because PgBouncer in transaction pooling mode hands connections between clients.
HTTP 408 Request Timeout
The server closed the connection because the client took too long to send the complete request.
HTTP 500 Internal Server Error
The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.
HTTP 502 Bad Gateway
A proxy or gateway (Nginx, load balancer, CDN) got an invalid response — or no response — from the upstream server behind it.
HTTP 301 Moved Permanently
The resource has a new permanent URL; clients and search engines should use the address in the Location header from now on.
HTTP 412 Precondition Failed
A conditional request header (If-Match, If-Unmodified-Since) didn’t match the current state of the resource.
HTTP 428 Precondition Required
The server requires a conditional request (If-Match / If-Unmodified-Since) to prevent lost updates, and you didn’t send one.
HTTP 400 Bad Request
The server could not understand the request because its syntax, headers or body are malformed or invalid.
HTTP 413 Content Too Large (Request Entity Too Large)
The request body is bigger than the server is willing to accept — usually a file upload over the configured limit.
Refused to load the script because it violates the following Content Security Policy directive
The page’s Content-Security-Policy doesn’t allow that script, style, image or connection source.
URIError: URI malformed
decodeURIComponent/decodeURI received an invalid percent-encoded sequence.
UnicodeEncodeError: 'charmap' codec can't encode character '\u2192'
Python tried to write text in an encoding that can’t represent some characters — common in Windows consoles and files opened with…
HTTP 416 Range Not Satisfiable
The client asked for a byte range (Range: bytes=…) that lies outside the file — usually a resumed download of a file that changed…
HTTP 505 HTTP Version Not Supported
The server doesn’t support the HTTP protocol version used in the request.
WordPress: The link you followed has expired
Usually an upload (theme, plugin, media) larger than PHP’s upload/post limits — WordPress receives an empty request and shows thi…
Upload error: File type not allowed / unsupported file type
The upload was rejected because the file’s type — extension, MIME type or actual content — isn’t on the allowed list.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException