Error map

103 HTTP 103 Early Hints

HTTP · layer 2, Network

Open the full error page →

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.

103 — HTTP 103 Early Hints (HTTP)103200 — HTTP 200 OK (but something is still wrong) (HTTP)20057014 — ERROR: canceling statement due to statement timeout (PostgreSQL)57014CORS — CORS Error: No 'Access-Control-Allow-Origin' header is present (API)CORS524 — Cloudflare Error 524: A Timeout Occurred (Cloudflare)524N+1 queries — Performance: N+1 query problem (one query per row in a loop) (SQL)N+1 queriessession_start() — Warning: session_start(): Session cannot be started after headers have already been sent (PHP)session_start()pool timeout — 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. (SQL)pool timeout504 — HTTP 504 Gateway Timeout (HTTP)504304 — HTTP 304 Not Modified (HTTP)304411 — HTTP 411 Length Required (HTTP)411BOM output — Unexpected characters at the top of the page / headers already sent by BOM (PHP)BOM output100 — HTTP 100 Continue (HTTP)100404 — HTTP 404 Not Found (HTTP)404SyntaxError: JSON — SyntaxError: Unexpected token < in JSON at position 0 (JavaScript)SyntaxError: JSONGRAPHQL_VALIDATION_FAILED — GraphQL: Cannot query field "x" on type "Y" (API)GRAPHQL_VALIDATION_…ETIMEDOUT — API Request Timed Out (ETIMEDOUT / ReadTimeout / timeout of 30000ms exceeded) (API)ETIMEDOUTLock wait timeout — Lock wait timeout exceeded; try restarting transaction (MySQL 1205) (SQL)Lock wait timeoutTask timed out — AWS Lambda: Task timed out after X seconds (AWS)Task timed outAccessDenied — AWS S3: AccessDenied (403) when calling GetObject / PutObject (AWS)AccessDenied401 — HTTP 401 Unauthorized (HTTP)401403 — HTTP 403 Forbidden (HTTP)403Maximum execution time — PHP Fatal error: Maximum execution time of 30 seconds exceeded (PHP)Maximum execution t…522 — Cloudflare Error 522: Connection Timed Out (Cloudflare)522TimeoutException — java.util.concurrent.TimeoutException (Java)TimeoutExceptionLazyInitializationException — org.hibernate.LazyInitializationException: could not initialize proxy - no Session (Java)LazyInitializationE…TransientObjectException — org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing (Java)TransientObjectExce…Hibernate ConstraintViolationException — org.hibernate.exception.ConstraintViolationException: could not execute statement (Java)Hibernate Constrain…ExpiredToken — AWS: ExpiredToken — The security token included in the request is expired (AWS)ExpiredTokenHeaders already sent — Warning: Cannot modify header information - headers already sent (PHP)Headers already sentsession save path — Warning: session_start(): open(/var/lib/php/sessions/sess_x, O_RDWR) failed: Permission denied (PHP)session save pathHikariCP timeout — HikariPool-1 - Connection is not available, request timed out after 30000ms (Java)HikariCP timeoutout of shared memory — ERROR: out of shared memory — HINT: You might need to increase max_locks_per_transaction. (PostgreSQL)out of shared memoryprepared statement exists — ERROR: prepared statement "s1" already exists (PgBouncer transaction mode) (PostgreSQL)prepared statement …408 — HTTP 408 Request Timeout (HTTP)408500 — HTTP 500 Internal Server Error (HTTP)500502 — HTTP 502 Bad Gateway (HTTP)502301 — HTTP 301 Moved Permanently (HTTP)301412 — HTTP 412 Precondition Failed (HTTP)412428 — HTTP 428 Precondition Required (HTTP)428400 — HTTP 400 Bad Request (HTTP)400413 — HTTP 413 Content Too Large (Request Entity Too Large) (HTTP)413CSP violation — Refused to load the script because it violates the following Content Security Policy directive (JavaScript)CSP violationURIError — URIError: URI malformed (JavaScript)URIErrorUnicodeEncodeError — UnicodeEncodeError: 'charmap' codec can't encode character '\u2192' (Python)UnicodeEncodeError416 — HTTP 416 Range Not Satisfiable (HTTP)416505 — HTTP 505 HTTP Version Not Supported (HTTP)505Link expired — WordPress: The link you followed has expired (WordPress)Link expiredfile_type_not_allowed — Upload error: File type not allowed / unsupported file type (API)file_type_not_allow…

