danmayer / coverband

Ruby production code coverage collection and reporting (line of code usage)
https://github.com/danmayer/coverband
MIT License
2.46k stars 157 forks source link

Invalid route name, already in use `rails_service_blob_proxy` error at boot when upgrading to 6.1.2 #537

Closed gvarela closed 2 weeks ago

gvarela commented 4 months ago

Describe the bug We are currently on Rails 7.1.3.2 and Coverband version 6.0.0. In trying to upgrade to the latest coverband 6.1.2 we get a routing error at boot. I can't seem to find why this is happening.

We mount Coverband in our routes inside an auth block with the following.

      mount Coverband::Reporters::Web.new, at: "/coverband"

Below is the stack trace we get at boot.

web     | Exiting
web     | /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/route_set.rb:622:in `add_route': Invalid route name, already in use: 'rails_service_blob_proxy'  (ArgumentError)
web     | You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here: 
web     | https://guides.rubyonrails.org/routing.html#restricting-the-routes-created
web     | 
web     |           raise ArgumentError, "Invalid route name, already in use: '#{name}' \n" \
web     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/mapper.rb:1996:in `add_route'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/mapper.rb:1967:in `decomposed_match'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/mapper.rb:1931:in `block in map_match'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/mapper.rb:1925:in `each'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/mapper.rb:1925:in `map_match'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/mapper.rb:1673:in `match'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/mapper.rb:746:in `map_method'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/mapper.rb:699:in `get'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/activestorage-7.1.3.2/config/routes.rb:6:in `block (2 levels) in <top (required)>'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/mapper.rb:882:in `scope'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/activestorage-7.1.3.2/config/routes.rb:4:in `block in <top (required)>'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/route_set.rb:448:in `instance_exec'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/route_set.rb:448:in `eval_block'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/actionpack-7.1.3.2/lib/action_dispatch/routing/route_set.rb:430:in `draw'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/activestorage-7.1.3.2/config/routes.rb:3:in `<top (required)>'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/application/routes_reloader.rb:50:in `load'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/application/routes_reloader.rb:50:in `block in load_paths'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/application/routes_reloader.rb:50:in `each'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/application/routes_reloader.rb:50:in `load_paths'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/application/routes_reloader.rb:24:in `reload!'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/application.rb:154:in `reload_routes!'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/coverband-6.1.2/lib/coverband/collectors/route_tracker.rb:85:in `concrete_target'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/coverband-6.1.2/lib/coverband/collectors/abstract_tracker.rb:26:in `block in initialize'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/coverband-6.1.2/lib/coverband/collectors/abstract_tracker.rb:25:in `fetch'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/coverband-6.1.2/lib/coverband/collectors/abstract_tracker.rb:25:in `initialize'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/coverband-6.1.2/lib/coverband/collectors/route_tracker.rb:20:in `initialize'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/coverband-6.1.2/lib/coverband/configuration.rb:121:in `new'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/coverband-6.1.2/lib/coverband/configuration.rb:121:in `railtie!'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/coverband-6.1.2/lib/coverband/utils/railtie.rb:28:in `block in <class:Railtie>'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.2/lib/active_support/lazy_load_hooks.rb:94:in `block in execute_hook'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.2/lib/active_support/lazy_load_hooks.rb:87:in `with_execution_control'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.2/lib/active_support/lazy_load_hooks.rb:92:in `execute_hook'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.2/lib/active_support/lazy_load_hooks.rb:78:in `block in run_load_hooks'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.2/lib/active_support/lazy_load_hooks.rb:77:in `each'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.2/lib/active_support/lazy_load_hooks.rb:77:in `run_load_hooks'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/application/finisher.rb:93:in `block in <module:Finisher>'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/initializable.rb:32:in `instance_exec'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/initializable.rb:32:in `run'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/initializable.rb:61:in `block in run_initializers'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/tsort.rb:231:in `block in tsort_each'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/tsort.rb:353:in `block (2 levels) in each_strongly_connected_component'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/tsort.rb:434:in `each_strongly_connected_component_from'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/tsort.rb:352:in `block in each_strongly_connected_component'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/tsort.rb:350:in `each'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/tsort.rb:350:in `call'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/tsort.rb:350:in `each_strongly_connected_component'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/tsort.rb:229:in `tsort_each'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/tsort.rb:208:in `tsort_each'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/initializable.rb:60:in `run_initializers'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/application.rb:426:in `initialize!'
web     |   from /Users/gabevarela/Development/Brightline/reef/config/environment.rb:7:in `<top (required)>'
web     |   from config.ru:5:in `require_relative'
web     |   from config.ru:5:in `block in <main>'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/rack-2.2.9/lib/rack/builder.rb:116:in `eval'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/rack-2.2.9/lib/rack/builder.rb:116:in `new_from_string'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/rack-2.2.9/lib/rack/builder.rb:105:in `load_file'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/rack-2.2.9/lib/rack/builder.rb:66:in `parse_file'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/rack-2.2.9/lib/rack/server.rb:349:in `build_app_and_options_from_config'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/rack-2.2.9/lib/rack/server.rb:249:in `app'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/rack-2.2.9/lib/rack/server.rb:422:in `wrapped_app'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/commands/server/server_command.rb:76:in `log_to_stdout'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/commands/server/server_command.rb:36:in `start'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/commands/server/server_command.rb:145:in `block in perform'
web     |   from <internal:kernel>:90:in `tap'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/commands/server/server_command.rb:136:in `perform'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/lib/thor/command.rb:28:in `run'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/lib/thor/invocation.rb:127:in `invoke_command'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/command/base.rb:178:in `invoke_command'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/thor-1.3.1/lib/thor.rb:527:in `dispatch'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/command/base.rb:73:in `perform'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/command.rb:71:in `block in invoke'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/command.rb:149:in `with_argv'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/command.rb:69:in `invoke'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.2/lib/rails/commands.rb:18:in `<main>'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
web     |   from /opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
web     |   from /Users/gabevarela/Development/Brightline/reef/bin/rails:11:in `<top (required)>'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/spring-4.2.1/lib/spring/client/rails.rb:28:in `load'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/spring-4.2.1/lib/spring/client/rails.rb:28:in `call'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/spring-4.2.1/lib/spring/client/command.rb:7:in `call'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/spring-4.2.1/lib/spring/client.rb:30:in `run'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/spring-4.2.1/bin/spring:49:in `<top (required)>'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/spring-4.2.1/lib/spring/binstub.rb:11:in `load'
web     |   from /Users/gabevarela/Development/Brightline/reef/vendor/bundle/ruby/3.3.0/gems/spring-4.2.1/lib/spring/binstub.rb:11:in `<top (required)>'
web     |   from <internal:/opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
web     |   from <internal:/opt/homebrew/Cellar/asdf/0.14.0/installs/ruby/3.3.1/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
web     |   from /Users/gabevarela/Development/Brightline/reef/bin/spring:16:in `<top (required)>'
web     |   from bin/rails:5:in `load'
web     |   from bin/rails:5:in `<main>'
danmayer commented 3 months ago

hmmm I don't see why or what coverband would have to do with a blob proxy...

danmayer commented 3 months ago

@gvarela any other details you can provide that might relate to this issue? I don't think I see the issue...

danmayer commented 2 weeks ago

closing this as it hasn't been active and I never reproduced it