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

ActionView::Template::Error (Unsupported command argument type: TrueClass) #699

Closed
puneetpandey opened this issue Nov 8, 2022 · 8 comments

Comments

@puneetpandey
Copy link

I am using split gem for my rails project and after performing below steps:

  • Added split to Gemfile
  • Added configuration block to config/environments/development.rb
Split.configure do |config|
  config.db_failover = true # handle Redis errors gracefully
  config.db_failover_on_db_error = -> (error) { Rails.logger.error(error.message) }
  config.enabled = true
  config.redis = Redis.new(host: "localhost")
end
  • Added below code block to my HAML view file:
- ab_test(:payment_button, "/images/amazonpay.png", "/images/apple-pay.png") do |button_file|
  = button_file

I am getting: ActionView::Template::Error (Unsupported command argument type: TrueClass)

I am using Memcache for datastore. So in my development.rb config file, I have config.cache_store = :mem_cache_store line. Even if I change it to use redis_cache_store nothing happens!

Here's my app info:

 % rails about
About your application's environment
Rails version             7.0.0
Ruby version              ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [arm64-darwin21]
RubyGems version          3.1.6
Rack version              2.2.3
JavaScript Runtime        Node.js (V8)
Middleware                Honeybadger::Rack::UserInformer, Honeybadger::Rack::UserFeedback, Honeybadger::Rack::ErrorNotifier, ActionDispatch::HostAuthorization, Rack::Sendfile, Rack::Cors, FontAssets::Middleware, ActionDispatch::Static, ActionDispatch::Executor, ActiveSupport::Cache::Strategy::LocalCache::Middleware, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, ActionDispatch::RemoteIp, Sprockets::Rails::QuietAssets, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::ActionableExceptions, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActiveRecord::Migration::CheckPending, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ContentSecurityPolicy::Middleware, ActionDispatch::PermissionsPolicy::Middleware, Rack::Head, Rack::ConditionalGet, Rack::ETag, Rack::TempfileReaper, Warden::Manager, Rack::Deflater, Rack::Maintenance, Rack::Tracker, Apipie::Extractor::Recorder::Middleware, JQuery::FileUpload::Rails::Middleware, Apipie::StaticDispatcher, ActionDispatch::Static
Application root          /Workspace/myApp
Environment               development
Database adapter          postgresql
Database schema version 
@rjaus
Copy link

rjaus commented Nov 22, 2022

I've just upgraded a rails 6.1 project to rails 7, and I am now getting this error.

split 4.0.1

@andrehjr
Copy link
Member

Hi, which redis and redis-rb version are you using?

Can you post the full stacktrace?

@rjaus
Copy link

rjaus commented Nov 22, 2022

I remember now that I also updated sidekiq to v7, which uses redis-client. I also updated redis from v5 to 6.2.7

Redis server v=6.2.7 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=3813edd7c89460b6

redis (5.0.5, 4.2.5)
redis-client (0.11.2)
Trace of template inclusion: #<ActionView::Template app/views/home.html.erb locals=[]>

Rails.root: /app
[Application Trace](http://localhost:3000/#) | [Framework Trace](http://localhost:3000/#) | [Full Trace](http://localhost:3000/#)
redis-client (0.11.2) lib/redis_client/command_builder.rb:75:in `block in generate'
redis-client (0.11.2) lib/redis_client/command_builder.rb:68:in `map!'
redis-client (0.11.2) lib/redis_client/command_builder.rb:68:in `generate'
redis-client (0.11.2) lib/redis_client.rb:218:in `call_v'
redis (5.0.5) lib/redis/client.rb:73:in `call_v'
redis (5.0.5) lib/redis.rb:167:in `block in send_command'
redis (5.0.5) lib/redis.rb:166:in `synchronize'
redis (5.0.5) lib/redis.rb:166:in `send_command'
redis (5.0.5) lib/redis/commands/hashes.rb:51:in `hmset'
split (4.0.1) lib/split/experiment.rb:90:in `save'
split (4.0.1) lib/split/helper.rb:13:in `ab_test'
app/views/shared/form/_form_card.html.erb:16
actionview (7.0.4) lib/action_view/base.rb:244:in `public_send'
actionview (7.0.4) lib/action_view/base.rb:244:in `_run'
actionview (7.0.4) lib/action_view/template.rb:157:in `block in render'
activesupport (7.0.4) lib/active_support/notifications.rb:208:in `instrument'
actionview (7.0.4) lib/action_view/template.rb:361:in `instrument_render_template'
actionview (7.0.4) lib/action_view/template.rb:155:in `render'
actionview (7.0.4) lib/action_view/renderer/partial_renderer.rb:251:in `block in render_partial_template'
activesupport (7.0.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.4) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.4) lib/active_support/notifications.rb:206:in `instrument'
actionview (7.0.4) lib/action_view/renderer/partial_renderer.rb:246:in `render_partial_template'
actionview (7.0.4) lib/action_view/renderer/partial_renderer.rb:237:in `render'
actionview (7.0.4) lib/action_view/renderer/renderer.rb:81:in `render_partial_to_object'
actionview (7.0.4) lib/action_view/renderer/renderer.rb:27:in `render_to_object'
actionview (7.0.4) lib/action_view/renderer/renderer.rb:22:in `render'
actionview (7.0.4) lib/action_view/helpers/rendering_helper.rb:37:in `block in render'
actionview (7.0.4) lib/action_view/base.rb:270:in `in_rendering_context'
actionview (7.0.4) lib/action_view/helpers/rendering_helper.rb:33:in `render'
app/views/home.html.erb:122
actionview (7.0.4) lib/action_view/base.rb:244:in `public_send'
actionview (7.0.4) lib/action_view/base.rb:244:in `_run'
actionview (7.0.4) lib/action_view/template.rb:157:in `block in render'
activesupport (7.0.4) lib/active_support/notifications.rb:208:in `instrument'
actionview (7.0.4) lib/action_view/template.rb:361:in `instrument_render_template'
actionview (7.0.4) lib/action_view/template.rb:155:in `render'
actionview (7.0.4) lib/action_view/renderer/template_renderer.rb:65:in `block (2 levels) in render_template'
activesupport (7.0.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.4) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.4) lib/active_support/notifications.rb:206:in `instrument'
actionview (7.0.4) lib/action_view/renderer/template_renderer.rb:60:in `block in render_template'
actionview (7.0.4) lib/action_view/renderer/template_renderer.rb:75:in `block in render_with_layout'
activesupport (7.0.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.4) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.4) lib/active_support/notifications.rb:206:in `instrument'
actionview (7.0.4) lib/action_view/renderer/template_renderer.rb:74:in `render_with_layout'
actionview (7.0.4) lib/action_view/renderer/template_renderer.rb:59:in `render_template'
actionview (7.0.4) lib/action_view/renderer/template_renderer.rb:11:in `render'
actionview (7.0.4) lib/action_view/renderer/renderer.rb:61:in `render_template_to_object'
actionview (7.0.4) lib/action_view/renderer/renderer.rb:29:in `render_to_object'
actionview (7.0.4) lib/action_view/rendering.rb:117:in `block in _render_template'
actionview (7.0.4) lib/action_view/base.rb:270:in `in_rendering_context'
actionview (7.0.4) lib/action_view/rendering.rb:116:in `_render_template'
actionpack (7.0.4) lib/action_controller/metal/streaming.rb:216:in `_render_template'
actionview (7.0.4) lib/action_view/rendering.rb:103:in `render_to_body'
actionpack (7.0.4) lib/action_controller/metal/rendering.rb:46:in `render_to_body'
actionpack (7.0.4) lib/action_controller/metal/renderers.rb:141:in `render_to_body'
actionpack (7.0.4) lib/abstract_controller/rendering.rb:25:in `render'
actionpack (7.0.4) lib/action_controller/metal/rendering.rb:30:in `render'
actionpack (7.0.4) lib/action_controller/metal/instrumentation.rb:22:in `block (2 levels) in render'
/usr/local/lib/ruby/2.7.0/benchmark.rb:308:in `realtime'
activesupport (7.0.4) lib/active_support/core_ext/benchmark.rb:14:in `ms'
actionpack (7.0.4) lib/action_controller/metal/instrumentation.rb:22:in `block in render'
actionpack (7.0.4) lib/action_controller/metal/instrumentation.rb:91:in `cleanup_view_runtime'
activerecord (7.0.4) lib/active_record/railties/controller_runtime.rb:34:in `cleanup_view_runtime'
actionpack (7.0.4) lib/action_controller/metal/instrumentation.rb:21:in `render'
meta-tags (2.18.0) lib/meta_tags/controller_helper.rb:22:in `render'
app/controllers/application_controller.rb:13:in `home'
actionpack (7.0.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.0.4) lib/abstract_controller/base.rb:215:in `process_action'
actionpack (7.0.4) lib/action_controller/metal/rendering.rb:53:in `process_action'
actionpack (7.0.4) lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport (7.0.4) lib/active_support/callbacks.rb:118:in `block in run_callbacks'
actiontext (7.0.4) lib/action_text/rendering.rb:20:in `with_renderer'
actiontext (7.0.4) lib/action_text/engine.rb:69:in `block (4 levels) in <class:Engine>'
activesupport (7.0.4) lib/active_support/callbacks.rb:127:in `instance_exec'
activesupport (7.0.4) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
activesupport (7.0.4) lib/active_support/callbacks.rb:138:in `run_callbacks'
actionpack (7.0.4) lib/abstract_controller/callbacks.rb:233:in `process_action'
actionpack (7.0.4) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (7.0.4) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
activesupport (7.0.4) lib/active_support/notifications.rb:206:in `block in instrument'
activesupport (7.0.4) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (7.0.4) lib/active_support/notifications.rb:206:in `instrument'
actionpack (7.0.4) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
actionpack (7.0.4) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.0.4) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (7.0.4) lib/abstract_controller/base.rb:151:in `process'
actionview (7.0.4) lib/action_view/rendering.rb:39:in `process'
actionpack (7.0.4) lib/action_controller/metal.rb:188:in `dispatch'
actionpack (7.0.4) lib/action_controller/metal.rb:251:in `dispatch'
actionpack (7.0.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
actionpack (7.0.4) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (7.0.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (7.0.4) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (7.0.4) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (7.0.4) lib/action_dispatch/routing/route_set.rb:852:in `call'
warden (1.2.9) lib/warden/manager.rb:36:in `block in call'
warden (1.2.9) lib/warden/manager.rb:34:in `catch'
warden (1.2.9) lib/warden/manager.rb:34:in `call'
rack (2.2.4) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.4) lib/rack/etag.rb:27:in `call'
rack (2.2.4) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.4) lib/rack/head.rb:12:in `call'
actionpack (7.0.4) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
actionpack (7.0.4) lib/action_dispatch/http/content_security_policy.rb:36:in `call'
rack (2.2.4) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.4) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/cookies.rb:696:in `call'
activerecord (7.0.4) lib/active_record/migration.rb:603:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (7.0.4) lib/active_support/callbacks.rb:99:in `run_callbacks'
actionpack (7.0.4) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
web-console (4.2.0) lib/web_console/middleware.rb:132:in `call_app'
web-console (4.2.0) lib/web_console/middleware.rb:19:in `block in call'
web-console (4.2.0) lib/web_console/middleware.rb:17:in `catch'
web-console (4.2.0) lib/web_console/middleware.rb:17:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/show_exceptions.rb:26:in `call'
railties (7.0.4) lib/rails/rack/logger.rb:40:in `call_app'
railties (7.0.4) lib/rails/rack/logger.rb:25:in `block in call'
activesupport (7.0.4) lib/active_support/tagged_logging.rb:99:in `block in tagged'
activesupport (7.0.4) lib/active_support/tagged_logging.rb:37:in `tagged'
activesupport (7.0.4) lib/active_support/tagged_logging.rb:99:in `tagged'
railties (7.0.4) lib/rails/rack/logger.rb:25:in `call'
sprockets-rails (3.4.2) lib/sprockets/rails/quiet_assets.rb:13:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/request_id.rb:26:in `call'
rack (2.2.4) lib/rack/method_override.rb:24:in `call'
rack (2.2.4) lib/rack/runtime.rb:22:in `call'
activesupport (7.0.4) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/static.rb:23:in `call'
rack (2.2.4) lib/rack/sendfile.rb:110:in `call'
actionpack (7.0.4) lib/action_dispatch/middleware/host_authorization.rb:137:in `call'
rack-mini-profiler (2.3.4) lib/mini_profiler/profiler.rb:393:in `call'
honeybadger (4.12.2) lib/honeybadger/rack/error_notifier.rb:33:in `block in call'
honeybadger (4.12.2) lib/honeybadger/agent.rb:426:in `with_rack_env'
honeybadger (4.12.2) lib/honeybadger/rack/error_notifier.rb:30:in `call'
honeybadger (4.12.2) lib/honeybadger/rack/user_feedback.rb:31:in `call'
honeybadger (4.12.2) lib/honeybadger/rack/user_informer.rb:21:in `call'
rack-cors (1.1.1) lib/rack/cors.rb:100:in `call'
webpacker (5.4.3) lib/webpacker/dev_server_proxy.rb:25:in `perform_request'
rack-proxy (0.7.4) lib/rack/proxy.rb:78:in `call'
railties (7.0.4) lib/rails/engine.rb:530:in `call'
puma (5.6.5) lib/puma/configuration.rb:252:in `call'
puma (5.6.5) lib/puma/request.rb:77:in `block in handle_request'
puma (5.6.5) lib/puma/thread_pool.rb:340:in `with_force_shutdown'
puma (5.6.5) lib/puma/request.rb:76:in `handle_request'
puma (5.6.5) lib/puma/server.rb:443:in `process_client'
puma (5.6.5) lib/puma/thread_pool.rb:147:in `block in spawn_thread'

@rjaus
Copy link

rjaus commented Nov 22, 2022

I'm not sure if it's related, but here are the details on sidekiq & redis-client: https://github.com/mperham/sidekiq/blob/main/docs/7.0-Upgrade.md#redis-client

@andrehjr
Copy link
Member

I see!

Ok, so actually, this was fixed on #696. I need to release a new version with it

@rjaus
Copy link

rjaus commented Nov 22, 2022

Ahhh awesome. Thanks! I'll use that.

@testa19
Copy link

testa19 commented Dec 2, 2022

I see!

Ok, so actually, this was fixed on #696. I need to release a new version with it

Hi, please release)

@puneetpandey
Copy link
Author

It's no longer an issue with latest split version 4.0.2. So I am marking it closed.

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

4 participants