Directly related (12)

200HTTP

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…

57014PostgreSQL

ERROR: canceling statement due to statement timeout

A query ran longer than statement_timeout and PostgreSQL cancelled it.

CORSAPI

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…

524Cloudflare

Cloudflare Error 524: A Timeout Occurred

Cloudflare connected to the origin, but the origin didn’t send an HTTP response within 100 seconds.

N+1 queriesSQL

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.

session_start()PHP

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.

pool timeoutSQL

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.

504HTTP

HTTP 504 Gateway Timeout

A proxy or gateway waited too long for the upstream server to respond and gave up.

304HTTP

HTTP 304 Not Modified

The cached copy is still valid, so the server sends no body and the client reuses its cache.

411HTTP

HTTP 411 Length Required

The server refuses a request with a body but no Content-Length header.

BOM outputPHP

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.

100HTTP

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)

404HTTP

HTTP 404 Not Found

The server can’t find anything at the requested URL.

SyntaxError: JSONJavaScript

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_VALIDATION_FAILEDAPI

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).

ETIMEDOUTAPI

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 timeoutSQL

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.

Task timed outAWS

AWS Lambda: Task timed out after X seconds

The function ran longer than its configured timeout (default 3 seconds) and Lambda stopped it.

AccessDeniedAWS

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.

401HTTP

HTTP 401 Unauthorized

The request has no valid authentication credentials — you need to log in or send a valid token.

403HTTP

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…

Maximum execution timePHP

PHP Fatal error: Maximum execution time of 30 seconds exceeded

The script ran longer than `max_execution_time` and PHP stopped it.

522Cloudflare

Cloudflare Error 522: Connection Timed Out

Cloudflare’s TCP connection to your origin timed out — the origin didn’t answer at all.

TimeoutExceptionJava

java.util.concurrent.TimeoutException

A Future.get(timeout) or async operation didn’t complete in the allowed time.

LazyInitializationExceptionJava

org.hibernate.LazyInitializationException: could not initialize proxy - no Session

A lazy-loaded association was accessed after the Hibernate session/transaction closed.

TransientObjectExceptionJava

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.

Hibernate ConstraintViolationExceptionJava

org.hibernate.exception.ConstraintViolationException: could not execute statement

The database rejected an insert/update because of a constraint (unique, foreign key, not null).

ExpiredTokenAWS

AWS: ExpiredToken — The security token included in the request is expired

Temporary AWS credentials (STS/SSO/assumed role) have expired.

Headers already sentPHP

Warning: Cannot modify header information - headers already sent

You called `header()`, `setcookie()` or `session_start()` after output had already been sent to the browser.

session save pathPHP

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.

HikariCP timeoutJava

HikariPool-1 - Connection is not available, request timed out after 30000ms

The connection pool was exhausted — all connections were busy for 30 seconds.

out of shared memoryPostgreSQL

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.

prepared statement existsPostgreSQL

ERROR: prepared statement "s1" already exists (PgBouncer transaction mode)

Named prepared statements collided — typically because PgBouncer in transaction pooling mode hands connections between clients.

408HTTP

HTTP 408 Request Timeout

The server closed the connection because the client took too long to send the complete request.

500HTTP

HTTP 500 Internal Server Error

The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.

502HTTP

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.

301HTTP

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.

412HTTP

HTTP 412 Precondition Failed

A conditional request header (If-Match, If-Unmodified-Since) didn’t match the current state of the resource.

428HTTP

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.

400HTTP

HTTP 400 Bad Request

The server could not understand the request because its syntax, headers or body are malformed or invalid.

413HTTP

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.

CSP violationJavaScript

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.

URIErrorJavaScript

URIError: URI malformed

decodeURIComponent/decodeURI received an invalid percent-encoded sequence.

UnicodeEncodeErrorPython

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…

416HTTP

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…

505HTTP

HTTP 505 HTTP Version Not Supported

The server doesn’t support the HTTP protocol version used in the request.

Link expiredWordPress

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…

file_type_not_allowedAPI

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.