LoginSignup
2
5

More than 5 years have passed since last update.

Rails 5 + Puma で連続して xhr したらハングアップした

Posted at

Rails アプリの開発中、短時間に連続して xhr する処理を書いたら、Rails のプロセスが必ずハングアップして KILL しかできない状態になってしまった。

デバッガで原因を調査したところ、クラスのオートロード時に呼ばれる ActiveSupport::Dependencies::Interlock#loading のあたりで止まってしまっていることがわかった。

Puma はマルチスレッドでリクエストを処理するため、複数のスレッドがこのロックをとることでデッドロックが発生してしまったものと思われる。

これ以上詳しいことはまだわかっていないが、開発時は RAILS_MAX_THREADS=1 を指定してシングルスレッドで動作させることで、ひとまず問題を回避した。

2
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5