Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeError: no implicit conversion of Hash into String #987

Closed
denisj opened this issue Feb 1, 2024 · 27 comments · Fixed by #989
Closed

TypeError: no implicit conversion of Hash into String #987

denisj opened this issue Feb 1, 2024 · 27 comments · Fixed by #989

Comments

@denisj
Copy link

denisj commented Feb 1, 2024

Dalli 3.2.7
Ruby 3.2.3
Rails 7.1.3

I get this error when trying simple command such as

::Rails.cache.fetch("gh:ec9:v1")

in lib/dalli/socket.rb line 92

def self.open(host, port, options = {})
  sock = new(host, port, connect_timeout: options[:socket_timeout])
  sock.options = { host: host, port: port }.merge(options)
  init_socket_options(sock, options)

  options[:ssl_context] ? wrapping_ssl_socket(sock, host, options[:ssl_context]) : sock
end

in lib/ruby/3.2.0/resolv-replace.rb line 24

class TCPSocket < IPSocket
 # :stopdoc:
  alias original_resolv_initialize initialize
  # :startdoc:
  def initialize(host, serv, *rest)
    rest[0] = IPSocket.getaddress(rest[0]) if rest[0]
    original_resolv_initialize(IPSocket.getaddress(host), serv, *rest)
  end
end

The thing present in rest[0] is

[{:connect_timeout=>1}]

mem_cache_store configuration:

config.cache_store = :mem_cache_store,
  '127.0.0.1:11211',
  { namespace: 'conversation', compress: true }

Backtrace

Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: 2024-02-01T09:27:29.066Z pid=3979401 tid=2g73h WARN: TypeError: no implicit conversion of Hash into String
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: 2024-02-01T09:27:29.066Z pid=3979401 tid=2g73h WARN: /usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv.rb:110:in `each_address'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv.rb:93:in `getaddress'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv.rb:44:in `getaddress'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv-replace.rb:12:in `getaddress'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv-replace.rb:24:in `initialize'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/socket.rb:93:in `new'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/socket.rb:93:in `open'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/protocol/connection_manager.rb:210:in `memcached_socket'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/protocol/connection_manager.rb:55:in `establish_connection'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/protocol/base.rb:207:in `connect'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/protocol/base.rb:196:in `ensure_connected!'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/protocol/base.rb:58:in `alive?'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/ring.rb:46:in `server_for_key'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/client.rb:425:in `perform'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/client.rb:64:in `get'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:246:in `block (2 levels) in read_serialized_entry'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:110:in `block (2 levels) in with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:109:in `handle_interrupt'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:109:in `block in with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:106:in `handle_interrupt'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:106:in `with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:246:in `block in read_serialized_entry'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:336:in `rescue_error_with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:245:in `read_serialized_entry'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/strategy/local_cache.rb:130:in `read_serialized_entry'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:241:in `read_entry'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:460:in `block in fetch'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:1030:in `block in _instrument'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/notifications.rb:208:in `instrument'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:1029:in `_instrument'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:1006:in `instrument'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:459:in `fetch'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /home/integration/capistrano/stable/releases/20240201085958/app/workers/social_profiles/find_github_profile_from_twitter_worker.rb:63:in `perform'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:210:in `execute_job'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:180:in `block (4 levels) in process'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:180:in `traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/lock/until_executed.rb:37:in `block in execute'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/locksmith.rb:196:in `lock!'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/locksmith.rb:106:in `block in execute'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/redis-client-0.19.1/lib/redis_client/decorator.rb:46:in `block in with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/redis-client-0.19.1/lib/redis_client.rb:219:in `with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/redis-client-0.19.1/lib/redis_client/decorator.rb:46:in `with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/connection.rb:16:in `block in redis'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/capsule.rb:102:in `block in redis'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:110:in `block (2 levels) in with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:109:in `handle_interrupt'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:109:in `block in with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:106:in `handle_interrupt'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:106:in `with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/capsule.rb:99:in `redis'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq.rb:73:in `redis'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/connection.rb:15:in `redis'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/locksmith.rb:105:in `execute'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/lock/until_executed.rb:36:in `execute'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/middleware/server.rb:27:in `call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/middleware.rb:41:in `block in call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/logging.rb:142:in `block in with_logging_context'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/logger.rb:11:in `with'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/logging.rb:157:in `call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/logging.rb:157:in `with_configured_loggers_context'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/logging.rb:141:in `with_logging_context'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-unique-jobs-8.0.6/lib/sidekiq_unique_jobs/middleware.rb:40:in `call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:182:in `traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-status-3.0.3/lib/sidekiq-status/server_middleware.rb:51:in `call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:182:in `traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /home/integration/capistrano/stable/releases/20240201085958/lib/sidekiq/middleware/server/sentry_error_logger.rb:8:in `call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:182:in `traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /home/integration/capistrano/stable/releases/20240201085958/lib/sidekiq/middleware/server/expiring_jobs.rb:44:in `call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:182:in `traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sentry-sidekiq-5.16.1/lib/sentry/sidekiq/sentry_context_middleware.rb:26:in `call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:182:in `traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:183:in `block in traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/metrics/tracking.rb:26:in `track'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/metrics/tracking.rb:126:in `call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:182:in `traverse'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/middleware/chain.rb:173:in `invoke'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:179:in `block (3 levels) in process'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:140:in `block (6 levels) in dispatch'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/job_retry.rb:113:in `local'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:139:in `block (5 levels) in dispatch'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/rails.rb:16:in `block in call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/reloader.rb:77:in `block in wrap'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/execution_wrapper.rb:92:in `wrap'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/reloader.rb:74:in `wrap'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/rails.rb:15:in `call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:135:in `block (4 levels) in dispatch'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:271:in `stats'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:130:in `block (3 levels) in dispatch'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/job_logger.rb:13:in `call'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:129:in `block (2 levels) in dispatch'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/job_retry.rb:80:in `global'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:128:in `block in dispatch'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/job_logger.rb:39:in `prepare'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:127:in `dispatch'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:178:in `block (2 levels) in process'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:177:in `handle_interrupt'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:177:in `block in process'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:176:in `handle_interrupt'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:176:in `process'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:82:in `process_one'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/processor.rb:72:in `run'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/component.rb:10:in `watchdog'
Feb 01 09:27:29 nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/sidekiq-7.2.1/lib/sidekiq/component.rb:19:in `block in safe_thread'
@tom-lord
Copy link

