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

exists? fails with undefined method >' for true:TrueClass` #922

Closed
swelther opened this issue Jun 15, 2020 · 9 comments
Closed

exists? fails with undefined method >' for true:TrueClass` #922

swelther opened this issue Jun 15, 2020 · 9 comments

Comments

@swelther
Copy link

After updating redis-rb gem to 4.2.1 our tests fail with undefined method >' for true:TrueClass. I'm not sure if this is the fault of the redis-session-store` gem or not.

It seems to come from #918 and this method:

  client.call([:exists, *keys]) do |value|
    value > 0
  end

In my examples value is true, which results in the error above. A fix could be checking if keys.count > 1 and then doing the value > 0 thing, and if not, just return value. But not sure about that. Any ideas? :)

@byroot
Copy link
Collaborator

byroot commented Jun 15, 2020

Could you provide the backtrace please? Otherwise it's hard to answer.

@byroot
Copy link
Collaborator

byroot commented Jun 15, 2020

Also what's the version of your Redis server?

@swelther
Copy link
Author

Sure, the backtrace:

# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/redis-4.2.1/lib/redis.rb:609:in `block (2 levels) in exists?'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/redis-4.2.1/lib/redis/client.rb:130:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/redis-4.2.1/lib/redis.rb:607:in `block in exists?'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/redis-4.2.1/lib/redis.rb:69:in `block in synchronize'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/redis-4.2.1/lib/redis.rb:69:in `synchronize'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/redis-4.2.1/lib/redis.rb:604:in `exists?'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/redis-4.2.1/lib/redis.rb:587:in `exists'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/redis-session-store-0.11.1/lib/redis-session-store.rb:72:in `session_exists?'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/request/session.rb:195:in `exists?'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/request/session.rb:219:in `load_for_read!'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/request/session.rb:92:in `[]'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-1.2.8/lib/warden/session_serializer.rb:31:in `fetch'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-1.2.8/lib/warden/proxy.rb:224:in `user'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-1.2.8/lib/warden/proxy.rb:334:in `_perform_authentication'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-1.2.8/lib/warden/proxy.rb:110:in `authenticate'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-1.2.8/lib/warden/proxy.rb:120:in `authenticate?'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/devise-4.7.1/lib/devise/controllers/sign_in_out.rb:15:in `block in signed_in?'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/devise-4.7.1/lib/devise/controllers/sign_in_out.rb:14:in `any?'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/devise-4.7.1/lib/devise/controllers/sign_in_out.rb:14:in `signed_in?'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/devise-security-0.14.3/lib/devise-security/controllers/helpers.rb:51:in `block in handle_password_change'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/devise-security-0.14.3/lib/devise-security/controllers/helpers.rb:50:in `any?'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/devise-security-0.14.3/lib/devise-security/controllers/helpers.rb:50:in `handle_password_change'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/callbacks.rb:426:in `block in make_lambda'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/callbacks.rb:198:in `block (2 levels) in halting'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/callbacks.rb:199:in `block in halting'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/callbacks.rb:513:in `block in invoke_before'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/callbacks.rb:513:in `each'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/callbacks.rb:513:in `invoke_before'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/callbacks.rb:131:in `run_callbacks'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/abstract_controller/callbacks.rb:41:in `process_action'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_controller/metal/rescue.rb:22:in `process_action'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/notifications.rb:168:in `block in instrument'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/notifications.rb:168:in `instrument'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activerecord-5.2.4.3/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/abstract_controller/base.rb:134:in `process'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionview-5.2.4.3/lib/action_view/rendering.rb:32:in `process'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_controller/metal.rb:191:in `dispatch'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_controller/metal.rb:252:in `dispatch'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/routing/route_set.rb:34:in `serve'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/journey/router.rb:52:in `block in serve'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/journey/router.rb:35:in `each'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/journey/router.rb:35:in `serve'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/routing/route_set.rb:840:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/apollo_upload_server-2.0.1/lib/apollo_upload_server/middleware.rb:20:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/simple_captcha2-0.5.0/lib/simple_captcha/middleware.rb:47:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:36:in `block in call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:34:in `catch'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:34:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/tempfile_reaper.rb:15:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/etag.rb:27:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/conditional_get.rb:27:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/head.rb:12:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/session/abstract/id.rb:266:in `context'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/session/abstract/id.rb:260:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/cookies.rb:670:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/callbacks.rb:98:in `run_callbacks'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-5.2.4.3/lib/rails/rack/logger.rb:38:in `call_app'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-5.2.4.3/lib/rails/rack/logger.rb:26:in `block in call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/tagged_logging.rb:71:in `block in tagged'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/tagged_logging.rb:28:in `tagged'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/tagged_logging.rb:71:in `tagged'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-5.2.4.3/lib/rails/rack/logger.rb:26:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/request_store-1.5.0/lib/request_store/middleware.rb:19:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/request_id.rb:27:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/method_override.rb:24:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/runtime.rb:22:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activesupport-5.2.4.3/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/executor.rb:14:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/static.rb:127:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-2.2.2/lib/rack/sendfile.rb:110:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-cors-1.1.1/lib/rack/cors.rb:100:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/railties-5.2.4.3/lib/rails/engine.rb:524:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-test-1.1.0/lib/rack/mock_session.rb:29:in `request'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-test-1.1.0/lib/rack/test.rb:266:in `process_request'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rack-test-1.1.0/lib/rack/test.rb:119:in `request'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/testing/integration.rb:263:in `process'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/testing/integration.rb:18:in `get'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/testing/integration.rb:56:in `follow_redirect!'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/actionpack-5.2.4.3/lib/action_dispatch/testing/integration.rb:350:in `block (2 levels) in <module:Runner>'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/dsl.rb:529:in `method_missing'
# ./spec/support/matchers/be_not_authorized.rb:11:in `block (2 levels) in <main>'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/dsl.rb:135:in `block (2 levels) in match'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-support-3.9.3/lib/rspec/support.rb:113:in `with_failure_notifier'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.9.2/lib/rspec/matchers/dsl.rb:133:in `block in match'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/handler.rb:27:in `with_matcher'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-expectations-3.9.2/lib/rspec/expectations/expectation_target.rb:65:in `to'
# ./spec/requests/my_request_spec.rb:197:in `block (4 levels) in <top (required)>'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:257:in `instance_exec'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:257:in `block in run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/hooks.rb:481:in `block in run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/hooks.rb:621:in `block in run_around_example_hooks_for'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:345:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-rails-3.9.1/lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:450:in `instance_exec'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:450:in `instance_exec'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/hooks.rb:385:in `execute_with'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/hooks.rb:623:in `block (2 levels) in run_around_example_hooks_for'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:345:in `call'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/hooks.rb:481:in `run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:460:in `with_around_example_hooks'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example.rb:254:in `run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb:644:in `block in run_examples'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb:640:in `map'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb:640:in `run_examples'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb:606:in `run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb:607:in `block in run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb:607:in `map'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb:607:in `run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb:607:in `block in run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb:607:in `map'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/example_group.rb:607:in `run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:121:in `map'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/configuration.rb:2058:in `with_suite_hooks'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:116:in `block in run_specs'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:74:in `report'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:115:in `run_specs'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:89:in `run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:71:in `run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:45:in `invoke'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.2/exe/rspec:4:in `<top (required)>'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/bin/rspec:23:in `load'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/bin/rspec:23:in `<top (required)>'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `load'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `kernel_load'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:28:in `run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:476:in `exec'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:30:in `dispatch'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:24:in `start'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/exe/bundle:46:in `block in <top (required)>'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/friendly_errors.rb:123:in `with_friendly_errors'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/exe/bundle:34:in `<top (required)>'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/bin/bundle:23:in `load'
# /Users/sebastianwelther/.rbenv/versions/2.6.5/bin/bundle:23:in `<main>'

Redis-server:

$ redis-server -v
Redis server v=5.0.3 sha=00000000:0 malloc=libc bits=64 build=457be8ba4fa3e51f

@byroot
Copy link
Collaborator

byroot commented Jun 15, 2020

I'm afraid something must be wrong with your Redis client. We specifically test that code path, and I just tried it again manually it works just fine, and call([:exists, 'key']) returns a boolean:

>> Redis.new._client.call([:exists, 'a'])
=> 1

I also don't see anything wrong in redis-session-store.

I see it breaks in your test suite, aren't you using mock_redis, fake_redis or something like that?

Are you using a custom connection implementation?

Anyway, at this stage I can only assume the issue is with your app, and you will have to investigate the problem.

@swelther
Copy link
Author

We're indeed using fakeredis, at least it is listed in the gemfile. I do not see any require "fakeredis", maybe we missed that? :D

Anyway, thank you very much for the fast replies! I'll update this issue with any news, maybe others have similar problems :)

@byroot
Copy link
Collaborator

byroot commented Jun 15, 2020

I do not see any require "fakeredis"

If it's in your Gemfile, it's required by default.

@byroot
Copy link
Collaborator

byroot commented Jun 15, 2020

Looks like someone opened a PR already: guilleiguaran/fakeredis#247

@swelther
Copy link
Author

swelther commented Jun 15, 2020

Yeah we have fakredis only in test environment in the Gemfile, so that seems to be the issue :)

Again, thank you very much. I'll wait for the fix in fakeredis before updating redis-rb.

@byroot
Copy link
Collaborator

byroot commented Jun 15, 2020

Since the issue is determined to be 3rd party, I'll close.

@byroot byroot closed this as completed Jun 15, 2020
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

No branches or pull requests

2 participants