プロジェクト

全般

プロフィール

バグ #923

未完了

Service#scan で止まっているスレッドが大量にできる

rhen ium さんが7年以上前に追加. 7年以上前に更新.

ステータス:
新規
優先度:
通常
担当者:
-
対象バージョン:
プラグイン名:
ブランチ:
クラッシュする:

説明

添付のファイルはこのコードで書き出しました。

require "pp" 
File.write("/tmp/threads.txt",Thread.list.map{|x|[x.status, x.backtrace]}.pretty_inspect)

起動後約 30 分弱の状態で、880 個のスレッドが生成されていました。スレッドのスタックトレースを見る限りでは Service#scan で詰まっているようです。

mikutter は develop ブランチにいくつかの勝手パッチ1が当たったものなのと、いくつかプラグインも入っているので、それらがなにかぶっこわしているのかもしれませんが、一応報告しておきます。

[1]: https://git.rhe.jp/mikutter.git/log/?h=5335132ecc82dfa8c158e44a60ec8c92065dcc3e


ファイル

threads.txt (949 KB) threads.txt rhen ium, 2016-10-29 00:05

toshi_a 初音 さんが7年以上前に更新

ちょっと気になったので16時間ほど放置したmikutterでThread.list.sizeの結果を見てみましたが、起動直後が17だったのに対して16時間後が21ということで、恐らくThreadは全て開放されているんじゃないかと思います。
しかし今良く見たらdevelopブランチの内容だったので、3.4の最新のやつでも試す必要がありますね

rhen ium さんが7年以上前に更新

わたしの環境では、放置していても新しくスレッドが増えることはないですが、減りもせず、起動後十数分で作られた数百スレッドが生きつづけたままになっているようです(どのスレッドも完全に固まっているようなので、例のメモリリークとは無関係っぽいですね...)

他の形式にエクスポート: Atom PDF