tom-lord commented Feb 1, 2024

The backtrace is:

vendor/ruby-3.2.2/lib/ruby/3.2.0/resolv.rb:110:in `each_address': no implicit conversion of Hash into String

    if AddressRegex =~ name
                       ^^^^ (TypeError)
    from vendor/ruby-3.2.2/lib/ruby/3.2.0/resolv.rb:93:in `getaddress'
    from vendor/ruby-3.2.2/lib/ruby/3.2.0/resolv.rb:44:in `getaddress'
    from vendor/ruby-3.2.2/lib/ruby/3.2.0/resolv-replace.rb:12:in `getaddress'
    from vendor/ruby-3.2.2/lib/ruby/3.2.0/resolv-replace.rb:24:in `initialize'
    from vendor/bundle/ruby/3.2.0/gems/socksify-1.7.1/lib/socksify.rb:178:in `initialize'
    from vendor/bundle/ruby/3.2.0/gems/dalli-3.2.7/lib/dalli/socket.rb:93:in `new'

Introduced in dalli v3.2.7; most likely somewhere here.

@petergoldstein
Copy link
Owner

@denisj and @tom-lord are you using resolv-replace? It looks like that gem may be the source of the issue. It doesn't appear to have had its init signature for TCPSocket updated (to handle kwargs). See here - https://github.com/ruby/resolv-replace/blob/187e91d149454e03f92480d3fbfd2f718cc19889/lib/resolv-replace.rb#L23 - and run a blame.

Happy to hear suggestions for solutions. It may also be worth proposing a patch to resolv-replace

@denisj
Copy link
Author

denisj commented Feb 1, 2024

@petergoldstein I'm not using resolv-replace explicitly. I believe it is built by default with ruby 3.2.x. But I'm using the default here and I don't think I'm doing something special for using it.

@petergoldstein
Copy link
Owner

Opened an issue - ruby/resolv-replace#2 - against resolv-replace.

@denisj certainly possible it's getting pulled in by default by Ruby 3.2.x, although in that case I'd expect CI to fail. Let's see what the resolv-replace maintainers have to say.

y9v added a commit to y9v/dalli that referenced this issue Feb 2, 2024
Closes petergoldstein#987

In version 3.2.7 socket_timeout option was introduced for TCPSocket.

This works unless `resolv-replace` gem is loaded (which was added to
ruby standard library since version 3.0.0).

This commit adds another check besides the ruby version check to avoid
breaking dalli for applications that have `resolv-replace` gem required.
@y9v
Copy link
Contributor

y9v commented Feb 2, 2024

I was able to reproduce it locally when requiring resolv-replace:

irb(Dalli::Socket::TCP):001> ::TCPSocket.new(host, port, connect_timeout: 1)
=> #<TCPSocket:fd 8, AF_INET6, ::1, 64827>

irb(Dalli::Socket::TCP):002> require 'resolv-replace'
...
irb(Dalli::Socket::TCP):003> ::TCPSocket.new(host, port, connect_timeout: 1)
/Users/yury.lebedev@carwow.de/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/resolv.rb:112:in `each_address': no implicit conversion of Hash into String (TypeError)

It seems that at least some Rails applications are loading this library by default, and I think we can check if TCPSocket class was overridden by resolv-replace using the fact that it aliases initialize method as original_resolv_initialize here.

I submitted a PR #989 to fix this conflict.

petergoldstein pushed a commit that referenced this issue Feb 4, 2024
* Fix conflict with resolv-replace gem

Closes #987

In version 3.2.7 socket_timeout option was introduced for TCPSocket.

This works unless `resolv-replace` gem is loaded (which was added to
ruby standard library since version 3.0.0).

This commit adds another check besides the ruby version check to avoid
breaking dalli for applications that have `resolv-replace` gem required.

* Fix rubocop warning

* Comment additional check in TCP.open method definition
@petergoldstein
Copy link
Owner

@denisj and @tom-lord , I just merged #989 to main. Can you confirm that addresses your issues by testing against main? If so, I'll push a release.

@denisj
Copy link
Author

denisj commented Feb 6, 2024

@petergoldstein I have tested it against main, but I still have the issue.

@y9v
Copy link
Contributor

y9v commented Feb 6, 2024

@denisj could you tell me which ruby version you are using? I would like to look into the issue deeper

@y9v
Copy link
Contributor

y9v commented Feb 6, 2024

@denisj stacktrace would be also helpful

@denisj
Copy link
Author

denisj commented Feb 6, 2024

/usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv.rb:110:in `each_address': no implicit conversion of Hash into String (TypeError)

    if AddressRegex =~ name

@y9v I believe this is the same error. I'm using Ruby 3.2.3.

@y9v
Copy link
Contributor

y9v commented Feb 6, 2024

@denisj and which line from dalli gem is the first one in the stacktrace? Also line 93?

nostromo-manager-1 sidekiq[3979401]: /usr/share/rvm/gems/[email protected]/gems/dalli-3.2.7/lib/dalli/socket.rb:93

@denisj
Copy link
Author

denisj commented Feb 6, 2024

@y9v

/usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv.rb:110:in `each_address': no implicit conversion of Hash into String (TypeError)

    if AddressRegex =~ name
                       ^^^^
	from /usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv.rb:93:in `getaddress'
	from /usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv.rb:44:in `getaddress'
	from /usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv-replace.rb:12:in `getaddress'
	from /usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/resolv-replace.rb:24:in `initialize'
	from /usr/share/rvm/gems/[email protected]/bundler/gems/dalli-bec0440a9c4c/lib/dalli/socket.rb:100:in `new'
	from /usr/share/rvm/gems/[email protected]/bundler/gems/dalli-bec0440a9c4c/lib/dalli/socket.rb:100:in `open'
	from /usr/share/rvm/gems/[email protected]/bundler/gems/dalli-bec0440a9c4c/lib/dalli/protocol/connection_manager.rb:210:in `memcached_socket'
	from /usr/share/rvm/gems/[email protected]/bundler/gems/dalli-bec0440a9c4c/lib/dalli/protocol/connection_manager.rb:55:in `establish_connection'
	from /usr/share/rvm/gems/[email protected]/bundler/gems/dalli-bec0440a9c4c/lib/dalli/protocol/base.rb:207:in `connect'
	from /usr/share/rvm/gems/[email protected]/bundler/gems/dalli-bec0440a9c4c/lib/dalli/protocol/base.rb:196:in `ensure_connected!'
	from /usr/share/rvm/gems/[email protected]/bundler/gems/dalli-bec0440a9c4c/lib/dalli/protocol/base.rb:58:in `alive?'
	from /usr/share/rvm/gems/[email protected]/bundler/gems/dalli-bec0440a9c4c/lib/dalli/ring.rb:46:in `server_for_key'
	from /usr/share/rvm/gems/[email protected]/bundler/gems/dalli-bec0440a9c4c/lib/dalli/client.rb:425:in `perform'
	from /usr/share/rvm/gems/[email protected]/bundler/gems/dalli-bec0440a9c4c/lib/dalli/client.rb:64:in `get'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:246:in `block (2 levels) in read_serialized_entry'
	from /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:110:in `block (2 levels) in with'
	from /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:109:in `handle_interrupt'
	from /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:109:in `block in with'
	from /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:106:in `handle_interrupt'
	from /usr/share/rvm/gems/[email protected]/gems/connection_pool-2.4.1/lib/connection_pool.rb:106:in `with'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:246:in `block in read_serialized_entry'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:336:in `rescue_error_with'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:245:in `read_serialized_entry'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/strategy/local_cache.rb:130:in `read_serialized_entry'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:241:in `read_entry'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:512:in `block in read'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:1030:in `block in _instrument'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/notifications.rb:206:in `block in instrument'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/notifications.rb:206:in `instrument'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:1029:in `_instrument'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:1006:in `instrument'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:511:in `read'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/cache.rb:486:in `fetch'
	from /home/djean/workspace/conversation-stable/test.rb:1:in `<main>'
	from /usr/share/rvm/gems/[email protected]/gems/railties-7.1.3/lib/rails/commands/runner/runner_command.rb:41:in `load'
	from /usr/share/rvm/gems/[email protected]/gems/railties-7.1.3/lib/rails/commands/runner/runner_command.rb:41:in `block in perform'
	from /usr/share/rvm/gems/[email protected]/gems/activesupport-7.1.3/lib/active_support/execution_wrapper.rb:92:in `wrap'
	from /usr/share/rvm/gems/[email protected]/gems/railties-7.1.3/lib/rails/commands/runner/runner_command.rb:40:in `perform'
	from /usr/share/rvm/gems/[email protected]/gems/thor-1.3.0/lib/thor/command.rb:28:in `run'
	from /usr/share/rvm/gems/[email protected]/gems/thor-1.3.0/lib/thor/invocation.rb:127:in `invoke_command'
	from /usr/share/rvm/gems/[email protected]/gems/railties-7.1.3/lib/rails/command/base.rb:178:in `invoke_command'
	from /usr/share/rvm/gems/[email protected]/gems/thor-1.3.0/lib/thor.rb:527:in `dispatch'
	from /usr/share/rvm/gems/[email protected]/gems/railties-7.1.3/lib/rails/command/base.rb:73:in `perform'
	from /usr/share/rvm/gems/[email protected]/gems/railties-7.1.3/lib/rails/command.rb:71:in `block in invoke'
	from /usr/share/rvm/gems/[email protected]/gems/railties-7.1.3/lib/rails/command.rb:149:in `with_argv'
	from /usr/share/rvm/gems/[email protected]/gems/railties-7.1.3/lib/rails/command.rb:69:in `invoke'
	from /usr/share/rvm/gems/[email protected]/gems/railties-7.1.3/lib/rails/commands.rb:18:in `<main>'
	from <internal:/usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
	from <internal:/usr/share/rvm/rubies/ruby-3.2.3/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:38:in `require'
	from /usr/share/rvm/gems/[email protected]/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	from script/rails:8:in `<main>'

@y9v
Copy link
Contributor

y9v commented Feb 6, 2024

@denisj thank you! this really helps, apparently checking for this initialize method alias doesn't work in your case.

I tested our application (that runs on ruby 3.2.2) and the issue is fixed, so I will try to find why it's still broken in 3.2.3 (or maybe it's not the ruby version that is causing this)

@denisj
Copy link
Author

denisj commented Feb 6, 2024

@y9v Do you need more info?

I'm faking the memcached configuration in dev in order to reproduce the bug:

config.cache_store = :mem_cache_store,
  '127.0.0.1:11211',
  { namespace: 'conversation', compress: true }

@y9v
Copy link
Contributor

y9v commented Feb 6, 2024

@denisj I would probably need some more info, but this not because of cache store configuration, it has something to do with how resolv-replace patches TCPSocket class. I was using the fact that it aliases original TCPSocket#initialize method to check that TCPSocket was patched, but apparently this is not enough

