rubyonjets / jets

Ruby on Jets
http://rubyonjets.com
MIT License
2.6k stars 181 forks source link

NameError: uninitialized constant no controllers #281

Closed sofianegargouri closed 5 years ago

sofianegargouri commented 5 years ago

Checklist

My Environment

Software Version
Operating System MacOS 10.14.5
Jets 1.9.10
Ruby 2.5.5

Expected Behaviour

Running a GET /users should redirect me to UsersController

Current Behavior

Context

This project is more than a month old, so is this controller. We upgraded from jets 1.8.14 to jets 1.9.10 and we get random NameError in dev only. It's almost on every single controller.

Debug

I did try the same code with every single version of Jets from 1.8.11 to 1.8.14: works well in 1.8.x, but have the same error for every single 1.9.x version

Consequences

Got a NameError:

NameError: uninitialized constant UsersController
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:283:in `const_get'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:283:in `block in constantize'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `each'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `inject'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `constantize'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/core_ext/string/inflections.rb:68:in `constantize'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/lambda/task.rb:30:in `public_meth?'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/lambda/dsl.rb:349:in `block in find_all_tasks'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/lambda/dsl.rb:347:in `each'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/lambda/dsl.rb:347:in `find_all_tasks'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/memoist-0.16.0/lib/memoist.rb:214:in `find_all_tasks'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/lambda/dsl.rb:359:in `all_public_tasks'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/poly_fun.rb:57:in `task'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/memoist-0.16.0/lib/memoist.rb:170:in `task'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/local.rb:44:in `polymorphic_function?'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/local.rb:33:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/method_override.rb:22:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/cors.rb:18:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/runtime.rb:22:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/shotgun-0.9.2/lib/shotgun/static.rb:14:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/middleware.rb:7:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/tempfile_reaper.rb:15:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/lint.rb:49:in `_call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/lint.rb:37:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/show_exceptions.rb:23:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/common_logger.rb:33:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/chunked.rb:54:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/content_length.rb:15:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/handler/webrick.rb:86:in `service'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:140:in `service'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:96:in `run'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/server.rb:307:in `block in start_thread'

Step-by-step reproduction instructions

Code Sample

/

Solution Suggestion

Probably linked to #280 ?

tongueroo commented 5 years ago

Bummer. πŸ€” Thanks for the report. Unable to reproduce. Wondering what is different here. When you get a chance, can you try:

  1. A brand new jets project and see if you get the NameError error
  2. Can you try the https://github.com/tongueroo/demo-reload sample project. It has a user and posts scaffold. Just added the users scaffold to see if I could reproduce with no luck.
  3. Try running the server with bundle exec in front. So bundle exec jets server
  4. Try running JETS_AUTOLOAD_LOG=1 jets server

Want to see if it works with those projects or if it is specific to the way your project is set up. If it turns out to be specific to the project, maybe start off with copying it's Gemfile into the sample project in 2. Then maybe some classes step by step until reproduction. If we can get a code sample that reproduces the issue across machines, that'll be tremendously helpful.

In 1.9.x a big difference is that the autoloaders were changed. In version 1.9.x zeitwerk is used for autoloading. It seems like on people's machine, the bundler and ruby setup is weird. Details in here #275.

Jets does a require "bundler/setup" internally to handle this. But some systems seem to have a really funny version of bundler.rb installed in their site_ruby folder and this doesn't work early enough. In those cases, got to run a bundler exec in front or figure out what's going on with the bundler installation. Wondering if it is related. Can you also try 3.

With 4, it turns on extra Zeitwerk logging. Wondering if it’ll give some more help debug this.

sofianegargouri commented 5 years ago

I must specify that this issue occurs only in dev environment

  1. I do have another NameError with the following code. Even weirder, it works about 1/10 times, and sometimes it pops the second error.
class UsersController < ApplicationController
  def index
    render json: [], status: :ok
  end
