e621ng / e621ng

e621.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Container fails on accessing localhost

anthonyj-codestuff opened this issue · comments

as per our conversation in discord, this was fixed by clearing the cookies for localhost:3000

After successfully building and running locally, ran into some problems and tried to resolve by deleting all docker images, containers, and volumes. Upon building and running it again, accessing localhost:3000 caused the "e621-e621ng" container to fail with the error undefined method 'password_token' for nil:NilClass
Initial hypothesis is that it's caused by an unresolved discrepancy between the session and the database

Stacktrace

/app/app/logical/session_loader.rb:106:in `load_session_user'
/app/app/logical/session_loader.rb:21:in `load'
/app/app/controllers/application_controller.rb:158:in `set_current_user'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/callbacks.rb:400:in `block in make_lambda'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/abstract_controller/callbacks.rb:34:in `block (2 levels) in <module:Callbacks>'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/callbacks.rb:200:in `block in halting'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/callbacks.rb:595:in `block in invoke_before'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/callbacks.rb:595:in `each'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/callbacks.rb:595:in `invoke_before'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/callbacks.rb:106:in `run_callbacks'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/abstract_controller/callbacks.rb:233:in `process_action'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_controller/metal/rescue.rb:22:in `process_action'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/notifications.rb:206:in `block in instrument'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/notifications.rb:206:in `instrument'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_controller/metal/instrumentation.rb:66:in `process_action'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
/usr/local/bundle/gems/activerecord-7.0.4.2/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/abstract_controller/base.rb:151:in `process'
/usr/local/bundle/gems/actionview-7.0.4.2/lib/action_view/rendering.rb:39:in `process'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_controller/metal.rb:188:in `dispatch'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_controller/metal.rb:251:in `dispatch'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/routing/route_set.rb:32:in `serve'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/journey/router.rb:50:in `block in serve'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/journey/router.rb:32:in `each'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/journey/router.rb:32:in `serve'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/routing/route_set.rb:852:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/tempfile_reaper.rb:15:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/etag.rb:27:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/conditional_get.rb:27:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/head.rb:12:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/http/content_security_policy.rb:36:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/session/abstract/id.rb:266:in `context'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/session/abstract/id.rb:260:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/cookies.rb:704:in `call'
/usr/local/bundle/gems/activerecord-7.0.4.2/lib/active_record/migration.rb:603:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/callbacks.rb:99:in `run_callbacks'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/executor.rb:14:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/show_exceptions.rb:26:in `call'
/usr/local/bundle/gems/railties-7.0.4.2/lib/rails/rack/logger.rb:40:in `call_app'
/usr/local/bundle/gems/railties-7.0.4.2/lib/rails/rack/logger.rb:25:in `block in call'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/tagged_logging.rb:99:in `block in tagged'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/tagged_logging.rb:37:in `tagged'
/usr/local/bundle/gems/activesupport-7.0.4.2/lib/active_support/tagged_logging.rb:99:in `tagged'
/usr/local/bundle/gems/railties-7.0.4.2/lib/rails/rack/logger.rb:25:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
/usr/local/bundle/gems/request_store-1.5.1/lib/request_store/middleware.rb:19:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/request_id.rb:26:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/method_override.rb:24:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/runtime.rb:22:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/server_timing.rb:61:in `block in call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/server_timing.rb:26:in `collect_events'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/server_timing.rb:60:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/executor.rb:14:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/static.rb:23:in `call'
/usr/local/bundle/gems/rack-2.2.6.4/lib/rack/sendfile.rb:110:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/ssl.rb:83:in `call'
/usr/local/bundle/gems/actionpack-7.0.4.2/lib/action_dispatch/middleware/host_authorization.rb:137:in `call'
/usr/local/bundle/gems/webpacker-6.0.0.rc.6/lib/webpacker/dev_server_proxy.rb:25:in `perform_request'
/usr/local/bundle/gems/rack-proxy-0.7.6/lib/rack/proxy.rb:87:in `call'
/usr/local/bundle/gems/railties-7.0.4.2/lib/rails/engine.rb:530:in `call'
/usr/local/bundle/gems/puma-6.1.1/lib/puma/configuration.rb:269:in `call'
/usr/local/bundle/gems/puma-6.1.1/lib/puma/request.rb:98:in `block in handle_request'
/usr/local/bundle/gems/puma-6.1.1/lib/puma/thread_pool.rb:340:in `with_force_shutdown'
/usr/local/bundle/gems/puma-6.1.1/lib/puma/request.rb:97:in `handle_request'
/usr/local/bundle/gems/puma-6.1.1/lib/puma/server.rb:431:in `process_client'
/usr/local/bundle/gems/puma-6.1.1/lib/puma/server.rb:233:in `block in run'
/usr/local/bundle/gems/puma-6.1.1/lib/puma/thread_pool.rb:147:in `block in spawn_thread'

From the looks of it, the user you previously authenticated with vanished from the database one way or another
Manual deletion, reset, etc

def load_session_user
user = User.find_by_id(session[:user_id])
return if session[:ph] != user.password_token
CurrentUser.user = user if user
end

The user isn't verified to exist before comparing to the session

Confirmation Can confirm this is the issue, just tested it

image