@denisj
Copy link
Author

denisj commented Feb 6, 2024

In my gem list, I have

resolv (default: 0.2.2)
resolv-replace (default: 0.1.1)

@y9v
Copy link
Contributor

y9v commented Feb 6, 2024

@denisj could you please run this code snipped in your production console?

::TCPSocket.private_instance_methods.include?(:original_resolv_initialize)

and also this one:

TCPSocket.private_instance_methods - Object.private_instance_methods

@denisj
Copy link
Author

denisj commented Feb 6, 2024

3.2.3 :001 > ::TCPSocket.private_instance_methods.include?(:original_resolv_initialize)
 => true 
3.2.3 :002 > TCPSocket.private_instance_methods - Object.private_instance_methods
 => [:original_resolv_initialize, :__sendmsg, :__sendmsg_nonblock, :__recv_nonblock, :__recvmsg, :__recvmsg_nonblock, :__read_nonblock, :__write_nonblock] 

@y9v
Copy link
Contributor

y9v commented Feb 6, 2024

@denisj I think what is happening in your case is that resolv-replace gem is loaded after dalli. So when ruby loads socket.rb file from Dalli gem the check that :original_resolv_initialize method exists on TCPSocket returns false, and we assume that TCPSocket is not patched by resolv-replace. Later resolv-replace gem is loaded, patches TCPSocket and the exception is caused again

@y9v
Copy link
Contributor

y9v commented Feb 6, 2024

@denisj it's quite an ugly fix, but I think it might help to remove resolv-replace from your Gemfile (if you have it there), or add require 'resolv-replace' somewhere before setting cache_store value

@y9v
Copy link
Contributor

y9v commented Feb 6, 2024

A better solution for fixing this would be to move this condition that we have when defining Socket#initialize method to the #initialize method, so that it's executed in runtime and not when the code is loaded. I will prepare a PR for this

@jaumegui
Copy link

jaumegui commented Feb 6, 2024

Hello all!

Seems to have a similar issue when updating Dalli from 3.2.6 to 3.2.7 along with rails-settings-cached

Dalli 3.2.7
Ruby 3.1.0
Rails 7.0.7.1
rails-settings-cached 2.8.3

It is quite obscur for me, any advices would be appreciated !
Thanks!

