RedisException: protocol error, got ‘<' as reply type byte
-
Hey Till,
Hope you’re doing well man. I’m noticing these errors (pasted below) in my wordpress logs… and they usually occur a few hours before other database / fatal errors pop up in wordpress, and the site crashes completely… however the site actually crashes because wordpress core functions are being called ‘out of order’, potentially because of inconsistencies in the cache layer.
Based on my research, it could be that Redis is running out of memory, or according to a 9 year old thread in Github, it could have to do with Redis ‘protected mode’… not sure if you have any ideas on what might be causing this.
Here’s the actual wordpress error: PHP FatalUncaught Error: Call to undefined function wp_normalize_path()
Here’s the Redis error:RedisException: protocol error, got ‘<‘ as reply type byteStack trace: #0 /wp-content/object-cache.php(1990): Redis->get() #1 /wp-content/object-cache.php(193): WP_Object_Cache->get() #2 /wp-includes/option.php(169): wp_cache_get() #3 /wp-content/plugins/wp-security-audit-log/classes/Helpers/class-settings-helper.php(616): get_option() #4 /wp-content/plugins/wp-security-audit-log/classes/Helpers/class-settings-helper.php(182): WSAL\Helpers\Settings_Helper::get_option_value_internal() #5 /wp-content/plugins/wp-security-audit-log/classes/class-wp-security-audit-log.php(1278): WSAL\Helpers\Settings_Helper::get_option_value() #6 /wp-includes/class-wp-hook.php(324): WpSecurityAuditLog::close_external_connection() #7 /wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #8 /wp-includes/plugin.php(517): WP_Hook->do_action() #9 /wp-includes/load.php(1279): do_action() #10 internal function: shutdown_action_hook() #11 {main}Apr 1, 2025 – 00:17:02
(1 occurrence logged)30OtherRedisException: protocol error, got ‘O’ as reply type byteStack trace: #0 /wp-content/plugins/redis-cache/includes/class-metrics.php(215): Redis->zAdd() #1 /wp-content/plugins/redis-cache/includes/class-metrics.php(138): Rhubarb\RedisCache\Metrics->save() #2 /wp-includes/class-wp-hook.php(324): Rhubarb\RedisCache\Metrics::record() #3 /wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #4 /wp-includes/plugin.php(517): WP_Hook->do_action() #5 /wp-includes/load.php(1279): do_action() #6 internal function: shutdown_action_hook() #7 {main}Plugin: Redis Object Cache
File: /wp-content/plugins/redis-cache/includes/class-metrics.php
Line: 215
Here’s another DB error that happens right along with the Redis error:
DatabaseCommands out of sync; you can’t run this command now for query SELECT option_value FROM 9mxqK9_options WHERE option_name = ‘action_scheduler_lock_async-request-runner’ made by shutdown_action_hook, do_action(‘shutdown’), WP_Hook->do_action, WP_Hook->apply_filters, ActionScheduler_QueueRunner->maybe_dispatch_async_request, ActionScheduler_OptionLock->set, ActionScheduler_OptionLock->get_existing_lock
Please let me know if you have any ideas or if you provide paid support.
- You must be logged in to reply to this topic.