janko / rodauth-rails

Rails integration for Rodauth authentication framework
https://github.com/jeremyevans/rodauth
MIT License
584 stars 40 forks source link

Periodic Hangs observed on both macos and ubuntu #310

Closed 34code closed 1 week ago

34code commented 1 month ago

Here is what I see in the logs every time the server hangs up..

19:25:37 web.1  |
19:25:37 web.1  |
19:26:19 css.1  |
19:26:19 css.1  | Rebuilding...
19:26:19 css.1  |
19:26:19 css.1  | Done in 368ms.
19:26:21 web.1  | Started GET "/buy/9780071597333?ext=ebay" for ::1 at 2024-07-28 19:26:21 -0700
19:26:21 web.1  |   MvCatComAllStores Load (0.5ms)  SELECT "mv_cat_com_all_stores".* FROM "mv_cat_com_all_stores"
19:26:21 web.1  |   ↳ app/helpers/definitions.rb:6:in `map'
19:26:21 web.1  | Started GET "/following/list" for ::1 at 2024-07-28 19:26:21 -0700
19:26:22 web.1  |   Sequel (183.1ms)  SELECT CAST(current_setting('server_version_num') AS integer) AS v
19:26:22 web.1  |   ↳ app/misc/rodauth_app.rb:3:in `<class:RodauthApp>'
19:26:22 web.1  |   Sequel (184.1ms)  SELECT NULL AS "nil" FROM "accounts" LIMIT 1
19:26:22 web.1  |   ↳ app/misc/rodauth_app.rb:3:in `<class:RodauthApp>'

It always ends with SELECT NULL as "nil" from "accounts" LIMIT 1.

I have to exit server and restart whenever this happens which makes development slow and painful..

34code commented 1 month ago

There is no error but the server just hangs.. I'm using postgres btw.

janko commented 1 month ago

Is your Rodauth app handling authentication for routes it shouldn't be, e.g. Rails' internal routes? You could try printing request.path inside the route block, and checking if you're calls like rodauth.require_authentication in these cases.

I don't know what could cause the hanging, maybe it's connected to the asset pipeline. What are you using for compiling assets?

34code commented 1 month ago

I'm using propshaft for asset pipeline by way of gem "propshaft", github: "rails/propshaft" in my gemfile. I include assets using the following in application.html.erb e.g. <%= stylesheet_link_tag "tailwind", "data-turbo-track": "reload" %>

I do have a:

def authenticate
  rodauth.require_account # redirect to login page if not authenticated
end

and some controllers/actions-within-controllers have:

before_action :authenticate

let me use a puts in that authenticate method for request.path and report back..

34code commented 1 month ago

very strange, its no longer occurring, and im pulling rodauth-rails from github.. don't know if anything changed but im still seeing SELECT NULL as "nil" from "accounts" LIMIT 1 but its no longer hanging! on both ubuntu and macos :)

janko commented 1 month ago

You could add active_record_query_trace gem to your Gemfile, so that you get longer backtrace of queries, as Active Record only returns first line of application code (it strips gem code locations by default). It's also suspicious, I haven't seen it before.

34code commented 1 month ago

good idea, I will include that gem in development env!

34code commented 3 weeks ago

This is the query trace i found after I included the suggested gem... its hanging more often than not on macos, it happens sporadically on linux as well.. trace below:

21:58:11 web.1  |   ↳ app/helpers/definitions.rb:6:in `map'
21:58:11 web.1  | Query Trace:
21:58:11 web.1  |       app/helpers/definitions.rb:6:in `map'
21:58:11 web.1  |       app/helpers/definitions.rb:6:in `<module:Definitions>'
21:58:11 web.1  |       app/helpers/definitions.rb:1:in `<main>'
21:58:11 web.1  |       app/helpers/application_helper.rb:5:in `<module:ApplicationHelper>'
21:58:11 web.1  |       app/helpers/application_helper.rb:1:in `<main>'
21:58:11 web.1  |   ↳ app/helpers/definitions.rb:6:in `map'
21:58:11 web.1  |   Sequel (195.6ms)  SELECT CAST(current_setting('server_version_num') AS integer) AS v
21:58:11 web.1  |   ↳ app/misc/rodauth_app.rb:3:in `<class:RodauthApp>'
21:58:11 web.1  | Query Trace:
21:58:11 web.1  |       app/misc/rodauth_app.rb:3:in `<class:RodauthApp>'
21:58:11 web.1  |       app/misc/rodauth_app.rb:1:in `<main>'
21:58:11 web.1  |   ↳ app/misc/rodauth_app.rb:3:in `<class:RodauthApp>'
21:58:11 web.1  | Started GET "/following/list" for ::1 at 2024-08-15 21:58:11 -0700
21:58:12 web.1  |   Sequel (188.0ms)  SELECT NULL AS "nil" FROM "accounts" LIMIT 1
21:58:12 web.1  |   ↳ app/misc/rodauth_app.rb:3:in `<class:RodauthApp>'
21:58:12 web.1  | Query Trace:
21:58:12 web.1  |       app/misc/rodauth_app.rb:3:in `<class:RodauthApp>'
21:58:12 web.1  |       app/misc/rodauth_app.rb:1:in `<main>'
21:58:12 web.1  |   ↳ app/misc/rodauth_app.rb:3:in `<class:RodauthApp>'