end
NameError: uninitialized constant ApplicationController
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:283:in `const_get'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:283:in `block in constantize'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `each'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `inject'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `constantize'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/core_ext/string/inflections.rb:68:in `constantize'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/local/mimic_aws_call.rb:20:in `controller'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/local.rb:20:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/method_override.rb:22:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/runtime.rb:22:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/shotgun-0.9.2/lib/shotgun/static.rb:14:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/middleware.rb:7:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/tempfile_reaper.rb:15:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/lint.rb:49:in `_call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/lint.rb:37:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/show_exceptions.rb:23:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/common_logger.rb:33:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/chunked.rb:54:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/content_length.rb:15:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/handler/webrick.rb:86:in `service'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:140:in `service'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:96:in `run'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/server.rb:307:in `block in start_thread'
127.0.0.1 - - [07/Jun/2019:08:09:35 +0200] "OPTIONS /user HTTP/1.1" 500 73394 0.0837
[2019-06-07 08:09:35] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:10 
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:82:in `eof?'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:82:in `run'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/server.rb:307:in `block in start_thread'
ArgumentError: wrong number of arguments (given 0, expected 2)
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/zeitwerk-2.1.6/lib/zeitwerk/loader.rb:655:in `cpath'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/zeitwerk-2.1.6/lib/zeitwerk/loader/callbacks.rb:9:in `on_file_autoloaded'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/zeitwerk-2.1.6/lib/zeitwerk/kernel.rb:17:in `block in require'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/zeitwerk-2.1.6/lib/zeitwerk/kernel.rb:16:in `tap'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/zeitwerk-2.1.6/lib/zeitwerk/kernel.rb:16:in `require'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/core_ext/kernel.rb:11:in `require'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `block in require'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in `load_dependency'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `require'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:283:in `const_get'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:283:in `block in constantize'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `each'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `inject'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `constantize'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/activesupport-5.2.3/lib/active_support/core_ext/string/inflections.rb:68:in `constantize'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/local/mimic_aws_call.rb:20:in `controller'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/local.rb:20:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/method_override.rb:22:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/runtime.rb:22:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/shotgun-0.9.2/lib/shotgun/static.rb:14:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/middleware.rb:7:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/tempfile_reaper.rb:15:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/lint.rb:49:in `_call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/lint.rb:37:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/show_exceptions.rb:23:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/common_logger.rb:33:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/chunked.rb:54:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/content_length.rb:15:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/handler/webrick.rb:86:in `service'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:140:in `service'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:96:in `run'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/server.rb:307:in `block in start_thread'
  1. Can't reproduce with the sample project

  2. Same errors

  3. Here is the full trace of my request:

