Error map

Redis TLS: SSL handshake error / protocol mismatch Redis: Error: write EPROTO ... SSL routines:ssl3_get_record:wrong version number / Connection reset by peer (TLS vs plaintext)

Redis · layer 5, Data

Open the full error page →

Centre: this error. First ring: errors it is linked with (11). 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.

Redis TLS: SSL handshake error / protocol mismatch — Redis: Error: write EPROTO ... SSL routines:ssl3_get_record:wrong version number / Connection reset by peer (TLS vs plaintext) (Redis)Redis TLS: …SQLSTATE[HY000] [2002] Connection refused — Laravel: SQLSTATE[HY000] [2002] Connection refused (SQL: select * from sessions) / php_network_getaddresses: getaddrinfo failed (Laravel)SQLSTATE[HY000] [20…NOAUTH / WRONGPASS invalid username-password pair — Redis: (error) NOAUTH Authentication required. / WRONGPASS invalid username-password pair or user is disabled (Redis)NOAUTH / WRONGPASS …ECONNRESET / Connection reset by peer on idle Redis connection — Redis: Error: read ECONNRESET / redis.exceptions.ConnectionError: Connection reset by peer after idle time (Redis)ECONNRESET / Connec…BUSY Redis is busy running a script — Redis: (error) BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE (Redis)BUSY Redis is busy …Lettuce: Unable to connect to host (RedisConnectionException) — Spring Data Redis: RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException (Redis)Lettuce: Unable to …SSL routines: wrong version number — OpenSSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number (SSL / TLS)SSL routines: wrong…Redis connection refused (Laravel) — Laravel: Predis\Connection\ConnectionException: Connection refused [tcp://127.0.0.1:6379] / RedisException: Connection refused (Laravel)Redis connection re…BullMQ: Missing lock for job / job stalled more than allowable limit — BullMQ: Error: Missing lock for job 42. moveToFinished / job stalled more than allowable limit (Redis)BullMQ: Missing loc…Redis::CannotConnectError (Sidekiq/Rails) — Redis::CannotConnectError: Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED) (Ruby / Rails)Redis::CannotConnec…Error: connect ECONNREFUSED 127.0.0.1:6379 — Redis: Error: connect ECONNREFUSED 127.0.0.1:6379 / Could not connect to Redis at 127.0.0.1:6379: Connection refused (Redis)Error: connect ECON…ActiveRecord::ConnectionNotEstablished — Rails: ActiveRecord::ConnectionNotEstablished: No connection pool for 'ActiveRecord::Base' found (Ruby / Rails)ActiveRecord::Conne…ConnectionRefusedError [Errno 111] (SMTP) — Python: ConnectionRefusedError: [Errno 111] Connection refused — smtplib connect to localhost:25 (Email / SMTP)ConnectionRefusedEr…Nodemailer: ETIMEDOUT / ECONNECTION — Nodemailer: Error: connect ETIMEDOUT 142.250.27.108:465 (code: 'ETIMEDOUT', command: 'CONN') (Email / SMTP)Nodemailer: ETIMEDO…SQLSTATE[23000]: Integrity constraint violation — Laravel: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'x@example.com' for key 'users_email_unique' (Laravel)SQLSTATE[23000]: In…NOAUTH — ReplyError: NOAUTH Authentication required. (Node.js)NOAUTHpull access denied — pull access denied for image, repository does not exist or may require 'docker login' (Docker)pull access deniedunauthorized: authentication required — unauthorized: authentication required (docker push / pull) (Docker)unauthorized: authe…ERR max number of clients reached — Redis: ERR max number of clients reached (Redis)ERR max number of c…Redis closes idle clients (timeout setting) — Redis: Closing idle client / Connection closed by server after timeout 300 (Redis)Redis closes idle c…Client output buffer limit reached (scheduled to be closed) — Redis: Client id=12 addr=10.0.0.5:51234 scheduled to be closed ASAP for overcoming of output buffer limits (Redis)Client output buffe…WRONGTYPE — WRONGTYPE Operation against a key holding the wrong kind of value (Node.js)WRONGTYPEOOM command not allowed — Redis: OOM command not allowed when used memory > 'maxmemory' (Redis)OOM command not all…DENIED Redis is running in protected mode — Redis: DENIED Redis is running in protected mode because protected mode is enabled and no password is set for the default user (Redis)DENIED Redis is run…Celery with Redis: tasks run twice (visibility_timeout) — Celery: Task executed twice / Restoring unacked messages — Redis broker visibility_timeout shorter than task ETA (Redis)Celery with Redis: …ERR_SSL_PROTOCOL_ERROR — ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection) (JavaScript)ERR_SSL_PROTOCOL_ER…cURL error 35 — cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to host:443 (PHP)cURL error 35SSL: WRONG_VERSION_NUMBER (SMTP port) — SMTP: [SSL: WRONG_VERSION_NUMBER] wrong version number — SMTP over SSL on a STARTTLS port (Email / SMTP)SSL: WRONG_VERSION_…Error establishing a Redis connection — WordPress: Error establishing a Redis connection (object cache) (WordPress)Error establishing …Attempt to read property "x" on null — Laravel/PHP 8: ErrorException: Attempt to read property "name" on null (Laravel)Attempt to read pro…Laravel: Allowed memory size exhausted (request) — Laravel/PHP: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in vendor/laravel/framework (Laravel)Laravel: Allowed me…MaxAttemptsExceededException (queue job) — Laravel Queue: Illuminate\Queue\MaxAttemptsExceededException: App\Jobs\SendReport has been attempted too many times or run too long (Laravel)MaxAttemptsExceeded…Keys disappear: maxmemory eviction (allkeys-lru) — Redis: evicted_keys growing — keys vanish unexpectedly because maxmemory is reached and a volatile/allkeys eviction policy is active (Redis)Keys disappear: max…mem_fragmentation_ratio high / memory not released — Redis: INFO memory — mem_fragmentation_ratio:2.8 (RSS much larger than used_memory) (Redis)mem_fragmentation_r…Can't connect to Redis from another host (bind 127.0.0.1) — Redis: Could not connect to Redis at 10.0.0.5:6379: Connection timed out (Redis)Can't connect to Re…Can't save in background: fork: Cannot allocate memory — Redis: # Can't save in background: fork: Cannot allocate memory / WARNING overcommit_memory is set to 0! (Redis)Can't save in backg…Failed opening the temp RDB file / Permission denied writing dump.rdb — Redis: # Failed opening the temp RDB file temp-1234.rdb (in server root dir /var/lib/redis) for saving: Permission denied (Redis)Failed opening the …MOVED / ASK redirection (non-cluster client) — Redis: (error) MOVED 3999 10.0.0.6:6379 / ReplyError: MOVED 12182 192.168.0.5:7001 (Redis)MOVED / ASK redirec…ERR unknown command — Redis: (error) ERR unknown command 'JSON.GET', with args beginning with: / unknown command 'FT.SEARCH' (Redis)ERR unknown commandMaxRetriesPerRequestError: Reached the max retries per request limit — ioredis: MaxRetriesPerRequestError: Reached the max retries per request limit (which is 20). Refer to "maxRetriesPerRequest" option for details (Redis)MaxRetriesPerReques…ActionController::InvalidAuthenticityToken — Rails: ActionController::InvalidAuthenticityToken (Can't verify CSRF token authenticity) (Ruby / Rails)ActionController::I…NameError: uninitialized constant — Ruby: NameError: uninitialized constant UsersController::User (Did you mean? Users) (Ruby / Rails)NameError: uninitia…NameError: undefined local variable or method — Ruby: NameError: undefined local variable or method 'x' for main:Object (Ruby / Rails)NameError: undefine…

Directly related (11)

SQLSTATE[HY000] [2002] Connection refusedLaravel

Laravel: SQLSTATE[HY000] [2002] Connection refused (SQL: select * from sessions) / php_network_getaddresses: getaddrinfo failed

Laravel can't open a network connection to the database host and port from `.env`.

NOAUTH / WRONGPASS invalid username-password pairRedis

Redis: (error) NOAUTH Authentication required. / WRONGPASS invalid username-password pair or user is disabled

The server requires a password (or ACL user) and the client sent none or the wrong one.

ECONNRESET / Connection reset by peer on idle Redis connectionRedis

Redis: Error: read ECONNRESET / redis.exceptions.ConnectionError: Connection reset by peer after idle time

A middlebox or Redis closed an idle connection, and the pooled client reused it.

BUSY Redis is busy running a scriptRedis

Redis: (error) BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE

A long-running Lua script (or function) blocks the single-threaded server, so other commands are rejected.

Lettuce: Unable to connect to host (RedisConnectionException)Redis

Spring Data Redis: RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException

Spring/Lettuce couldn't connect to Redis at startup or runtime.

SSL routines: wrong version numberSSL / TLS

OpenSSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number

The peer did not answer with a TLS record — you spoke TLS to a plain HTTP/SMTP port (or the reverse), or a proxy intervened.

Redis connection refused (Laravel)Laravel

Laravel: Predis\Connection\ConnectionException: Connection refused [tcp://127.0.0.1:6379] / RedisException: Connection refused

Laravel can't connect to Redis, which it uses for cache, sessions or queues.

BullMQ: Missing lock for job / job stalled more than allowable limitRedis

BullMQ: Error: Missing lock for job 42. moveToFinished / job stalled more than allowable limit

A BullMQ worker lost the lock on a job (it took too long or the event loop was blocked), so the job is considered stalled.

Redis::CannotConnectError (Sidekiq/Rails)Ruby / Rails

Redis::CannotConnectError: Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)

Sidekiq or the Rails Redis cache/cable couldn't connect to Redis.

Error: connect ECONNREFUSED 127.0.0.1:6379Redis

Redis: Error: connect ECONNREFUSED 127.0.0.1:6379 / Could not connect to Redis at 127.0.0.1:6379: Connection refused

Nothing is listening on the Redis host/port your client uses.

ActiveRecord::ConnectionNotEstablishedRuby / Rails

Rails: ActiveRecord::ConnectionNotEstablished: No connection pool for 'ActiveRecord::Base' found

ActiveRecord has no database connection configured or established for this process.

Two steps away (31)

ConnectionRefusedError [Errno 111] (SMTP)Email / SMTP

Python: ConnectionRefusedError: [Errno 111] Connection refused — smtplib connect to localhost:25

Nothing is listening on the SMTP host and port your script connected to — often `localhost:25` because no host was given and no l…

Nodemailer: ETIMEDOUT / ECONNECTIONEmail / SMTP

Nodemailer: Error: connect ETIMEDOUT 142.250.27.108:465 (code: 'ETIMEDOUT', command: 'CONN')

Nodemailer could not open a connection to the SMTP server before the timeout — a blocked port, wrong host, or network issue.

SQLSTATE[23000]: Integrity constraint violationLaravel

Laravel: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'x@example.com' for key 'users_email_unique'

The query violated a database constraint — a duplicate value in a unique column or a missing/blocked foreign key.

NOAUTHNode.js

ReplyError: NOAUTH Authentication required.

The Redis server requires a password (or ACL user) but the client didn’t authenticate.

pull access deniedDocker

pull access denied for image, repository does not exist or may require 'docker login'

Docker couldn’t pull the image: the name or tag is wrong, the repository is private and you’re not logged in, or it doesn’t exist…

unauthorized: authentication requiredDocker

unauthorized: authentication required (docker push / pull)

The registry needs credentials for this operation and the request had none or had expired ones.

ERR max number of clients reachedRedis

Redis: ERR max number of clients reached

Redis hit its `maxclients` limit (default 10000, lower if the OS limit is low), so new connections are refused.

Redis closes idle clients (timeout setting)Redis

Redis: Closing idle client / Connection closed by server after timeout 300

Redis' `timeout` directive closes connections idle longer than N seconds.

Client output buffer limit reached (scheduled to be closed)Redis

Redis: Client id=12 addr=10.0.0.5:51234 scheduled to be closed ASAP for overcoming of output buffer limits

A client (often a slow subscriber or a replica) couldn't read data fast enough, so Redis disconnected it to protect memory.

WRONGTYPENode.js

WRONGTYPE Operation against a key holding the wrong kind of value

A Redis command was used on a key of a different type (e.g. HGET on a string key).

OOM command not allowedRedis

Redis: OOM command not allowed when used memory > 'maxmemory'

Redis reached its maxmemory limit and the eviction policy (noeviction) refuses new writes.

DENIED Redis is running in protected modeRedis

Redis: DENIED Redis is running in protected mode because protected mode is enabled and no password is set for the default user

Redis refuses connections from non-local clients when it has no password and is bound to all interfaces.

Celery with Redis: tasks run twice (visibility_timeout)Redis

Celery: Task executed twice / Restoring unacked messages — Redis broker visibility_timeout shorter than task ETA

Celery's Redis transport redelivers a task if it isn't acknowledged within `visibility_timeout` (1 hour by default).

ERR_SSL_PROTOCOL_ERRORJavaScript

ERR_SSL_PROTOCOL_ERROR (This site can't provide a secure connection)

The browser couldn’t negotiate TLS — the server sent an invalid response, often plain HTTP on the HTTPS port.

cURL error 35PHP

cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to host:443

The TLS handshake failed — protocol/cipher mismatch, a proxy interfering, or the server closed the connection.

SSL: WRONG_VERSION_NUMBER (SMTP port)Email / SMTP

SMTP: [SSL: WRONG_VERSION_NUMBER] wrong version number — SMTP over SSL on a STARTTLS port

Your client tried to start TLS immediately on a port where the server speaks plain SMTP first (or the reverse), so the handshake…

Error establishing a Redis connectionWordPress

WordPress: Error establishing a Redis connection (object cache)

The persistent object cache drop-in (object-cache.php) can’t connect to Redis, so the whole site fails.

Attempt to read property "x" on nullLaravel

Laravel/PHP 8: ErrorException: Attempt to read property "name" on null

You accessed a property on a value that is `null`, typically an empty relationship or a query that found nothing.

Laravel: Allowed memory size exhausted (request)Laravel

Laravel/PHP: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in vendor/laravel/framework

A request (or artisan job) used more memory than PHP's `memory_limit` allows.

MaxAttemptsExceededException (queue job)Laravel

Laravel Queue: Illuminate\Queue\MaxAttemptsExceededException: App\Jobs\SendReport has been attempted too many times or run too long

A queued job failed repeatedly or ran past its timeout, so it was marked failed.

Keys disappear: maxmemory eviction (allkeys-lru)Redis

Redis: evicted_keys growing — keys vanish unexpectedly because maxmemory is reached and a volatile/allkeys eviction policy is active

Redis removed keys to stay under `maxmemory` according to the eviction policy.

mem_fragmentation_ratio high / memory not releasedRedis

Redis: INFO memory — mem_fragmentation_ratio:2.8 (RSS much larger than used_memory)

The process uses far more RSS than the data size, due to allocator fragmentation or deleted-but-not-returned memory.

Can't connect to Redis from another host (bind 127.0.0.1)Redis

Redis: Could not connect to Redis at 10.0.0.5:6379: Connection timed out

Redis only listens on localhost by default, so remote clients time out or are refused.

Can't save in background: fork: Cannot allocate memoryRedis

Redis: # Can't save in background: fork: Cannot allocate memory / WARNING overcommit_memory is set to 0!

Redis couldn't fork to write an RDB/AOF snapshot because the OS refused to allocate memory.

Failed opening the temp RDB file / Permission denied writing dump.rdbRedis

Redis: # Failed opening the temp RDB file temp-1234.rdb (in server root dir /var/lib/redis) for saving: Permission denied

Redis can't write its snapshot file to the configured directory.

MOVED / ASK redirection (non-cluster client)Redis

Redis: (error) MOVED 3999 10.0.0.6:6379 / ReplyError: MOVED 12182 192.168.0.5:7001

The key lives on another cluster node, and the client isn't cluster-aware, so it just sees the redirect.

ERR unknown commandRedis

Redis: (error) ERR unknown command 'JSON.GET', with args beginning with: / unknown command 'FT.SEARCH'

The server doesn't know the command — wrong name, newer Redis version, or a missing module.

MaxRetriesPerRequestError: Reached the max retries per request limitRedis

ioredis: MaxRetriesPerRequestError: Reached the max retries per request limit (which is 20). Refer to "maxRetriesPerRequest" option for details

ioredis tried to run a command 20 times while the connection was down and gave up.

ActionController::InvalidAuthenticityTokenRuby / Rails

Rails: ActionController::InvalidAuthenticityToken (Can't verify CSRF token authenticity)

A non-GET request arrived without a valid CSRF token for the session.

NameError: uninitialized constantRuby / Rails

Ruby: NameError: uninitialized constant UsersController::User (Did you mean? Users)

Ruby (or Rails autoloading) couldn't find a class or module with that name in the current scope.

NameError: undefined local variable or methodRuby / Rails

Ruby: NameError: undefined local variable or method 'x' for main:Object

Ruby saw a bare identifier that is neither a local variable nor a method on the current object.