I have a feeling SELECT NULL AS "nil" FROM "accounts" LIMIT 1 is the culprit which is causing the hanging. Only solution is to kill server and restart server in development. Makes development stall due to this.

janko commented 3 weeks ago

Thanks, but that's not enough of backtrace, it didn't even reach Rodauth internals. Could you increase query trace depth to a high number so that it shows all the caller locations in Rodauth gem?

janko commented 3 weeks ago

Not sure if the query trace is deliberately filtering out gem locations, there is a new BACKTRACE env var in Rails 7.2.

34code commented 3 weeks ago

Hi I've enabled the BACKTRACE env var to true and also set active_record_query_trace logging to :full but have not run into this error again.. I'm pulling from github main branch. I will close out this issue for now and reopen when I'm able to get a more fuller query trace.

34code commented 3 weeks ago

Nvm its happened again! Hopefully this trace below helps!

14:49:24 web.1  | Started GET "/fp?fp=2678408921&b=Chrome&d=undefined&o=Mac%20OS&sr=3440x1329&c=undefined&ua=Mozilla/5.0%20(Macintosh;%20Intel%20Mac%20OS%20X%2010_15_7)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/127.0.0.0%20Safari/537.36" for ::1 at 2024-08-22 14:49:24 -0700
14:49:24 web.1  | Processing by ApplicationController#grab_fingerprint as */*
14:49:24 web.1  |   Parameters: {"fp"=>"2678408921", "b"=>"Chrome", "d"=>"undefined", "o"=>"Mac OS", "sr"=>"3440x1329", "c"=>"undefined", "ua"=>"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"}
14:49:27 web.1  |   Sequel (190.4ms)  SELECT * FROM "accounts" WHERE (("id" = 2) AND (("status" = 2) OR (("status" = 1) AND ("id" IN (SELECT "id" FROM "account_verification_keys" WHERE ((CAST("requested_at" AS timestamp) + make_interval(secs := 86400)) > CURRENT_TIMESTAMP)))))) LIMIT 1
14:49:27 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:49:27 web.1  | Query Trace:
14:49:27 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:136:in `fully_formatted_trace'
14:49:27 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:95:in `sql'
14:49:27 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/subscriber.rb:137:in `call'
14:49:27 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/log_subscriber.rb:147:in `call'
14:49:27 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/notifications/fanout.rb:178:in `block in finish'
14:49:27 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:49:28 web.1  |   Fingerprint Load (187.9ms)  SELECT "fingerprints".* FROM "fingerprints" WHERE "fingerprints"."fingerprint" = $1 ORDER BY "fingerprints"."id" ASC LIMIT $2  [["fingerprint", "2678408921"], ["LIMIT", 1]]
14:49:28 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:49:28 web.1  | Query Trace:
14:49:28 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:136:in `fully_formatted_trace'
14:49:28 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:95:in `sql'
14:49:28 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/subscriber.rb:137:in `call'
14:49:28 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/log_subscriber.rb:147:in `call'
14:49:28 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/notifications/fanout.rb:178:in `block in finish'
14:49:28 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:49:28 web.1  |   TRANSACTION (187.8ms)  BEGIN
14:49:28 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:49:28 web.1  |   Fingerprint Update (201.7ms)  UPDATE "fingerprints" SET "session_count" = $1, "updated_at" = $2 WHERE "fingerprints"."id" = $3  [["session_count", 123], ["updated_at", "2024-08-22 21:49:28.628854"], ["id", 47]]
14:49:28 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:49:28 web.1  | Query Trace:
14:49:28 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:136:in `fully_formatted_trace'
14:49:28 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:95:in `sql'
14:49:28 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/subscriber.rb:137:in `call'
14:49:28 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/log_subscriber.rb:147:in `call'
14:49:28 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/notifications/fanout.rb:178:in `block in finish'
14:49:28 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:49:29 web.1  |   TRANSACTION (203.3ms)  COMMIT
14:49:29 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:49:29 web.1  |   Rendering application/grab_fingerprint.html.erb
14:49:29 web.1  |   Rendered application/grab_fingerprint.html.erb (Duration: 0.6ms | GC: 0.0ms)
14:49:29 web.1  | Completed 200 OK in 4338ms (Views: 1.8ms | ActiveRecord: 2873.0ms (3 queries, 0 cached) | GC: 0.0ms)
14:49:29 web.1  |
14:49:29 web.1  |
14:50:11 web.1  | Started GET "/autocomplete/All?category=All&q=ghost" for ::1 at 2024-08-22 14:50:11 -0700
14:50:12 web.1  |   MvCatComAllStores Load (0.8ms)  SELECT "mv_cat_com_all_stores".* FROM "mv_cat_com_all_stores"
14:50:12 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:50:12 web.1  | Query Trace:
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:136:in `fully_formatted_trace'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:95:in `sql'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/subscriber.rb:137:in `call'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/log_subscriber.rb:147:in `call'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/notifications/fanout.rb:178:in `block in finish'
14:50:12 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:50:12 web.1  |   Sequel (191.6ms)  SELECT CAST(current_setting('server_version_num') AS integer) AS v
14:50:12 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:50:12 web.1  | Query Trace:
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:136:in `fully_formatted_trace'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:95:in `sql'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/subscriber.rb:137:in `call'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/log_subscriber.rb:147:in `call'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/notifications/fanout.rb:178:in `block in finish'
14:50:12 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:50:12 web.1  |   Sequel (190.9ms)  SELECT NULL AS "nil" FROM "accounts" LIMIT 1
14:50:12 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
14:50:12 web.1  | Query Trace:
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:136:in `fully_formatted_trace'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:95:in `sql'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/subscriber.rb:137:in `call'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/log_subscriber.rb:147:in `call'
14:50:12 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.0/lib/active_support/notifications/fanout.rb:178:in `block in finish'
14:50:12 web.1  |   ↳ activerecord (7.2.0) lib/active_record/log_subscriber.rb:122:in `log_query_source'
janko commented 2 weeks ago

Now I see the other end of the backtrace. So, it's your Rails app => Rodauth => Sequel => Active Record => Active Support. First I got Rails app code, now I got Active Record / Active Support, but Rodauth source is still missing. That's the only important thing, without it I don't know what part of Rodauth triggers the query.

34code commented 2 weeks ago

I see.. I don't know what else to do to show the rodauth and sequel side of the logs. I'll look into whether there are additional params i need to pass in my config or enable any additional env vars..

janko commented 2 weeks ago

ActiveRecordQueryTrace has a default limit of 5 lines, you need to set the limit to 0 to see the full query trace. This setting has worked for me:

ActiveRecordQueryTrace.enabled = true
ActiveRecordQueryTrace.level = :full
ActiveRecordQueryTrace.lines = 0
34code commented 1 week ago

That .lines was it! Thank you so much for that :)

heres a longer query trace.. hope it uncovers something...

23:44:14 web.1  | Started GET "/buy/9780071597333?ext=wal" for ::1 at 2024-08-29 23:44:14 -0700
23:44:15 web.1  |   MvCatComAllStores Load (1.1ms)  SELECT "mv_cat_com_all_stores".* FROM "mv_cat_com_all_stores"
23:44:15 web.1  |   ↳ activerecord (7.2.1) lib/active_record/log_subscriber.rb:122:in `log_query_source'
23:44:15 web.1  | Query Trace:
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:136:in `fully_formatted_trace'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:95:in `sql'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/subscriber.rb:138:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/log_subscriber.rb:147:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:178:in `block in finish'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:25:in `block in iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:122:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:177:in `finish'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:259:in `block in finish_with_values'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:25:in `block in iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:258:in `finish_with_values'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/integrations/active_support_notifications.rb:80:in `finish_with_values'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:251:in `finish'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/instrumenter.rb:64:in `instrument'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:1119:in `log'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:892:in `exec_no_cache'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:872:in `execute_and_clear'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:66:in `internal_exec_query'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:647:in `select'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:73:in `select_all'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:246:in `block in select_all'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:284:in `block (2 levels) in cache_sql'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:80:in `compute_if_absent'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:282:in `block in cache_sql'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:281:in `cache_sql'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/abstract/query_cache.rb:246:in `select_all'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/querying.rb:70:in `_query_by_sql'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/relation.rb:1431:in `block (2 levels) in exec_main_query'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:395:in `with_connection'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/relation.rb:1430:in `block in exec_main_query'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/relation.rb:1452:in `skip_query_cache_if_necessary'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/relation.rb:1414:in `exec_main_query'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/relation.rb:1392:in `block in exec_queries'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/relation.rb:1452:in `skip_query_cache_if_necessary'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/relation.rb:1386:in `exec_queries'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/relation.rb:1167:in `load'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/relation.rb:336:in `records'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/relation/delegation.rb:98:in `each'
23:44:15 web.1  |       app/helpers/definitions.rb:6:in `map'
23:44:15 web.1  |       app/helpers/definitions.rb:6:in `<module:Definitions>'
23:44:15 web.1  |       app/helpers/definitions.rb:1:in `<main>'
23:44:15 web.1  |       /Users/sambit/.rubies/ruby-3.3.4/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
23:44:15 web.1  |       /Users/sambit/.rubies/ruby-3.3.4/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/zeitwerk-2.6.17/lib/zeitwerk/kernel.rb:26:in `require'
23:44:15 web.1  |       app/helpers/application_helper.rb:5:in `<module:ApplicationHelper>'
23:44:15 web.1  |       app/helpers/application_helper.rb:1:in `<main>'
23:44:15 web.1  |       /Users/sambit/.rubies/ruby-3.3.4/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
23:44:15 web.1  |       /Users/sambit/.rubies/ruby-3.3.4/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/zeitwerk-2.6.17/lib/zeitwerk/kernel.rb:26:in `require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/inflector/methods.rb:290:in `const_get'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/inflector/methods.rb:290:in `constantize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/core_ext/string/inflections.rb:74:in `constantize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/abstract_controller/helpers.rb:41:in `block in modules_for_helpers'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/abstract_controller/helpers.rb:34:in `map!'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/abstract_controller/helpers.rb:34:in `modules_for_helpers'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_controller/metal/helpers.rb:114:in `modules_for_helpers'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/abstract_controller/helpers.rb:197:in `helper'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/lookbook-3.0.0.alpha.2/app/controllers/concerns/lookbook/preview_controller_actions.rb:15:in `block in <module:PreviewControllerActions>'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concern.rb:138:in `class_eval'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concern.rb:138:in `append_features'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/lookbook-3.0.0.alpha.2/app/controllers/lookbook_preview_controller.rb:3:in `include'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/lookbook-3.0.0.alpha.2/app/controllers/lookbook_preview_controller.rb:3:in `<class:LookbookPreviewController>'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/lookbook-3.0.0.alpha.2/app/controllers/lookbook_preview_controller.rb:2:in `<main>'
23:44:15 web.1  |       /Users/sambit/.rubies/ruby-3.3.4/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
23:44:15 web.1  |       /Users/sambit/.rubies/ruby-3.3.4/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/zeitwerk-2.6.17/lib/zeitwerk/kernel.rb:26:in `require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/inflector/methods.rb:290:in `const_get'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/inflector/methods.rb:290:in `constantize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/core_ext/string/inflections.rb:74:in `constantize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/lookbook-3.0.0.alpha.2/lib/lookbook/engine.rb:18:in `block in <class:Engine>'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:407:in `instance_exec'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:407:in `block in make_lambda'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:179:in `block in call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:668:in `block (2 levels) in default_terminator'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:667:in `catch'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:667:in `block in default_terminator'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:180:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:559:in `block in invoke_before'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:559:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:559:in `invoke_before'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:109:in `run_callbacks'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/reloader.rb:96:in `prepare!'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/reloader.rb:48:in `block in <class:Reloader>'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:407:in `instance_exec'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:407:in `block in make_lambda'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:208:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:563:in `block in invoke_after'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:563:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:563:in `invoke_after'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:111:in `run_callbacks'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/execution_wrapper.rb:128:in `run'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/execution_wrapper.rb:124:in `run!'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/reloader.rb:122:in `run!'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/execution_wrapper.rb:77:in `block in run!'
23:44:15 web.1  |       <internal:kernel>:90:in `tap'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/execution_wrapper.rb:74:in `run!'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/reloader.rb:64:in `run!'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:92:in `call_app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:87:in `instrument_app_call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:111:in `instrument_app_call_with_exception_handling'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:52:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/better_errors-2.10.1/lib/better_errors/middleware.rb:87:in `protected_app_call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/better_errors-2.10.1/lib/better_errors/middleware.rb:82:in `better_errors_call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/better_errors-2.10.1/lib/better_errors/middleware.rb:60:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:132:in `call_app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:28:in `block in call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:17:in `catch'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:17:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/railties-7.2.1/lib/rails/rack/logger.rb:41:in `call_app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/railties-7.2.1/lib/rails/rack/logger.rb:29:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/ahoy_matey-5.1.0/lib/ahoy/engine.rb:22:in `call_with_quiet_ahoy'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/propshaft-0.9.1/lib/propshaft/quiet_assets.rb:11:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/request_store-1.7.0/lib/request_store/middleware.rb:19:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/request_id.rb:33:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/method_override.rb:28:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/runtime.rb:24:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/server_timing.rb:61:in `block in call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/server_timing.rb:26:in `collect_events'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/server_timing.rb:60:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/static.rb:27:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/sendfile.rb:114:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/host_authorization.rb:143:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/events.rb:116:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/railties-7.2.1/lib/rails/engine.rb:535:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/configuration.rb:272:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/request.rb:100:in `block in handle_request'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/thread_pool.rb:378:in `with_force_shutdown'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/request.rb:99:in `handle_request'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/server.rb:464:in `process_client'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/server.rb:245:in `block in run'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/thread_pool.rb:155:in `block in spawn_thread'
23:44:15 web.1  |   ↳ activerecord (7.2.1) lib/active_record/log_subscriber.rb:122:in `log_query_source'
23:44:15 web.1  |   Sequel (187.9ms)  SELECT CAST(current_setting('server_version_num') AS integer) AS v
23:44:15 web.1  |   ↳ activerecord (7.2.1) lib/active_record/log_subscriber.rb:122:in `log_query_source'
23:44:15 web.1  | Query Trace:
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:136:in `fully_formatted_trace'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:95:in `sql'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/subscriber.rb:138:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/log_subscriber.rb:147:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:178:in `block in finish'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:25:in `block in iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:122:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:177:in `finish'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:259:in `block in finish_with_values'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:25:in `block in iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:258:in `finish_with_values'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/integrations/active_support_notifications.rb:80:in `finish_with_values'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:251:in `finish'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/instrumenter.rb:64:in `instrument'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/hooks/active_support_notifications.rb:18:in `instrument'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:194:in `activerecord_log'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:59:in `log_connection_yield'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:101:in `execute_query'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:90:in `block in execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:66:in `check_disconnect_errors'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:90:in `execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:532:in `_execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:38:in `block in _execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/utils.rb:7:in `set_value'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:37:in `_execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:348:in `block (2 levels) in execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:555:in `check_database_errors'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:348:in `block in execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:18:in `block in synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:49:in `block in synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:175:in `block (2 levels) in activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:174:in `block in activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:173:in `activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:42:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:7:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:348:in `execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/actions.rb:1189:in `execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:651:in `fetch_rows'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/actions.rb:164:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/actions.rb:792:in `single_value'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/shared/postgres.rb:761:in `block in server_version'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/misc.rb:494:in `swallow_database_error'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/shared/postgres.rb:761:in `server_version'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/shared/postgres.rb:2645:in `server_version'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/sql.rb:274:in `select_sql'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/actions.rb:164:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/actions.rb:792:in `single_value'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/actions.rb:322:in `get'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/query.rb:217:in `_table_exists?'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/shared/postgres.rb:1133:in `_table_exists?'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/query.rb:206:in `block in table_exists?'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/transactions.rb:207:in `block in transaction'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:18:in `block in synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:49:in `block in synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:175:in `block (2 levels) in activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:174:in `block in activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:173:in `activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:42:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:7:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/transactions.rb:197:in `transaction'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:28:in `transaction'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/query.rb:206:in `table_exists?'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rodauth-2.36.0/lib/rodauth/features/base.rb:438:in `post_configure'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rodauth-2.36.0/lib/rodauth/features/email_base.rb:22:in `post_configure'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rodauth-omniauth-0.3.4/lib/rodauth/features/omniauth_base.rb:33:in `post_configure'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rodauth-2.36.0/lib/rodauth.rb:64:in `configure'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/roda-3.83.0/lib/roda.rb:300:in `plugin'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/bundler/gems/rodauth-rails-aa8298e7e9a5/lib/rodauth/rails/app.rb:22:in `configure'
23:44:15 web.1  |       app/misc/rodauth_app.rb:3:in `<class:RodauthApp>'
23:44:15 web.1  |       app/misc/rodauth_app.rb:1:in `<main>'
23:44:15 web.1  |       /Users/sambit/.rubies/ruby-3.3.4/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
23:44:15 web.1  |       /Users/sambit/.rubies/ruby-3.3.4/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/zeitwerk-2.6.17/lib/zeitwerk/kernel.rb:26:in `require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/inflector/methods.rb:290:in `const_get'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/inflector/methods.rb:290:in `constantize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/core_ext/string/inflections.rb:74:in `constantize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/bundler/gems/rodauth-rails-aa8298e7e9a5/lib/rodauth/rails.rb:98:in `app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/bundler/gems/rodauth-rails-aa8298e7e9a5/lib/rodauth/rails/middleware.rb:14:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/omniauth-2.1.2/lib/omniauth/strategy.rb:202:in `call!'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/omniauth-2.1.2/lib/omniauth/strategy.rb:169:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/omniauth-2.1.2/lib/omniauth/builder.rb:44:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/static.rb:161:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/tempfile_reaper.rb:20:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/etag.rb:29:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/conditional_get.rb:31:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/head.rb:15:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/http/content_security_policy.rb:36:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-session-2.0.0/lib/rack/session/abstract/id.rb:272:in `context'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-session-2.0.0/lib/rack/session/abstract/id.rb:266:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/cookies.rb:704:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/migration.rb:674:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:101:in `run_callbacks'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/callbacks.rb:30:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:92:in `call_app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:87:in `instrument_app_call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:111:in `instrument_app_call_with_exception_handling'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:52:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/better_errors-2.10.1/lib/better_errors/middleware.rb:87:in `protected_app_call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/better_errors-2.10.1/lib/better_errors/middleware.rb:82:in `better_errors_call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/better_errors-2.10.1/lib/better_errors/middleware.rb:60:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:132:in `call_app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:28:in `block in call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:17:in `catch'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:17:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/railties-7.2.1/lib/rails/rack/logger.rb:41:in `call_app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/railties-7.2.1/lib/rails/rack/logger.rb:29:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/ahoy_matey-5.1.0/lib/ahoy/engine.rb:22:in `call_with_quiet_ahoy'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/propshaft-0.9.1/lib/propshaft/quiet_assets.rb:11:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/request_store-1.7.0/lib/request_store/middleware.rb:19:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/request_id.rb:33:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/method_override.rb:28:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/runtime.rb:24:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/server_timing.rb:61:in `block in call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/server_timing.rb:26:in `collect_events'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/server_timing.rb:60:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/static.rb:27:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/sendfile.rb:114:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/host_authorization.rb:143:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/events.rb:116:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/railties-7.2.1/lib/rails/engine.rb:535:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/configuration.rb:272:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/request.rb:100:in `block in handle_request'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/thread_pool.rb:378:in `with_force_shutdown'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/request.rb:99:in `handle_request'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/server.rb:464:in `process_client'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/server.rb:245:in `block in run'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/thread_pool.rb:155:in `block in spawn_thread'
23:44:15 web.1  |   ↳ activerecord (7.2.1) lib/active_record/log_subscriber.rb:122:in `log_query_source'
23:44:15 web.1  | Started GET "/favorites/list?page=3" for ::1 at 2024-08-29 23:44:15 -0700
23:44:15 web.1  |   Sequel (190.0ms)  SELECT NULL AS "nil" FROM "accounts" LIMIT 1
23:44:15 web.1  |   ↳ activerecord (7.2.1) lib/active_record/log_subscriber.rb:122:in `log_query_source'
23:44:15 web.1  | Query Trace:
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:136:in `fully_formatted_trace'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/active_record_query_trace-1.8.2/lib/active_record_query_trace.rb:95:in `sql'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/subscriber.rb:138:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/log_subscriber.rb:147:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:178:in `block in finish'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:25:in `block in iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:122:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:177:in `finish'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:259:in `block in finish_with_values'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:25:in `block in iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:24:in `iterate_guarding_exceptions'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:258:in `finish_with_values'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/integrations/active_support_notifications.rb:80:in `finish_with_values'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/fanout.rb:251:in `finish'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/notifications/instrumenter.rb:64:in `instrument'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/hooks/active_support_notifications.rb:18:in `instrument'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:194:in `activerecord_log'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:59:in `log_connection_yield'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:101:in `execute_query'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:90:in `block in execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:66:in `check_disconnect_errors'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:90:in `execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:532:in `_execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:38:in `block in _execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/utils.rb:7:in `set_value'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:37:in `_execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:348:in `block (2 levels) in execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:555:in `check_database_errors'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:348:in `block in execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:18:in `block in synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:49:in `block in synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:175:in `block (2 levels) in activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:174:in `block in activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:173:in `activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:42:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:7:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:348:in `execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/actions.rb:1189:in `execute'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/postgres.rb:651:in `fetch_rows'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/actions.rb:164:in `each'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/actions.rb:792:in `single_value'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/dataset/actions.rb:322:in `get'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/query.rb:217:in `_table_exists?'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/adapters/shared/postgres.rb:1133:in `_table_exists?'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/query.rb:206:in `block in table_exists?'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/transactions.rb:207:in `block in transaction'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:18:in `block in synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:49:in `block in synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:175:in `block (2 levels) in activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:174:in `block in activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:173:in `activerecord_lock'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection.rb:42:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:7:in `synchronize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/transactions.rb:197:in `transaction'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-activerecord_connection-1.4.1/lib/sequel/extensions/activerecord_connection/postgres.rb:28:in `transaction'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/sequel-5.83.1/lib/sequel/database/query.rb:206:in `table_exists?'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rodauth-2.36.0/lib/rodauth/features/base.rb:438:in `post_configure'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rodauth-2.36.0/lib/rodauth/features/email_base.rb:22:in `post_configure'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rodauth-omniauth-0.3.4/lib/rodauth/features/omniauth_base.rb:33:in `post_configure'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rodauth-2.36.0/lib/rodauth.rb:64:in `configure'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/roda-3.83.0/lib/roda.rb:300:in `plugin'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/bundler/gems/rodauth-rails-aa8298e7e9a5/lib/rodauth/rails/app.rb:22:in `configure'
23:44:15 web.1  |       app/misc/rodauth_app.rb:3:in `<class:RodauthApp>'
23:44:15 web.1  |       app/misc/rodauth_app.rb:1:in `<main>'
23:44:15 web.1  |       /Users/sambit/.rubies/ruby-3.3.4/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
23:44:15 web.1  |       /Users/sambit/.rubies/ruby-3.3.4/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/zeitwerk-2.6.17/lib/zeitwerk/kernel.rb:26:in `require'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/inflector/methods.rb:290:in `const_get'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/inflector/methods.rb:290:in `constantize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/core_ext/string/inflections.rb:74:in `constantize'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/bundler/gems/rodauth-rails-aa8298e7e9a5/lib/rodauth/rails.rb:98:in `app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/bundler/gems/rodauth-rails-aa8298e7e9a5/lib/rodauth/rails/middleware.rb:14:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/omniauth-2.1.2/lib/omniauth/strategy.rb:202:in `call!'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/omniauth-2.1.2/lib/omniauth/strategy.rb:169:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/omniauth-2.1.2/lib/omniauth/builder.rb:44:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/static.rb:161:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/tempfile_reaper.rb:20:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/etag.rb:29:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/conditional_get.rb:31:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/head.rb:15:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/http/content_security_policy.rb:36:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-session-2.0.0/lib/rack/session/abstract/id.rb:272:in `context'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-session-2.0.0/lib/rack/session/abstract/id.rb:266:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/cookies.rb:704:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activerecord-7.2.1/lib/active_record/migration.rb:674:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/callbacks.rb:101:in `run_callbacks'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/callbacks.rb:30:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:92:in `call_app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:87:in `instrument_app_call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:111:in `instrument_app_call_with_exception_handling'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/appsignal-3.13.0/lib/appsignal/rack/abstract_middleware.rb:52:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/better_errors-2.10.1/lib/better_errors/middleware.rb:87:in `protected_app_call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/better_errors-2.10.1/lib/better_errors/middleware.rb:82:in `better_errors_call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/better_errors-2.10.1/lib/better_errors/middleware.rb:60:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:132:in `call_app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:28:in `block in call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:17:in `catch'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/web-console-4.2.1/lib/web_console/middleware.rb:17:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/railties-7.2.1/lib/rails/rack/logger.rb:41:in `call_app'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/railties-7.2.1/lib/rails/rack/logger.rb:29:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/ahoy_matey-5.1.0/lib/ahoy/engine.rb:22:in `call_with_quiet_ahoy'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/propshaft-0.9.1/lib/propshaft/quiet_assets.rb:11:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/request_store-1.7.0/lib/request_store/middleware.rb:19:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/request_id.rb:33:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/method_override.rb:28:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/runtime.rb:24:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/activesupport-7.2.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/server_timing.rb:61:in `block in call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/server_timing.rb:26:in `collect_events'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/server_timing.rb:60:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/static.rb:27:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/sendfile.rb:114:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/actionpack-7.2.1/lib/action_dispatch/middleware/host_authorization.rb:143:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/rack-3.1.7/lib/rack/events.rb:116:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/railties-7.2.1/lib/rails/engine.rb:535:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/configuration.rb:272:in `call'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/request.rb:100:in `block in handle_request'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/thread_pool.rb:378:in `with_force_shutdown'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/request.rb:99:in `handle_request'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/server.rb:464:in `process_client'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/server.rb:245:in `block in run'
23:44:15 web.1  |       /Users/sambit/.gem/ruby/3.3.4/gems/puma-6.4.2/lib/puma/thread_pool.rb:155:in `block in spawn_thread'
23:44:15 web.1  |   ↳ activerecord (7.2.1) lib/active_record/log_subscriber.rb:122:in `log_query_source'
janko commented 1 week ago

OK, from the stack trace you can see that SELECT NULL AS "nil" FROM "accounts" LIMIT 1 is just Rodauth checking whether the accounts table exists (it's coming from Sequel's #table_exists? method). You can avoid this check by setting the following in your Rodauth configuration:

convert_token_id_to_integer? { Account.columns_hash["id"].type == :integer }

But it shouldn't be problematic, I would be surprised if this query was causing the hanging in development.

I suggest you take a look at the browser's network tab and see if there are any failed requests (make sure to include any websocket requests as well). When the app becomes unresponsive again, you can use rbspy to check where did the Ruby process get stuck.

I will close this, as it appears to be nondeterministic and unlikely to be a bug in rodauth-rails. But I can re-open if sufficient proof is presented otherwise.

34code commented 1 week ago

hangs seem to have stopped after I added the above recommended line in the Rodauth configuration.. I'll keep the dev server running longer and see if it comes back..

34code commented 1 week ago

I've run the app for a few days and I think that recommendation above fixed it! thank you! no more hangs..