Loomio

Middleware error on Ubuntu 12.04

Brennan Novak PublicSeen by 101

After cloning in recent version (with Airbrake) I'm still getting the following middleware error

19:58:58 web.1 | I, [2013-12-13T19:58:58.298648 #5455] INFO -- : Refreshing Gem list
19:59:13 web.1 | /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/middleware/stack.rb:120:in assert_index': No such middleware to insert before: ActionDispatch::Static (RuntimeError)
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/middleware/stack.rb:83:in
insert'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/configuration.rb:38:in block in merge_into'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/configuration.rb:37:in
each'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/configuration.rb:37:in merge_into'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/engine.rb:474:in
app'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application/finisher.rb:31:in block in '
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:30:in
instance_exec'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:30:in run'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:55:in
block in run_initializers'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:54:in each'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:54:in
run_initializers'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application.rb:136:in initialize!'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/railtie/configurable.rb:30:in
method_missing'
19:59:13 web.1 | from /home/community/loomio/config/environment.rb:5:in '
19:59:13 web.1 | from config.ru:3:in
require'
19:59:13 web.1 | from config.ru:3:in block in '
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/rack-1.4.5/lib/rack/builder.rb:51:in
instance_eval'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/rack-1.4.5/lib/rack/builder.rb:51:in initialize'
19:59:13 web.1 | from config.ru:1:in
new'
19:59:13 web.1 | from config.ru:1:in '
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn.rb:48:in
eval'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn.rb:48:in block in builder'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:722:in
call'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:722:in build_app!'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:140:in
start'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/bin/unicorn:126:in '
19:59:13 web.1 | from /usr/local/rvm/rubies/ruby-2.0.0-p353/bin/unicorn:23:in
load'
19:59:13 web.1 | from /usr/local/rvm/rubies/ruby-2.0.0-p353/bin/unicorn:23:in '
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in
eval'
19:59:13 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `'
19:59:13 web.1 | exited with code 1
19:59:13 system | sending SIGTERM to all processes
19:59:13 worker.1 | terminated by SIGTERM

Robert Guthrie

Hrrmm.. I really don't know. Is there more stack trace @brennannovak? I wish I could help more..

Brennan Novak

@robertguthrie yah, just pasted the full error. Tis the same I emailed you the other day! Does that look like it's using the new Airbrake gem and such?

Brennan Novak

@robertguthrie upon only adding the line the production.rb I get the following stack trace:

19:24:20 web.1 | [deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message.
19:24:20 web.1 | /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/devise-3.1.1/lib/devise/rails/routes.rb:440:in raise_no_secret_key': Devise.secret_key was not set. Please add the following to your Devise initializer: (RuntimeError)
19:24:20 web.1 |
19:24:20 web.1 | config.secret_key = '2a1659b6a8ed6cdeaec9ac04960fe7fdb602e1bbc6584b3dc8ff86fded518afe95364afc6d2bea4da1d62537859e965d63047f7c516581c66fc139505df3f2f4'
19:24:20 web.1 |
19:24:20 web.1 | Please ensure you restarted your application after installing Devise or setting the key.
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/devise-3.1.1/lib/devise/rails/routes.rb:195:in
devise_for'
19:24:20 web.1 | from /home/community/loomio/config/routes.rb:17:in block in <top (required)>'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/routing/route_set.rb:285:in
instance_exec'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/routing/route_set.rb:285:in eval_block'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/routing/route_set.rb:263:in
draw'
19:24:20 web.1 | from /home/community/loomio/config/routes.rb:1:in <top (required)>'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/dependencies.rb:245:in
load'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/dependencies.rb:245:in block in load'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/dependencies.rb:236:in
load_dependency'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/dependencies.rb:245:in load'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application/routes_reloader.rb:40:in
block in load_paths'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application/routes_reloader.rb:40:in each'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application/routes_reloader.rb:40:in
load_paths'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application/routes_reloader.rb:16:in reload!'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application.rb:108:in
reload_routes!'
19:24:20 web.1 | from /home/community/.bundler/ruby/2.0.0/active_admin-40c18cf23f2f/lib/active_admin/application.rb:248:in block in attach_reloader'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/callbacks.rb:429:in
run3987109707966345700prepare4467178828565517615callbacks'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/callbacks.rb:405:in `
_run_callback'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/callbacks.rb:385:in _run_prepare_callbacks'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/callbacks.rb:81:in
run_callbacks'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/middleware/reloader.rb:74:in prepare!'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/middleware/reloader.rb:48:in
prepare!'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application/finisher.rb:47:in block in <module:Finisher>'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:30:in
instance_exec'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:30:in run'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:55:in
block in run_initializers'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:54:in each'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:54:in
run_initializers'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application.rb:136:in initialize!'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/railtie/configurable.rb:30:in
method_missing'
19:24:20 web.1 | from /home/community/loomio/config/environment.rb:5:in <top (required)>'
19:24:20 web.1 | from config.ru:3:in
require'
19:24:20 web.1 | from config.ru:3:in block in <main>'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/rack-1.4.5/lib/rack/builder.rb:51:in
instance_eval'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/rack-1.4.5/lib/rack/builder.rb:51:in initialize'
19:24:20 web.1 | from config.ru:1:in
new'
19:24:20 web.1 | from config.ru:1:in <main>'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn.rb:48:in
eval'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn.rb:48:in block in builder'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:722:in
call'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:722:in build_app!'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:140:in
start'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/bin/unicorn:126:in <top (required)>'
19:24:20 web.1 | from /usr/local/rvm/rubies/ruby-2.0.0-p353/bin/unicorn:23:in
load'
19:24:20 web.1 | from /usr/local/rvm/rubies/ruby-2.0.0-p353/bin/unicorn:23:in <main>'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in
eval'
19:24:20 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `'
19:24:20 worker.1 | [deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message.
19:24:20 web.1 | exited with code 1
19:24:20 system | sending SIGTERM to all processes
19:24:20 worker.1 | terminated by SIGTERM

Brennan Novak

@robertguthrie upon adding both the line to application.rb and production.rb I get the following:

19:22:52 web.1 | I, [2013-12-14T19:22:52.661833 #13557] INFO -- : Refreshing Gem list
19:23:07 web.1 | /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/inflector/methods.rb:230:in block in constantize': uninitialized constant API (NameError)
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/inflector/methods.rb:229:in
each'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.16/lib/active_support/inflector/methods.rb:229:in constantize'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/middleware/stack.rb:24:in
klass'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/middleware/stack.rb:43:in build'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/middleware/stack.rb:113:in
block in build'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/middleware/stack.rb:113:in each'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/middleware/stack.rb:113:in
inject'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/actionpack-3.2.16/lib/action_dispatch/middleware/stack.rb:113:in build'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/engine.rb:475:in
app'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application/finisher.rb:31:in block in <module:Finisher>'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:30:in
instance_exec'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:30:in run'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:55:in
block in run_initializers'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:54:in each'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/initializable.rb:54:in
run_initializers'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/application.rb:136:in initialize!'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/railtie/configurable.rb:30:in
method_missing'
19:23:07 web.1 | from /home/community/loomio/config/environment.rb:5:in <top (required)>'
19:23:07 web.1 | from config.ru:3:in
require'
19:23:07 web.1 | from config.ru:3:in block in <main>'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/rack-1.4.5/lib/rack/builder.rb:51:in
instance_eval'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/rack-1.4.5/lib/rack/builder.rb:51:in initialize'
19:23:07 web.1 | from config.ru:1:in
new'
19:23:07 web.1 | from config.ru:1:in <main>'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn.rb:48:in
eval'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn.rb:48:in block in builder'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:722:in
call'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:722:in build_app!'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:140:in
start'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/unicorn-4.6.3/bin/unicorn:126:in <top (required)>'
19:23:07 web.1 | from /usr/local/rvm/rubies/ruby-2.0.0-p353/bin/unicorn:23:in
load'
19:23:07 web.1 | from /usr/local/rvm/rubies/ruby-2.0.0-p353/bin/unicorn:23:in <main>'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in
eval'
19:23:07 web.1 | from /usr/local/rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `'
19:23:07 web.1 | exited with code 1
19:23:07 system | sending SIGTERM to all processes
19:23:07 worker.1 | terminated by SIGTERM

Robert Guthrie

@brennannovak are you trying to run Loomio in development or production mode?

When I saw the devise error I thought 'great, that's easy', I assume you added a secret key.

But now this "uninitialized constant API (NameError) " has me stumped. I've just checked and there is no API:: namespaced calls within loomio's app/ or config directories.

It's coming from the initialise call in config/environment.rb after going through method_missing and inflectors and stuff.. pretty hard to trace down. I'm really sorry you're having such problems..

Are you installing on a VPS or your own hardware?

Brennan Novak

@robertguthrie thanks for helping- yah, the API (NameError) makes sense- I added that as per the Stack thread you sent. I've since removed it.

I'm running this on a VPS running Ubuntu 12.04.

I pulled in all your recent commits. I'm still getting the same error as posted above. Do you have any free moments to maybe chat on Skype or IRC to debug this?

Robert Guthrie

@brennannovak Yep sure, I'm robguthrie on Skype. What timezone are you in? I could try to help now if your free. Or if you send me some ssh login details (or I send you my public key) I can have a go myself - That might be best actually.

Jon Lemmon

Hey @brennannovak, How's it all going?

Brennan Novak

@jonlemmon just finished traveling / holidays- getting back to getting this working @robertguthrie thanks for offering more direct help- ping me on Skype when you got a sec- I just pinged you :)