vendor/bundle/ruby/3.1.0/gems/socksify-1.7.1/lib/socksify.rb:178:in `initialize': no implicit conversion of Hash into String (TypeError)
    from vendor/bundle/ruby/3.1.0/gems/socksify-1.7.1/lib/socksify.rb:178:in `initialize'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/socket.rb:93:in `new'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/socket.rb:93:in `open'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/protocol/connection_manager.rb:210:in `memcached_socket'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/protocol/connection_manager.rb:55:in `establish_connection'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/protocol/base.rb:207:in `connect'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/protocol/base.rb:196:in `ensure_connected!'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/protocol/base.rb:58:in `alive?'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/options.rb:24:in `block in alive?'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/options.rb:23:in `synchronize'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/options.rb:23:in `alive?'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/ring.rb:46:in `server_for_key'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/client.rb:425:in `perform'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/client.rb:64:in `get'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache/mem_cache_store.rb:240:in `block (2 levels) in read_serialized_entry'
    from vendor/bundle/ruby/3.1.0/gems/dalli-3.2.7/lib/dalli/client.rb:367:in `with'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache/mem_cache_store.rb:240:in `block in read_serialized_entry'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache/mem_cache_store.rb:316:in `rescue_error_with'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache/mem_cache_store.rb:239:in `read_serialized_entry'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache/strategy/local_cache.rb:113:in `block in read_serialized_entry'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache/strategy/local_cache.rb:58:in `block in fetch_entry'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache/strategy/local_cache.rb:58:in `fetch'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache/strategy/local_cache.rb:58:in `fetch_entry'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache/strategy/local_cache.rb:111:in `read_serialized_entry'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache/mem_cache_store.rb:235:in `read_entry'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache.rb:328:in `block in fetch'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache.rb:783:in `block in instrument'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/notifications.rb:206:in `block in instrument'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/notifications.rb:206:in `instrument'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache.rb:783:in `instrument'
    from vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.7.2/lib/active_support/cache.rb:327:in `fetch'
    from vendor/bundle/ruby/3.1.0/gems/rails-settings-cached-2.8.3/lib/rails-settings/base.rb:207:in `_all_settings'
    from vendor/bundle/ruby/3.1.0/gems/rails-settings-cached-2.8.3/lib/rails-settings/base.rb:193:in `_value_of'
    from vendor/bundle/ruby/3.1.0/gems/rails-settings-cached-2.8.3/lib/rails-settings/base.rb:109:in `block in _define_field'

@y9v
Copy link
Contributor

y9v commented Feb 6, 2024

@denisj I have created a PR with the fix I proposed: #991.

If you want, you can test your application against fix-tcp-socket-timeout branch on my forked dalli repo.

@denisj
Copy link
Author

denisj commented Feb 7, 2024

@y9v It works on my side. Thx.

@bolah2009
Copy link

@petergoldstein It looks like a release for this fix is yet to be pushed/published.

@scottsherwood
Copy link

Ruby: 3.2.3
dalli: 3.2.8
Rails: 7.1.3

After upgrading to the latest release of dalli which I believe contains the fix discussed above, I'm still gaining the following error (backtrace below)

Is anyone still experiencing this error?

/gems/socksify-1.7.1/lib/socksify.rb:178 in initialize
/gems/socksify-1.7.1/lib/socksify.rb:178 in initialize
/gems/dalli-3.2.8/lib/dalli/socket.rb:109 in new
/gems/dalli-3.2.8/lib/dalli/socket.rb:109 in create_socket_with_timeout
/gems/dalli-3.2.8/lib/dalli/socket.rb:92 in open
/gems/dalli-3.2.8/lib/dalli/protocol/connection_manager.rb:210 in memcached_socket
/gems/dalli-3.2.8/lib/dalli/protocol/connection_manager.rb:55 in establish_connection
/gems/dalli-3.2.8/lib/dalli/protocol/base.rb:207 in connect
/gems/dalli-3.2.8/lib/dalli/protocol/base.rb:196 in ensure_connected!
/gems/dalli-3.2.8/lib/dalli/protocol/base.rb:58 in alive?
/gems/dalli-3.2.8/lib/dalli/ring.rb:46 in server_for_key
/gems/dalli-3.2.8/lib/dalli/client.rb:425 in perform
/gems/dalli-3.2.8/lib/dalli/client.rb:64 in get
/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:246 in block (2 levels) in read_serialized_entry
/gems/connection_pool-2.4.1/lib/connection_pool.rb:110 in block (2 levels) in with
/gems/connection_pool-2.4.1/lib/connection_pool.rb:109 in handle_interrupt
/gems/connection_pool-2.4.1/lib/connection_pool.rb:109 in block in with
/gems/connection_pool-2.4.1/lib/connection_pool.rb:106 in handle_interrupt
/gems/connection_pool-2.4.1/lib/connection_pool.rb:106 in with
/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:246 in block in read_serialized_entry
/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:336 in rescue_error_with
/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:245 in read_serialized_entry
/gems/activesupport-7.1.3/lib/active_support/cache/strategy/local_cache.rb:125 in block in read_serialized_entry
/gems/activesupport-7.1.3/lib/active_support/cache/strategy/local_cache.rb:62 in block in fetch_entry
/gems/activesupport-7.1.3/lib/active_support/cache/strategy/local_cache.rb:62 in fetch
/gems/activesupport-7.1.3/lib/active_support/cache/strategy/local_cache.rb:62 in fetch_entry
/gems/activesupport-7.1.3/lib/active_support/cache/strategy/local_cache.rb:123 in read_serialized_entry
/gems/activesupport-7.1.3/lib/active_support/cache/mem_cache_store.rb:241 in read_entry
/gems/activesupport-7.1.3/lib/active_support/cache.rb:460 in block in fetch
/gems/activesupport-7.1.3/lib/active_support/cache.rb:1030 in block in _instrument
/gems/activesupport-7.1.3/lib/active_support/notifications.rb:208 in instrument
/gems/activesupport-7.1.3/lib/active_support/cache.rb:1029 in _instrument
/gems/activesupport-7.1.3/lib/active_support/cache.rb:1006 in instrument
/gems/activesupport-7.1.3/lib/active_support/cache.rb:459 in fetch

@y9v
Copy link
Contributor

y9v commented Feb 14, 2024

@scottsherwood you have a different problem, it's caused bysocksify gem (apparently it also doesn't work with keyword arguments)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants