heroku
Heroku Error Codes
Error codes generated by the Heroku platform for router, dyno, and logging failures. H-codes indicate router or application errors, R-codes indicate dyno runtime errors, and L-codes indicate log pipeline errors.
36 codes
references devcenter.heroku.com/articles/error-codes
· All codes 36 codes
- H10 App Crashed A web dyno failed to start or exited unexpectedly, leaving no running dynos to serve requests. Check the application logs for the crash reason and stack trace.
- H11 Backlog Too Deep The number of queued requests waiting for a free dyno exceeded the limit, so new incoming requests are being rejected. Scale up the number of dynos or reduce response time to clear the backlog.
- H12 Request Timeout A request took longer than 30 seconds to complete and was terminated by the Heroku router. Long-running work should be offloaded to background jobs.
- H13 Connection Closed Without Response The dyno accepted the TCP connection but closed it without sending an HTTP response. This often indicates the process crashed or exited abnormally during request handling.
- H14 No Web Dynos Running There are no web dynos running to serve incoming requests. Scale the web process type to at least one dyno to serve traffic.
- H15 Idle Connection The dyno served the request but the connection was detected as idle. This is informational and typically indicates a keep-alive connection that was closed due to inactivity.
- H17 Poorly Formatted HTTP Response The dyno returned an HTTP response that the Heroku router could not parse. This usually indicates the application is writing malformed headers or non-HTTP data to the socket.
- H18 Server Request Interrupted The application closed the connection to the router before the response was fully sent. This can happen if the dyno crashes or restarts mid-response.
- H19 Backend Connection Timeout The Heroku router could not establish a connection to a web dyno within the timeout period. All available dynos may be busy or the process may not be listening on the expected port.
- H20 App Boot Timeout The web dyno failed to bind to its assigned port within 60 seconds of starting. The application may be performing slow initialization or not calling the port binding at all.
- H21 Backend Connection Refused The Heroku router successfully identified a dyno but the dyno refused the TCP connection. The web process may have stopped listening on its port.
- H22 Connection Limit Reached The application has reached the maximum number of concurrent connections allowed per dyno. New connections are rejected until existing ones are released.
- H23 Endpoint Misconfigured An SSL endpoint is not properly configured, preventing the router from terminating TLS for the request. Verify the SSL certificate and endpoint settings in the Heroku dashboard.
- H24 Forced Close The Heroku router forcefully closed the connection, typically because a timeout was exceeded while waiting for the dyno to respond. Check for slow or stalled request processing.
- H25 HTTP Restriction The application returned an HTTP response that violates Heroku platform policies, such as using a reserved or disallowed status code. The response was blocked by the router.
- H26 Request Error The Heroku router received an error from the origin dyno while processing the request. Review dyno logs for the underlying exception or crash.
- H27 Client Request Interrupted The client closed the connection before the router could dispatch the request to a dyno. This is typically caused by the client timing out or navigating away.
- H28 Client Connection Idle The client established a connection but did not send a complete HTTP request within the idle timeout period, causing the router to close the connection.
- H80 Maintenance Mode The application is in maintenance mode. All incoming requests return a 503 Service Unavailable response until maintenance mode is disabled.
- H99 Platform Error An internal Heroku platform error occurred while routing the request. This is not caused by application code and requires checking the Heroku status page.
- L10 Drain Buffer Overflow The log drain's buffer is full and log messages are being dropped. This occurs when log output exceeds the rate at which the drain can forward messages to the external log destination.
- L11 Tail Buffer Overflow The buffer for a heroku logs --tail session is full and log messages are being dropped. Reduce log verbosity or use a dedicated log drain instead of tailing.
- L12 Local Buffer Overflow The local log message buffer on the dyno is full, causing log messages to be dropped before they reach the log pipeline. Reduce log output rate to avoid message loss.
- L13 Cannot Bind to Address The log drain could not bind to its configured network address. This typically indicates a port conflict or insufficient permissions on the log drain host.
- L14 Certificate Error The log drain's TLS certificate could not be verified. Ensure the drain endpoint presents a valid, trusted certificate.
- L15 Tail Log Authorization Error Authorization failed when attempting to retrieve tail logs. Check that the credentials used have the required permissions for the app.
- L16 Log Retrieval Error An error occurred while retrieving logs from the Heroku log store. This is typically a transient platform issue.
- L17 Drain Missing A log drain that was configured for the app could not be found. The drain may have been deleted or misconfigured.
- R10 Boot Timeout The dyno failed to bind to its assigned port within 60 seconds of startup. The application may be performing slow initialization tasks before starting the web server.
- R12 Exit Timeout The dyno did not exit within the allowed time after receiving a SIGTERM signal, so Heroku sent a SIGKILL to force termination. Ensure the application handles SIGTERM and shuts down promptly.
- R13 Attach Error A one-off dyno failed to attach to the terminal session. This prevents interactive commands from receiving input or producing output through the Heroku CLI.
- R14 Memory Quota Exceeded The dyno has exceeded its memory quota and Heroku has begun swapping to disk, severely degrading performance. Optimize memory usage or upgrade to a larger dyno type.
- R15 Memory Quota Vastly Exceeded The dyno is consuming more than twice its memory quota and Heroku has killed it to protect platform stability. Investigate memory leaks or upgrade to a dyno type with a higher memory limit.
- R16 Detached A one-off dyno was detached from its terminal session, typically because the client disconnected. The dyno continues running in the background after detachment.
- R17 Checksum Error The slug's integrity check failed during dyno startup, meaning the deployed artifact does not match its expected checksum. Re-deploying the application typically resolves this.
- R99 Platform Error An internal Heroku platform error occurred related to the dyno. This is not caused by application code and requires checking the Heroku status page.