I, [2019-06-07T08:18:32.165712 #68945]  INFO -- : Started GET "/user" for 127.0.0.1 at 2019-06-07 08:18:32 +0200
Zeitwerk@jets.main: autoload for ApplicationMailer removed
I, [2019-06-07T08:18:32.166249 #68945]  INFO -- : Processing UsersController#show
I, [2019-06-07T08:18:32.166367 #68945]  INFO -- :   Event: {"resource":"/user","path":"/user","httpMethod":"GET","headers":{"Host":"127.0.0.1:8888","Connection":"keep-alive","Accept":"application/json, text/plain, */*","Authorization":"undefined","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36","Referer":"http://localhost:3000/login","Accept-Encoding":"gzip, deflate, br","Accept-Language":"en,fr;q=0.9","Version":"HTTP/1.1","origin":"http://localhost:3000"},"queryStringParameters":{},"pathParameters":null,"stageVariables":null,"requestContext":{},"body":null,"isBase64Encoded":false}
Zeitwerk@jets.main: autoload for Manager removed
Zeitwerk@jets.main: autoload for Video removed
I, [2019-06-07T08:18:32.166526 #68945]  INFO -- :   Parameters: {}
Zeitwerk@jets.main: autoload for TemplateQuestion removed
Zeitwerk@jets.main: autoload for Mux removed
Zeitwerk@jets.main: autoload for Document removed
Zeitwerk@jets.main: autoload for UserSurvey removed
Zeitwerk@jets.main: autoload for UserAuthToken removed
Zeitwerk@jets.main: autoload for AnswerVideo removed
Zeitwerk@jets.main: autoload for AnswerDocument removed
Zeitwerk@jets.main: autoload for Exceptions removed
Zeitwerk@jets.main: autoload for ApplicationItem removed
Zeitwerk@jets.main: autoload for Question removed
Zeitwerk@jets.main: autoload for CompanySurvey removed
Zeitwerk@jets.main: autoload for Answer removed
Zeitwerk@jets.main: autoload for Company removed
Zeitwerk@jets.main: autoload for UserInvitationToken removed
Zeitwerk@jets.main: autoload for ApplicationRecord removed
Zeitwerk@jets.main: autoload for ManagerInvitationToken removed
Zeitwerk@jets.main: autoload for User removed
Zeitwerk@jets.main: autoload for AnswerPolicy removed
Zeitwerk@jets.main: autoload for TemplateQuestionPolicy removed
Zeitwerk@jets.main: autoload for ApplicationPolicy removed
Zeitwerk@jets.main: autoload for ManagerInvitationTokenPolicy removed
Zeitwerk@jets.main: autoload for QuestionPolicy removed
Zeitwerk@jets.main: autoload for UserInvitationTokenPolicy removed
Zeitwerk@jets.main: autoload for CompanySurveyPolicy removed
Zeitwerk@jets.main: autoload for UserSurveyPolicy removed
Zeitwerk@jets.main: autoload for CompanyPolicy removed
Zeitwerk@jets.main: autoload for AnswerSerializer removed
Zeitwerk@jets.main: autoload for QuestionSerializer removed
Zeitwerk@jets.main: autoload for UserSerializer removed
Zeitwerk@jets.main: autoload for UserAuthTokenSerializer removed
Zeitwerk@jets.main: autoload for DocumentSerializer removed
Zeitwerk@jets.main: autoload for VideoSerializer removed
Zeitwerk@jets.main: autoload for CompanySurveySerializer removed
Zeitwerk@jets.main: autoload for AnswerVideoSerializer removed
Zeitwerk@jets.main: autoload for MuxAssetSerializer removed
Zeitwerk@jets.main: autoload for UserInvitationTokenSerializer removed
Zeitwerk@jets.main: autoload for AnswerDocumentSerializer removed
Zeitwerk@jets.main: autoload for ApplicationJob removed
Zeitwerk@jets.main: autoload for DocumentsController removed
Zeitwerk@jets.main: autoload for ApplicationController removed
Zeitwerk@jets.main: autoload for UserSurveysController removed
Zeitwerk@jets.main: autoload for CompanySurveysController removed
Zeitwerk@jets.main: autoload for QuestionsController removed
NameError: uninitialized constant ApplicationRecord
        /Users/sofianegargouri/Development/api/app/models/user_auth_token.rb:3:in `<top (required)>'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/zeitwerk-2.1.6/lib/zeitwerk/kernel.rb:16:in `require'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/zeitwerk-2.1.6/lib/zeitwerk/kernel.rb:16:in `require'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/core_ext/kernel.rb:11:in `require'
        /Users/sofianegargouri/Development/api/app/controllers/concerns/authentication.rb:26:in `current_user'
        /Users/sofianegargouri/Development/api/app/controllers/concerns/authentication.rb:30:in `authenticate_user!'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/callbacks.rb:50:in `block (3 levels) in <module:Callbacks>'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/callbacks.rb:Zeitwerk@jets.main: autoload for AdminsController removed
40:in `each'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/callbacks.rb:40:in `block (2 levels) in <module:Callbacks>'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/base.rb:44:in `dispatch!'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/main.rb:26:in `call!'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/main.rb:21:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/main.rb:43:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/etag.rb:25:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/conditional_get.rb:25:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/head.rb:12:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:232:in `context'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/session/abstract/id.rb:226:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/local.rb:39:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/method_override.rb:22:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/controller/middleware/cors.rb:18:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/runtime.rb:22:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/shotgun-0.9.2/lib/shotgun/static.rb:14:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/jets-1.9.10/lib/jets/middleware.rb:7:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/tempfile_reaper.rb:15:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/lint.rb:49:in `_call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/lint.rb:37:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/show_exceptions.rb:23:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/common_logger.rb:33:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/chunked.rb:54:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/content_length.rb:15:in `call'
        /Users/sofianegargouri/.rvm/gems/ruby-2.5.5/gems/rack-2.0.7/lib/rack/handler/webrick.rb:86:in `service'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:140:in `service'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:96:in `run'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/server.rb:307:in `block in start_thread'
Zeitwerk@jets.main: autoload for AnswersController removed
Zeitwerk@jets.main: autoload for ManagersController removed
Zeitwerk@jets.main: autoload for UsersController removed
Zeitwerk@jets.main: autoload for CompaniesController removed
Zeitwerk@jets.main: autoload for SessionsController removed
Zeitwerk@jets.main: autoload for ManagerInvitationTokensController removed
Zeitwerk@jets.main: autoload for UserInvitationTokensController removed
Zeitwerk@jets.main: autoload for VideosController removed
Zeitwerk@jets.main: autoload for TemplateQuestionsController removed
Zeitwerk@jets.main: autoload for TemplateCompanySurveysController removed
Zeitwerk@jets.main: autoload for ApplicationHelper removed
Zeitwerk@jets.main: autoload for S3Service removed
Zeitwerk@jets.main: autoload for ActsAsMuxAsset removed
Zeitwerk@jets.main: autoload for Authentication removed
Zeitwerk@jets.main: autoload for ExceptionHandler removed
Zeitwerk@jets.main: autoload for Response removed
Zeitwerk@jets.main: autoload set for SourceUploader, to be loaded from /Users/sofianegargouri/Development/api/app/uploaders/source_uploader.rb
Zeitwerk@jets.main: autoload set for InvitationMailer, to be loaded from /Users/sofianegargouri/Development/api/app/mailers/invitation_mailer.rb
Zeitwerk@jets.main: autoload set for ApplicationMailer, to be loaded from /Users/sofianegargouri/Development/api/app/mailers/application_mailer.rb
Zeitwerk@jets.main: autoload set for Manager, to be loaded from /Users/sofianegargouri/Development/api/app/models/manager.rb
Zeitwerk@jets.main: autoload set for Video, to be loaded from /Users/sofianegargouri/Development/api/app/models/video.rb
Zeitwerk@jets.main: autoload set for TemplateQuestion, to be loaded from /Users/sofianegargouri/Development/api/app/models/template_question.rb
Zeitwerk@jets.main: autoload set for Mux, to be autovivified from /Users/sofianegargouri/Development/api/app/models/mux
Zeitwerk@jets.main: autoload set for Document, to be loaded from /Users/sofianegargouri/Development/api/app/models/document.rb
Zeitwerk@jets.main: autoload set for UserSurvey, to be loaded from /Users/sofianegargouri/Development/api/app/models/user_survey.rb
Zeitwerk@jets.main: autoload set for UserAuthToken, to be loaded from /Users/sofianegargouri/Development/api/app/models/user_auth_token.rb
127.0.0.1 - - [07/Jun/2019:08:18:32 +0200] "GET /user HTTP/1.1" 500 110935 0.2196
Zeitwerk@jets.main: autoload set for AnswerVideo, to be loaded from /Users/sofianegargouri/Development/api/app/models/answer_video.rb
Zeitwerk@jets.main: autoload set for AnswerDocument, to be loaded from /Users/sofianegargouri/Development/api/app/models/answer_document.rb
[2019-06-07 08:18:32] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:11 
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:82:in `eof?'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/httpserver.rb:82:in `run'
        /Users/sofianegargouri/.rvm/rubies/ruby-2.5.5/lib/ruby/2.5.0/webrick/server.rb:307:in `block in start_thread'
tongueroo commented 5 years ago

@sofianegargouri Thanks for the logs. Was able to reproduce! Issue #282 points out the specific issue. It has to do with concurrency. To reproduce send it parallel requests:

for i in {1..2} ; do echo $i ; curl localhost:8888/posts & done

Am digging into a fix in #282.

tongueroo commented 5 years ago

Fixed in #283 Released in v1.9.11 πŸŽ‰