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

Server crashed in production when defining an action with a specific endpoint #543

Open
Uelb opened this issue Jan 19, 2022 · 0 comments
Open

Comments

@Uelb
Copy link
Contributor

Uelb commented Jan 19, 2022

Expected behavior

I expect the rails server to start and

Actual behavior

When I set up an action like this :

# frozen_string_literal: true

module Forest
  class Broker
    include ForestLiana::Collection

    collection :Broker

    action 'Send invite email', endpoint: '/forest/brokers/invite'
  end
end

It works fine in my development environment and when starting my rails server in local, however, when I deploy to heroku and to my production environment, there is an error at startup, as will show the logs below.

If I omit the endpoint option, it works fine. My routes were configured like this (and it works in local using my forest development environment) :

namespace :forest do
  resources :brokers, only: [] do
    collection do
      post :confirm, :invite
    end
  end
end
mount ForestLiana::Engine => '/forest'

Failure Logs

2022-01-19T19:31:17.666683+00:00 app[web.1]: /app/vendor/bundle/ruby/3.0.0/gems/forest_liana-7.4.5/lib/forest_liana/bootstrapper.rb:62:in `block (2 levels) in generate_action_hooks': undefined method `hooks' for nil:NilClass (NoMethodError)
2022-01-19T19:31:17.666685+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/forest_liana-7.4.5/lib/forest_liana/bootstrapper.rb:58:in `each'
2022-01-19T19:31:17.666693+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/forest_liana-7.4.5/lib/forest_liana/bootstrapper.rb:58:in `block in generate_action_hooks'
2022-01-19T19:31:17.666694+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/forest_liana-7.4.5/lib/forest_liana/bootstrapper.rb:57:in `each'
2022-01-19T19:31:17.666697+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/forest_liana-7.4.5/lib/forest_liana/bootstrapper.rb:57:in `generate_action_hooks'
2022-01-19T19:31:17.666698+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/forest_liana-7.4.5/lib/forest_liana/bootstrapper.rb:86:in `generate_apimap'
2022-01-19T19:31:17.666705+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/forest_liana-7.4.5/lib/forest_liana/bootstrapper.rb:33:in `initialize'
2022-01-19T19:31:17.666707+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/forest_liana-7.4.5/lib/forest_liana/engine.rb:91:in `new'
2022-01-19T19:31:17.666715+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/forest_liana-7.4.5/lib/forest_liana/engine.rb:91:in `block in <class:Engine>'
2022-01-19T19:31:17.666715+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/lazy_load_hooks.rb:68:in `block in execute_hook'
2022-01-19T19:31:17.666723+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/lazy_load_hooks.rb:61:in `with_execution_control'
2022-01-19T19:31:17.666725+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/lazy_load_hooks.rb:66:in `execute_hook'
2022-01-19T19:31:17.666727+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
2022-01-19T19:31:17.666728+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/lazy_load_hooks.rb:51:in `each'
2022-01-19T19:31:17.666735+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
2022-01-19T19:31:17.666737+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/application/finisher.rb:140:in `block in <module:Finisher>'
2022-01-19T19:31:17.666739+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/initializable.rb:32:in `instance_exec'
2022-01-19T19:31:17.666746+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/initializable.rb:32:in `run'
2022-01-19T19:31:17.666748+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/initializable.rb:61:in `block in run_initializers'
2022-01-19T19:31:17.666750+00:00 app[web.1]: from /app/vendor/ruby-3.0.3/lib/ruby/3.0.0/tsort.rb:228:in `block in tsort_each'
2022-01-19T19:31:17.666752+00:00 app[web.1]: from /app/vendor/ruby-3.0.3/lib/ruby/3.0.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
2022-01-19T19:31:17.666759+00:00 app[web.1]: from /app/vendor/ruby-3.0.3/lib/ruby/3.0.0/tsort.rb:431:in `each_strongly_connected_component_from'
2022-01-19T19:31:17.666759+00:00 app[web.1]: from /app/vendor/ruby-3.0.3/lib/ruby/3.0.0/tsort.rb:349:in `block in each_strongly_connected_component'
2022-01-19T19:31:17.666768+00:00 app[web.1]: from /app/vendor/ruby-3.0.3/lib/ruby/3.0.0/tsort.rb:347:in `each'
2022-01-19T19:31:17.666770+00:00 app[web.1]: from /app/vendor/ruby-3.0.3/lib/ruby/3.0.0/tsort.rb:347:in `call'
2022-01-19T19:31:17.666770+00:00 app[web.1]: from /app/vendor/ruby-3.0.3/lib/ruby/3.0.0/tsort.rb:347:in `each_strongly_connected_component'
2022-01-19T19:31:17.666778+00:00 app[web.1]: from /app/vendor/ruby-3.0.3/lib/ruby/3.0.0/tsort.rb:226:in `tsort_each'
2022-01-19T19:31:17.666779+00:00 app[web.1]: from /app/vendor/ruby-3.0.3/lib/ruby/3.0.0/tsort.rb:205:in `tsort_each'
2022-01-19T19:31:17.666781+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/initializable.rb:60:in `run_initializers'
2022-01-19T19:31:17.666789+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/application.rb:391:in `initialize!'
2022-01-19T19:31:17.666790+00:00 app[web.1]: from /app/config/environment.rb:5:in `<main>'
2022-01-19T19:31:17.666791+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
2022-01-19T19:31:17.666800+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
2022-01-19T19:31:17.666800+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/loaded_features_index.rb:100:in `register'
2022-01-19T19:31:17.666802+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
2022-01-19T19:31:17.666808+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
2022-01-19T19:31:17.666810+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/zeitwerk-2.5.3/lib/zeitwerk/kernel.rb:35:in `require'
2022-01-19T19:31:17.666812+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `block in require'
2022-01-19T19:31:17.666820+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:299:in `load_dependency'
2022-01-19T19:31:17.666820+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/activesupport-6.1.4.4/lib/active_support/dependencies.rb:332:in `require'
2022-01-19T19:31:17.666827+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:54:in `require_relative'
2022-01-19T19:31:17.666829+00:00 app[web.1]: from config.ru:3:in `block in <main>'
2022-01-19T19:31:17.666837+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/rack-2.2.3/lib/rack/builder.rb:116:in `eval'
2022-01-19T19:31:17.666838+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/rack-2.2.3/lib/rack/builder.rb:116:in `new_from_string'
2022-01-19T19:31:17.666840+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/rack-2.2.3/lib/rack/builder.rb:105:in `load_file'
2022-01-19T19:31:17.666849+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/rack-2.2.3/lib/rack/builder.rb:66:in `parse_file'
2022-01-19T19:31:17.666849+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/rack-2.2.3/lib/rack/server.rb:349:in `build_app_and_options_from_config'
2022-01-19T19:31:17.666856+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/rack-2.2.3/lib/rack/server.rb:249:in `app'
2022-01-19T19:31:17.666857+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/rack-2.2.3/lib/rack/server.rb:422:in `wrapped_app'
2022-01-19T19:31:17.666865+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/rack-2.2.3/lib/rack/server.rb:312:in `block in start'
2022-01-19T19:31:17.666865+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/rack-2.2.3/lib/rack/server.rb:379:in `handle_profiling'
2022-01-19T19:31:17.666867+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/rack-2.2.3/lib/rack/server.rb:311:in `start'
2022-01-19T19:31:17.666874+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/commands/server/server_command.rb:39:in `start'
2022-01-19T19:31:17.666875+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/commands/server/server_command.rb:144:in `block in perform'
2022-01-19T19:31:17.666877+00:00 app[web.1]: from <internal:kernel>:90:in `tap'
2022-01-19T19:31:17.666879+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/commands/server/server_command.rb:135:in `perform'
2022-01-19T19:31:17.666886+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
2022-01-19T19:31:17.666888+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
2022-01-19T19:31:17.666889+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
2022-01-19T19:31:17.666897+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/command/base.rb:69:in `perform'
2022-01-19T19:31:17.666899+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/command.rb:48:in `invoke'
2022-01-19T19:31:17.666900+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/railties-6.1.4.4/lib/rails/commands.rb:18:in `<main>'
2022-01-19T19:31:17.666907+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
2022-01-19T19:31:17.666909+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
2022-01-19T19:31:17.666910+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/loaded_features_index.rb:100:in `register'
2022-01-19T19:31:17.666918+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
2022-01-19T19:31:17.666920+00:00 app[web.1]: from /app/vendor/bundle/ruby/3.0.0/gems/bootsnap-1.9.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'

Context

  • Package Version: 7.4.5
  • Rails Version: 6.1.4.4
  • Database Dialect: PostgresQL
  • Database Version:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants