Puma 6.0.0 leads to "App crashed" (H10 error) on Heroku
evaneykelen opened this issue · comments
Describe the bug
Upgrading from puma 5.6.5 to 6.0.0 and deploying to Heroku leads to instant, replicable app crash ("H10" in Heroku parlance).
App:
- Ruby 3.1.2
- rails (7.0.4)
- stimulus-rails (1.1.0)
- turbo-rails (1.3.2)
Heroku log entry:
2022-10-21T11:01:02.219141+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/cable" host=[REDACTED].herokuapp.com request_id=[REDACTED] fwd="[REDACTED]" dyno= connect= service= status=503 bytes= protocol=https
2022-10-21T11:02:42.930352+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=[REDACTED].herokuapp.com request_id=[REDACTED] fwd="[REDACTED]" dyno= connect= service= status=503 bytes= protocol=https
Puma config:
See https://gist.github.com/evaneykelen/2109acfb5dbc16ffba79dded65e26373
To Reproduce
Update to 6.0.0 and deploy to Heroku.
Expected behavior
Not crashing.
rackup DefaultRackup
Configuration constants like DefaultRackup removed
I see I could have prevented this issue by sticking to Heroku's advice by using:
> rackup DefaultRackup if defined?(DefaultRackup)
instead of using
rackup DefaultRackup
in my puma.rb
config file.
Thanks @hovancik for the pointer!