-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[fetch1075] fetchでjsk-fetch-startupのjobが立ち上がらない #1531
Comments
@tkmtnt7000 のChatでのコメントから
とあるので、一つの仮説としてthread数が多すぎるせいで新規スレッドが立ち上げられないという可能性が挙げられています。 |
ただ、fetch1075 で 参考: https://www.yunabe.jp/docs/maximum_number_of_threads.html |
気になる点
|
この問題は、jsk-fetch-startupをsupervisorから起動する時に発生しています。
この状態になっても、手動でfetch_bringup.launchを立ち上げるとこのエラーは発生しません。
|
@708yamaguchi @mqcmd196 @tkmtnt7000 @iory |
ひょっとして関係或るかも? |
ただ、ソケット通信を張れる数の制約に引っかかったとしても、エラーが出るタイミングはTCPソケット通信を開始するタイミングであって、スレッドを作るタイミングでは無さそう.... |
OpenBLASエラーみたいなの見ていると、起動時にはスレッド数の制限には引っかかっていそう。
|
この件ですが犯人は僕で、最近m5stack用に使っていたrosrun rosserial_python serial_node.pyが大量のスレッドを生成していました。 問題を簡単にまとめると、以下のとおりです。 この問題を修正したプルリクエストをrosserialに送りました。 参考までに、エラーが発生していたときの状況を書きます。
コマンド参考: ちなみにpythonプログラムの中から使用しているスレッド数を調べるには、以下のコマンドが有用です。
また各スレッドの中身は以下のような感じで、同じ名前のスレッドが大量にありました。
このエラーに気づくのが遅れた原因として、serial_node.pyのlogger levelをerror以上にしていたことがあります。 logger levelを変更した理由は、fetchとm5stackが離れたりm5stackが一時的に電源OFFになったりすると数秒に1回くらいのペースで以下のようなUnexpected Errorをwarningとして出力するのですが、これによりjsk-fetch-startup.logの視認性を下げたくなかったからです。
同じ過ちを繰り返さないように、当面はlogger levelをデフォルトのinfoに戻しておきます。 |
エラーメッセージで検索すると、thread数が上限に達している、みたいなことを言われる。
全部のログ
https://gist.github.com/708yamaguchi/ff32e5921570e7e004836a758665acde
The text was updated successfully, but these errors were encountered: