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

[Bug]: ActionMailer::MailDeliveryJob.arguments unexpected format for sidekiq #426

Closed
michaelroudnitski opened this issue Oct 28, 2024 · 1 comment · Fixed by #433
Closed
Assignees
Labels

Comments

@michaelroudnitski
Copy link
Contributor

Problem Description

Hi, I was debugging why our sidekiq dashboard http://rails-app-url/sidekiq crashes with a 500 error when we have a mail delivery job in the queue. This happens only in production and cannot be replicated in development environments. I realized Instana is likely the cause from doing a quick search of installed gems.

The issue manifests as follows:

MailDeliveryJob is added to the queue

Development

The response from enqueuing looks like this:

MemberMailer.with(user: User.last).invite_email.deliver_later
=>
#<ActionMailer::MailDeliveryJob:0x0000000121c9bf68
 @_halted_callback_hook_called=nil,
 @_scheduled_at_time=nil,
 @arguments=
  ["MemberMailer",
   "invite_email",
   "deliver_now",
   {:params=>
     {:user=> ...

Production

The response from enqueuing looks like this:

=>
#<ActionMailer::MailDeliveryJob:0x00007f6d552d9bb8
 @_halted_callback_hook_called=nil,
 @_scheduled_at_time=nil,
 @arguments=
  [{:given_arguments=>
     ["MemberMailer",
      "invite_email",
      "deliver_now",
      {:params=>
        {:user=> ...

Please note @arguments is different in production, given_arguments has been added to wrap the args

Sidekiq dashboard is loaded

Development

No problems

Production

500 error

Sidekiq is unable to render the busy dashboard because the structure it is expecting for arguments has been changed from what it expects. Here is the specific line of source code that crashes https://github.com/sidekiq/sidekiq/blob/main/lib/sidekiq/api.rb#L399. Sidekiq is expecting to see a list, drop the first 3 elements and call values_at on the remaining element. However, it ends up calling values_at on nil.

Possible cause

I did a quick search in my app for given_arguments to see if I had any code mutating the arguments somehow but did not find anything. I searched the source code of all installed gems and found this line in Instana

job.arguments = job.arguments.first[:given_arguments]
. I can only assume Instana is mutating the arguments object that sidekiq depends on for rendering its UI. This explains why the problem only manifests in production.

Minimal, Complete, Verifiable, Example

Included in problem description, summary:

  • install instana, sidekiq and action mailer.
  • enqueue a mail delivery job
  • go to sidekiq dashboard
  • observe a 500 error

stacktrace:

NoMethodError (undefined method `values_at' for nil): sidekiq (7.3.4) lib/sidekiq/api.rb:399:in `display_args' sidekiq (7.3.4) web/views/busy.erb:142:in `block in _erb_busy' sidekiq (7.3.4) web/views/busy.erb:128:in `each' sidekiq (7.3.4) web/views/busy.erb:128:in `_erb_busy' sidekiq (7.3.4) lib/sidekiq/web/action.rb:99:in `_erb' sidekiq (7.3.4) lib/sidekiq/web/action.rb:68:in `erb' sidekiq (7.3.4) lib/sidekiq/web/application.rb:92:in `block in <class:WebApplication>' sidekiq (7.3.4) lib/sidekiq/web/application.rb:390:in `instance_exec' sidekiq (7.3.4) lib/sidekiq/web/application.rb:390:in `block in call' sidekiq (7.3.4) lib/sidekiq/web/application.rb:388:in `catch' sidekiq (7.3.4) lib/sidekiq/web/application.rb:388:in `call' sidekiq (7.3.4) lib/sidekiq/web/csrf_protection.rb:51:in `admit' sidekiq (7.3.4) lib/sidekiq/web/csrf_protection.rb:40:in `call' rack (2.2.10) lib/rack/static.rb:161:in `call' rack (2.2.10) lib/rack/builder.rb:244:in `call' sidekiq (7.3.4) lib/sidekiq/web.rb:121:in `call' sidekiq (7.3.4) lib/sidekiq/web.rb:126:in `call' actionpack (7.1.4.2) lib/action_dispatch/routing/mapper.rb:31:in `block in <class:Constraints>' actionpack (7.1.4.2) lib/action_dispatch/routing/mapper.rb:60:in `serve' actionpack (7.1.4.2) lib/action_dispatch/journey/router.rb:51:in `block in serve' actionpack (7.1.4.2) lib/action_dispatch/journey/router.rb:131:in `block in find_routes' actionpack (7.1.4.2) lib/action_dispatch/journey/router.rb:124:in `each' actionpack (7.1.4.2) lib/action_dispatch/journey/router.rb:124:in `find_routes' actionpack (7.1.4.2) lib/action_dispatch/journey/router.rb:32:in `serve' actionpack (7.1.4.2) lib/action_dispatch/routing/route_set.rb:882:in `call' omniauth (2.1.2) lib/omniauth/strategy.rb:202:in `call!' omniauth (2.1.2) lib/omniauth/strategy.rb:169:in `call' omniauth (2.1.2) lib/omniauth/strategy.rb:202:in `call!' omniauth (2.1.2) lib/omniauth/strategy.rb:169:in `call' omniauth (2.1.2) lib/omniauth/strategy.rb:202:in `call!' omniauth (2.1.2) lib/omniauth/strategy.rb:169:in `call' omniauth (2.1.2) lib/omniauth/strategy.rb:202:in `call!' omniauth (2.1.2) lib/omniauth/strategy.rb:169:in `call' omniauth (2.1.2) lib/omniauth/strategy.rb:202:in `call!' omniauth (2.1.2) lib/omniauth/strategy.rb:169:in `call' omniauth (2.1.2) lib/omniauth/strategy.rb:202:in `call!' omniauth (2.1.2) lib/omniauth/strategy.rb:169:in `call' flipper (0.28.3) lib/flipper/middleware/memoizer.rb:72:in `memoized_call' flipper (0.28.3) lib/flipper/middleware/memoizer.rb:37: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.10) lib/rack/tempfile_reaper.rb:15:in `call' rack (2.2.10) lib/rack/etag.rb:27:in `call' rack (2.2.10) lib/rack/conditional_get.rb:27:in `call' rack (2.2.10) lib/rack/head.rb:12:in `call' actionpack (7.1.4.2) lib/action_dispatch/http/permissions_policy.rb:36:in `call' actionpack (7.1.4.2) lib/action_dispatch/http/content_security_policy.rb:33:in `call' rack (2.2.10) lib/rack/session/abstract/id.rb:266:in `context' rack (2.2.10) lib/rack/session/abstract/id.rb:260:in `call' actionpack (7.1.4.2) lib/action_dispatch/middleware/cookies.rb:689:in `call' actionpack (7.1.4.2) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call' activesupport (7.1.4.2) lib/active_support/callbacks.rb:101:in `run_callbacks' actionpack (7.1.4.2) lib/action_dispatch/middleware/callbacks.rb:28:in `call' actionpack (7.1.4.2) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call' actionpack (7.1.4.2) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' railties (7.1.4.2) lib/rails/rack/logger.rb:37:in `call_app' railties (7.1.4.2) lib/rails/rack/logger.rb:26:in `call' ahoy_matey (4.2.1) lib/ahoy/engine.rb:22:in `call_with_quiet_ahoy' actionpack (7.1.4.2) lib/action_dispatch/middleware/remote_ip.rb:92:in `call' actionpack (7.1.4.2) lib/action_dispatch/middleware/request_id.rb:28:in `call' rack (2.2.10) lib/rack/method_override.rb:24:in `call' rack (2.2.10) lib/rack/runtime.rb:22:in `call' activesupport (7.1.4.2) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call' actionpack (7.1.4.2) lib/action_dispatch/middleware/executor.rb:14:in `call' actionpack (7.1.4.2) lib/action_dispatch/middleware/static.rb:25:in `call' rack (2.2.10) lib/rack/sendfile.rb:110:in `call' rack-cors (2.0.2) lib/rack/cors.rb:102:in `call' instana (1.216.0) lib/instana/instrumentation/rack.rb:21:in `call' railties (7.1.4.2) lib/rails/engine.rb:536:in `call' puma (5.6.9) lib/puma/configuration.rb:252:in `call' puma (5.6.9) lib/puma/request.rb:77:in `block in handle_request' puma (5.6.9) lib/puma/thread_pool.rb:340:in `with_force_shutdown' puma (5.6.9) lib/puma/request.rb:76:in `handle_request' puma (5.6.9) lib/puma/server.rb:443:in `process_client' puma (5.6.9) lib/puma/thread_pool.rb:147:in `block in spawn_thread'

Gemfile.lock

GEM
  remote: https://rubygems.org/
  specs:
    actioncable (7.1.4.2)
      actionpack (= 7.1.4.2)
      activesupport (= 7.1.4.2)
      nio4r (~> 2.0)
      websocket-driver (>= 0.6.1)
      zeitwerk (~> 2.6)
    actionmailbox (7.1.4.2)
      actionpack (= 7.1.4.2)
      activejob (= 7.1.4.2)
      activerecord (= 7.1.4.2)
      activestorage (= 7.1.4.2)
      activesupport (= 7.1.4.2)
      mail (>= 2.7.1)
      net-imap
      net-pop
      net-smtp
    actionmailer (7.1.4.2)
      actionpack (= 7.1.4.2)
      actionview (= 7.1.4.2)
      activejob (= 7.1.4.2)
      activesupport (= 7.1.4.2)
      mail (~> 2.5, >= 2.5.4)
      net-imap
      net-pop
      net-smtp
      rails-dom-testing (~> 2.2)
    actionpack (7.1.4.2)
      actionview (= 7.1.4.2)
      activesupport (= 7.1.4.2)
      nokogiri (>= 1.8.5)
      racc
      rack (>= 2.2.4)
      rack-session (>= 1.0.1)
      rack-test (>= 0.6.3)
      rails-dom-testing (~> 2.2)
      rails-html-sanitizer (~> 1.6)
    actionpack-action_caching (1.2.2)
      actionpack (>= 4.0.0)
    actiontext (7.1.4.2)
      actionpack (= 7.1.4.2)
      activerecord (= 7.1.4.2)
      activestorage (= 7.1.4.2)
      activesupport (= 7.1.4.2)
      globalid (>= 0.6.0)
      nokogiri (>= 1.8.5)
    actionview (7.1.4.2)
      activesupport (= 7.1.4.2)
      builder (~> 3.1)
      erubi (~> 1.11)
      rails-dom-testing (~> 2.2)
      rails-html-sanitizer (~> 1.6)
    active_storage_validations (0.9.8)
      activejob (>= 5.2.0)
      activemodel (>= 5.2.0)
      activestorage (>= 5.2.0)
      activesupport (>= 5.2.0)
    activejob (7.1.4.2)
      activesupport (= 7.1.4.2)
      globalid (>= 0.3.6)
    activemodel (7.1.4.2)
      activesupport (= 7.1.4.2)
    activerecord (7.1.4.2)
      activemodel (= 7.1.4.2)
      activesupport (= 7.1.4.2)
      timeout (>= 0.4.0)
    activerecord-import (1.8.1)
      activerecord (>= 4.2)
    activestorage (7.1.4.2)
      actionpack (= 7.1.4.2)
      activejob (= 7.1.4.2)
      activerecord (= 7.1.4.2)
      activesupport (= 7.1.4.2)
      marcel (~> 1.0)
    activesupport (7.1.4.2)
      base64
      bigdecimal
      concurrent-ruby (~> 1.0, >= 1.0.2)
      connection_pool (>= 2.2.5)
      drb
      i18n (>= 1.6, < 2)
      minitest (>= 5.1)
      mutex_m
      tzinfo (~> 2.0)
    acts-as-taggable-on (10.0.0)
      activerecord (>= 6.1, < 7.2)
    addressable (2.8.7)
      public_suffix (>= 2.0.2, < 7.0)
    aes_key_wrap (1.1.0)
    ahoy_matey (4.2.1)
      activesupport (>= 5.2)
      device_detector
      safely_block (>= 0.2.1)
    ast (2.4.2)
    audited (5.7.0)
      activerecord (>= 5.2, < 8.0)
      activesupport (>= 5.2, < 8.0)
    aws-eventstream (1.3.0)
    aws-partitions (1.992.0)
    aws-sdk-core (3.210.0)
      aws-eventstream (~> 1, >= 1.3.0)
      aws-partitions (~> 1, >= 1.992.0)
      aws-sigv4 (~> 1.9)
      jmespath (~> 1, >= 1.6.1)
    aws-sdk-kms (1.95.0)
      aws-sdk-core (~> 3, >= 3.210.0)
      aws-sigv4 (~> 1.5)
    aws-sdk-s3 (1.169.0)
      aws-sdk-core (~> 3, >= 3.210.0)
      aws-sdk-kms (~> 1)
      aws-sigv4 (~> 1.5)
    aws-sigv4 (1.10.0)
      aws-eventstream (~> 1, >= 1.0.2)
    base64 (0.2.0)
    bcrypt (3.1.20)
    bigdecimal (3.1.8)
    bindata (2.5.0)
    bindex (0.8.1)
    blazer (2.6.5)
      activerecord (>= 5)
      chartkick (>= 3.2)
      railties (>= 5)
      safely_block (>= 0.1.1)
    bootsnap (1.18.4)
      msgpack (~> 1.2)
    boxr (1.21.1)
      addressable (~> 2.8)
      hashie (>= 3.5, < 6)
      httpclient (~> 2.8)
      jwt (>= 1.4, < 3)
    builder (3.3.0)
    bullet (7.2.0)
      activesupport (>= 3.0.0)
      uniform_notifier (~> 1.11)
    byebug (11.1.3)
    capybara (3.40.0)
      addressable
      matrix
      mini_mime (>= 0.1.3)
      nokogiri (~> 1.11)
      rack (>= 1.6.0)
      rack-test (>= 0.6.3)
      regexp_parser (>= 1.5, < 3.0)
      xpath (~> 3.2)
    chartkick (5.0.6)
    concurrent-ruby (1.3.4)
    config (5.5.2)
      deep_merge (~> 1.2, >= 1.2.1)
      ostruct
    connection_pool (2.4.1)
    crack (1.0.0)
      bigdecimal
      rexml
    crass (1.0.6)
    css_parser (1.17.1)
      addressable
    csv (3.3.0)
    cypress-rails (0.7.1)
      puma (>= 3.8.0)
      railties (>= 5.2.0)
    date (3.3.4)
    deep_merge (1.2.2)
    device_detector (1.1.2)
    devise (4.9.4)
      bcrypt (~> 3.0)
      orm_adapter (~> 0.1)
      railties (>= 4.1.0)
      responders
      warden (~> 1.2.3)
    diff-lcs (1.5.1)
    docile (1.4.0)
    doorkeeper (5.7.1)
      railties (>= 5)
    drb (2.2.1)
    erb-formatter (0.7.3)
      syntax_tree (~> 6.0)
    erubi (1.13.0)
    et-orbi (1.2.11)
      tzinfo
    factory_bot (6.4.6)
      activesupport (>= 5.0.0)
    factory_bot_rails (6.4.3)
      factory_bot (~> 6.4)
      railties (>= 5.0.0)
    faker (2.23.0)
      i18n (>= 1.8.11, < 2)
    faraday (2.12.0)
      faraday-net_http (>= 2.0, < 3.4)
      json
      logger
    faraday-mashify (0.1.1)
      faraday (~> 2.0)
      hashie
    faraday-multipart (1.0.4)
      multipart-post (~> 2)
    faraday-net_http (3.3.0)
      net-http
    faraday-retry (2.2.1)
      faraday (~> 2.0)
    ffi (1.17.0)
    flipper (0.28.3)
      concurrent-ruby (< 2)
    flipper-active_record (0.28.3)
      activerecord (>= 4.2, < 8)
      flipper (~> 0.28.3)
    flipper-ui (0.28.3)
      erubi (>= 1.0.0, < 2.0.0)
      flipper (~> 0.28.3)
      rack (>= 1.4, < 3)
      rack-protection (>= 1.5.3, <= 4.0.0)
      sanitize (< 7)
    front_matter_parser (1.0.1)
    fugit (1.11.0)
      et-orbi (~> 1, >= 1.2.11)
      raabro (~> 1.4)
    gli (2.21.3)
    globalid (1.2.1)
      activesupport (>= 6.1)
    hashdiff (1.1.1)
    hashie (5.0.0)
    heroicon (1.0.0)
      rails (>= 5.2)
    htmlbeautifier (1.4.3)
    htmlentities (4.3.4)
    httparty (0.22.0)
      csv
      mini_mime (>= 1.0.0)
      multi_xml (>= 0.5.2)
    httpclient (2.8.3)
    i18n (1.14.6)
      concurrent-ruby (~> 1.0)
    image_processing (1.13.0)
      mini_magick (>= 4.9.5, < 5)
      ruby-vips (>= 2.0.17, < 3)
    importmap-rails (1.2.3)
      actionpack (>= 6.0.0)
      activesupport (>= 6.0.0)
      railties (>= 6.0.0)
    ims-lti (2.3.4)
      addressable (~> 2.5, >= 2.5.1)
      builder (~> 3.2)
      faraday (< 3.0)
      json-jwt (~> 1.7)
      rexml
      simple_oauth (~> 0.3.1)
    inline_svg (1.10.0)
      activesupport (>= 3.0)
      nokogiri (>= 1.6)
    instana (1.216.0)
      base64 (>= 0.1)
      concurrent-ruby (>= 1.1)
      csv (>= 0.1)
      oj (>= 3.0.11)
      sys-proctable (>= 1.2.2)
    io-console (0.7.2)
    irb (1.14.1)
      rdoc (>= 4.0.0)
      reline (>= 0.4.2)
    jbuilder (2.13.0)
      actionview (>= 5.0.0)
      activesupport (>= 5.0.0)
    jmespath (1.6.2)
    json (2.7.4)
    json-jwt (1.15.3.1)
      activesupport (>= 4.2)
      aes_key_wrap
      bindata
      httpclient
    jwt (2.9.3)
      base64
    kaminari (1.2.2)
      activesupport (>= 4.1.0)
      kaminari-actionview (= 1.2.2)
      kaminari-activerecord (= 1.2.2)
      kaminari-core (= 1.2.2)
    kaminari-actionview (1.2.2)
      actionview
      kaminari-core (= 1.2.2)
    kaminari-activerecord (1.2.2)
      activerecord
      kaminari-core (= 1.2.2)
    kaminari-core (1.2.2)
    language_server-protocol (3.17.0.3)
    listen (3.9.0)
      rb-fsevent (~> 0.10, >= 0.10.3)
      rb-inotify (~> 0.9, >= 0.9.10)
    loaf (0.10.0)
      railties (>= 3.2)
    logger (1.6.1)
    loofah (2.23.1)
      crass (~> 1.0.2)
      nokogiri (>= 1.12.0)
    lookbook (2.3.4)
      activemodel
      css_parser
      htmlbeautifier (~> 1.3)
      htmlentities (~> 4.3.4)
      marcel (~> 1.0)
      railties (>= 5.0)
      redcarpet (~> 3.5)
      rouge (>= 3.26, < 5.0)
      view_component (>= 2.0)
      yard (~> 0.9)
      zeitwerk (~> 2.5)
    mail (2.8.1)
      mini_mime (>= 0.1.1)
      net-imap
      net-pop
      net-smtp
    marcel (1.0.4)
    matrix (0.4.2)
    method_source (1.1.0)
    mime-types (3.6.0)
      logger
      mime-types-data (~> 3.2015)
    mime-types-data (3.2024.1001)
    mini_magick (4.13.2)
    mini_mime (1.1.5)
    mini_portile2 (2.8.7)
    minitest (5.25.1)
    msgpack (1.7.2)
    multi_xml (0.7.1)
      bigdecimal (~> 3.1)
    multipart-post (2.4.1)
    mutex_m (0.2.0)
    net-http (0.4.1)
      uri
    net-imap (0.5.0)
      date
      net-protocol
    net-pop (0.1.2)
      net-protocol
    net-protocol (0.2.2)
      timeout
    net-smtp (0.5.0)
      net-protocol
    nio4r (2.7.3)
    nokogiri (1.16.7)
      mini_portile2 (~> 2.8.2)
      racc (~> 1.4)
    oauth2 (2.0.9)
      faraday (>= 0.17.3, < 3.0)
      jwt (>= 1.0, < 3.0)
      multi_xml (~> 0.5)
      rack (>= 1.2, < 4)
      snaky_hash (~> 2.0)
      version_gem (~> 1.1)
    octokit (6.1.1)
      faraday (>= 1, < 3)
      sawyer (~> 0.9)
    oj (3.16.6)
      bigdecimal (>= 3.0)
      ostruct (>= 0.2)
    omniauth (2.1.2)
      hashie (>= 3.4.6)
      rack (>= 2.2.3)
      rack-protection
    omniauth-github (2.0.1)
      omniauth (~> 2.0)
      omniauth-oauth2 (~> 1.8)
    omniauth-gitlab (4.1.0)
      omniauth (~> 2.0)
      omniauth-oauth2 (~> 1.8.0)
    omniauth-google-oauth2 (1.2.0)
      jwt (>= 2.9)
      oauth2 (~> 2.0)
      omniauth (~> 2.0)
      omniauth-oauth2 (~> 1.8)
    omniauth-oauth2 (1.8.0)
      oauth2 (>= 1.4, < 3)
      omniauth (~> 2.0)
    omniauth-open-edx (1.1.0)
      jwt (>= 2.0)
      omniauth (>= 1.9, < 3)
      omniauth-oauth2 (>= 1.4)
    omniauth-rails_csrf_protection (1.0.2)
      actionpack (>= 4.2)
      omniauth (~> 2.0)
    orm_adapter (0.5.0)
    ostruct (0.6.0)
    parallel (1.26.3)
    parser (3.3.5.0)
      ast (~> 2.4.1)
      racc
    pg (1.5.9)
    pg_search (2.3.7)
      activerecord (>= 6.1)
      activesupport (>= 6.1)
    prettier_print (1.2.1)
    psych (5.1.2)
      stringio
    public_suffix (5.1.1)
    puma (5.6.9)
      nio4r (~> 2.0)
    pundit (2.4.0)
      activesupport (>= 3.0.0)
    raabro (1.4.0)
    racc (1.8.1)
    rack (2.2.10)
    rack-cors (2.0.2)
      rack (>= 2.0.0)
    rack-mini-profiler (3.3.1)
      rack (>= 1.2.0)
    rack-protection (3.2.0)
      base64 (>= 0.1.0)
      rack (~> 2.2, >= 2.2.4)
    rack-session (1.0.2)
      rack (< 3)
    rack-test (2.1.0)
      rack (>= 1.3)
    rackup (1.0.1)
      rack (< 3)
      webrick
    rails (7.1.4.2)
      actioncable (= 7.1.4.2)
      actionmailbox (= 7.1.4.2)
      actionmailer (= 7.1.4.2)
      actionpack (= 7.1.4.2)
      actiontext (= 7.1.4.2)
      actionview (= 7.1.4.2)
      activejob (= 7.1.4.2)
      activemodel (= 7.1.4.2)
      activerecord (= 7.1.4.2)
      activestorage (= 7.1.4.2)
      activesupport (= 7.1.4.2)
      bundler (>= 1.15.0)
      railties (= 7.1.4.2)
    rails-controller-testing (1.0.5)
      actionpack (>= 5.0.1.rc1)
      actionview (>= 5.0.1.rc1)
      activesupport (>= 5.0.1.rc1)
    rails-dom-testing (2.2.0)
      activesupport (>= 5.0.0)
      minitest
      nokogiri (>= 1.6)
    rails-html-sanitizer (1.6.0)
      loofah (~> 2.21)
      nokogiri (~> 1.14)
    rails_live_reload (0.3.6)
      listen
      nio4r
      railties
      websocket-driver
    railties (7.1.4.2)
      actionpack (= 7.1.4.2)
      activesupport (= 7.1.4.2)
      irb
      rackup (>= 1.0.0)
      rake (>= 12.2)
      thor (~> 1.0, >= 1.2.2)
      zeitwerk (~> 2.6)
    rainbow (3.1.1)
    rake (13.2.1)
    rb-fsevent (0.11.2)
    rb-inotify (0.11.1)
      ffi (~> 1.0)
    rdoc (6.7.0)
      psych (>= 4.0.0)
    redcarpet (3.6.0)
    redis (4.8.1)
    redis-client (0.22.2)
      connection_pool
    regexp_parser (2.9.2)
    reline (0.5.10)
      io-console (~> 0.5)
    repost (0.4.2)
    requestjs-rails (0.0.12)
      railties (>= 6.1.0)
    responders (3.1.1)
      actionpack (>= 5.2)
      railties (>= 5.2)
    rexml (3.3.8)
    rolify (5.3.0)
    rouge (4.2.1)
    rspec-core (3.13.0)
      rspec-support (~> 3.13.0)
    rspec-expectations (3.13.2)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.13.0)
    rspec-mocks (3.13.1)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.13.0)
    rspec-rails (6.1.5)
      actionpack (>= 6.1)
      activesupport (>= 6.1)
      railties (>= 6.1)
      rspec-core (~> 3.13)
      rspec-expectations (~> 3.13)
      rspec-mocks (~> 3.13)
      rspec-support (~> 3.13)
    rspec-support (3.13.1)
    rubocop (1.67.0)
      json (~> 2.3)
      language_server-protocol (>= 3.17.0)
      parallel (~> 1.10)
      parser (>= 3.3.0.2)
      rainbow (>= 2.2.2, < 4.0)
      regexp_parser (>= 2.4, < 3.0)
      rubocop-ast (>= 1.32.2, < 2.0)
      ruby-progressbar (~> 1.7)
      unicode-display_width (>= 2.4.0, < 3.0)
    rubocop-ast (1.32.3)
      parser (>= 3.3.1.0)
    rubocop-github (0.17.0)
      rubocop
      rubocop-performance
      rubocop-rails
    rubocop-performance (1.22.1)
      rubocop (>= 1.48.1, < 2.0)
      rubocop-ast (>= 1.31.1, < 2.0)
    rubocop-rails (2.27.0)
      activesupport (>= 4.2.0)
      rack (>= 1.1)
      rubocop (>= 1.52.0, < 2.0)
      rubocop-ast (>= 1.31.1, < 2.0)
    ruby-openai (3.7.0)
      httparty (>= 0.18.1)
    ruby-progressbar (1.13.0)
    ruby-vips (2.2.2)
      ffi (~> 1.12)
      logger
    rubyzip (2.3.2)
    rufo (0.18.0)
    safely_block (0.4.0)
    sanitize (6.1.0)
      crass (~> 1.0.2)
      nokogiri (>= 1.12.0)
    sawyer (0.9.2)
      addressable (>= 2.3.5)
      faraday (>= 0.17.3, < 3)
    scenic (1.8.0)
      activerecord (>= 4.0.0)
      railties (>= 4.0.0)
    securerandom (0.3.1)
    selenium-webdriver (4.10.0)
      rexml (~> 3.2, >= 3.2.5)
      rubyzip (>= 1.2.2, < 3.0)
      websocket (~> 1.0)
    semantic (1.6.1)
    service_actor (3.9.4)
      zeitwerk (>= 1.0)
    service_actor-rails (1.0.0)
      rails (>= 4.2)
      service_actor
    sidekiq (7.3.4)
      connection_pool (>= 2.3.0)
      logger
      rack (>= 2.2.4)
      redis-client (>= 0.22.2)
    sidekiq-cron (1.12.0)
      fugit (~> 1.8)
      globalid (>= 1.0.1)
      sidekiq (>= 6)
    simple_calendar (3.0.4)
      rails (>= 6.1)
    simple_form (5.3.1)
      actionpack (>= 5.2)
      activemodel (>= 5.2)
    simple_oauth (0.3.1)
    simplecov (0.22.0)
      docile (~> 1.1)
      simplecov-html (~> 0.11)
      simplecov_json_formatter (~> 0.1)
    simplecov-html (0.12.3)
    simplecov_json_formatter (0.1.4)
    slack-ruby-client (1.1.0)
      faraday (>= 2.0)
      faraday-mashify
      faraday-multipart
      gli
      hashie
      websocket-driver
    sn_filterable (3.0.0)
      heroicon (~> 1)
      kaminari (~> 1)
      tailwindcss-rails (~> 2)
      turbo-rails (~> 2)
      view_component (~> 2)
    snaky_hash (2.0.1)
      hashie
      version_gem (~> 1.1, >= 1.1.1)
    spring (4.2.1)
    sprockets (4.2.1)
      concurrent-ruby (~> 1.0)
      rack (>= 2.2.4, < 4)
    sprockets-rails (3.5.2)
      actionpack (>= 6.1)
      activesupport (>= 6.1)
      sprockets (>= 3.0.0)
    stimulus-rails (1.3.4)
      railties (>= 6.0.0)
    store_model (3.0.2)
      activerecord (>= 5.2)
    stringio (3.1.1)
    syntax_tree (6.2.0)
      prettier_print (>= 1.2.0)
    sys-proctable (1.3.0)
      ffi (~> 1.1)
    tailwindcss-rails (2.7.9)
      railties (>= 7.0.0)
    thor (1.3.2)
    timeout (0.4.1)
    turbo-rails (2.0.11)
      actionpack (>= 6.0.0)
      railties (>= 6.0.0)
    tzinfo (2.0.6)
      concurrent-ruby (~> 1.0)
    tzinfo-data (1.2024.2)
      tzinfo (>= 1.0.0)
    unicode-display_width (2.6.0)
    uniform_notifier (1.16.0)
    uri (0.13.1)
    version_gem (1.1.4)
    view_component (2.83.0)
      activesupport (>= 5.2.0, < 8.0)
      concurrent-ruby (~> 1.0)
      method_source (~> 1.0)
    warden (1.2.9)
      rack (>= 2.0.9)
    web-console (4.2.1)
      actionview (>= 6.0.0)
      activemodel (>= 6.0.0)
      bindex (>= 0.4.0)
      railties (>= 6.0.0)
    webdrivers (5.3.1)
      nokogiri (~> 1.6)
      rubyzip (>= 1.3.0)
      selenium-webdriver (~> 4.0, < 4.11)
    webmock (3.24.0)
      addressable (>= 2.8.0)
      crack (>= 0.3.2)
      hashdiff (>= 0.4.0, < 2.0.0)
    webrick (1.8.2)
    websocket (1.2.10)
    websocket-driver (0.7.6)
      websocket-extensions (>= 0.1.0)
    websocket-extensions (0.1.5)
    wicked (2.0.0)
      railties (>= 3.0.7)
    with_model (2.1.7)
      activerecord (>= 6.0)
    xpath (3.2.0)
      nokogiri (~> 1.8)
    yard (0.9.37)
    zeitwerk (2.7.1)

PLATFORMS
  ruby

DEPENDENCIES
  actionpack-action_caching (~> 1.2)
  active_storage_validations (~> 0.9)
  activerecord-import (~> 1.8.0)
  acts-as-taggable-on (~> 10)
  addressable (~> 2.8)
  ahoy_matey (~> 4.1)
  audited (~> 5.3)
  aws-sdk-s3 (~> 1.96)
  bcrypt (~> 3.1.7)
  blazer (~> 2.6)
  bootsnap (>= 1.4.4)
  boxr (~> 1.19)
  bullet
  byebug
  capybara (~> 3.37)
  config (~> 5)
  cypress-rails (~> 0.5)
  devise (~> 4.9)
  doorkeeper (~> 5.5)
  erb-formatter (~> 0.7.3)
  factory_bot_rails (~> 6.2)
  faker (~> 2.21)
  faraday (~> 2)
  faraday-multipart (~> 1)
  faraday-retry (~> 2)
  flipper (~> 0.26)
  flipper-active_record (~> 0.26)
  flipper-ui (~> 0.26)
  front_matter_parser (~> 1.0)
  heroicon (~> 1)
  image_processing (~> 1.2)
  importmap-rails (~> 1)
  ims-lti (~> 2.3)
  inline_svg (~> 1.8)
  instana (~> 1)
  jbuilder (~> 2.7)
  jwt (~> 2.3)
  kaminari (~> 1.2)
  loaf (~> 0.10.0)
  lookbook (~> 2)
  mime-types (~> 3.3)
  net-imap
  net-pop
  net-smtp
  nokogiri (~> 1.14)
  octokit (~> 6.1)
  omniauth (~> 2.0)
  omniauth-github (~> 2.0)
  omniauth-gitlab (~> 4.1)
  omniauth-google-oauth2 (~> 1.1)
  omniauth-oauth2 (~> 1.8.0)
  omniauth-open-edx (~> 1.1.0)
  omniauth-rails_csrf_protection (~> 1.0)
  pg (~> 1.1)
  pg_search (~> 2.3, >= 2.3.6)
  puma (~> 5)
  pundit (~> 2.3)
  rack-cors (~> 2.0)
  rack-mini-profiler (~> 3.0)
  rails (~> 7.1)
  rails-controller-testing (~> 1.0.5)
  rails_live_reload
  redcarpet (~> 3.5)
  redis (~> 4.0)
  repost (~> 0.4)
  requestjs-rails (~> 0.0.9)
  rolify (~> 5.3)
  rspec-rails (~> 6.0)
  rubocop-github (~> 0.17.0)
  rubocop-performance
  rubocop-rails
  ruby-openai (~> 3.0)
  rufo (~> 0.18.0)
  scenic (~> 1.8)
  securerandom (>= 0.1)
  semantic (~> 1.6)
  service_actor (~> 3.1)
  service_actor-rails (~> 1.0)
  sidekiq (~> 7)
  sidekiq-cron (~> 1.10)
  simple_calendar (~> 3.0)
  simple_form (~> 5.2)
  simplecov
  slack-ruby-client (~> 1.0)
  sn_filterable (~> 3.0)
  spring
  sprockets-rails (~> 3)
  stimulus-rails (~> 1.2)
  store_model (~> 3.0)
  tailwindcss-rails (~> 2)
  turbo-rails (~> 2)
  tzinfo-data (>= 1.2016.7)
  view_component (~> 2.68)
  web-console (>= 4.1.0)
  webdrivers
  webmock (~> 3.13)
  wicked (~> 2.0)
  with_model (~> 2.1)

RUBY VERSION
   ruby 3.3.5p100

BUNDLED WITH
   2.5.16

Ruby Version

3.3.5
@pvital pvital added the Bug label Nov 4, 2024
@pvital
Copy link
Member

pvital commented Nov 4, 2024

Thanks for reporting this issue, @michaelroudnitski.

@arjun-rajappa, could you take a look at this please?

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

Successfully merging a pull request may close this issue.

3 participants