ROS版chorenoidを起動できるようになったのですが、それ以降terminalを起動しても入力を受け付けなくなってしまいました。なにかプロセスが動いていると思い、一度Ctrl-Cをしてみると、Fatal Python Errorという表示が出てきました。なにか対処法、心当たりございませんでしょうか。
本件,複数ターミナルを立ち上げても各ターミナルで同様の状態が起こりますでしょうか?
もし起こる場合,片方だけCtrl+Cを実行して,top等で立ち上がっているプロセスを同定してみてほしいです.
また以下の情報をご教示ください.
- 設定しているビルドオプション全て
- .bashrc内のマニュアルで加筆した部分
よろしくお願いします.
Choreonoidの操作とは関係なく、端末を起動しようとするとこの症状になるのですよね?
だとしたら、Yukiさんも書かれているように、.bashrcがあやしいのではないかと思います。
.bashrcは端末を起動する度に実行されますので、そこに何かPython関係の記述があって、それが実行されているのではないでしょうか。
返信ありがとうございます。
現状といたしましては、複数のターミナルを同時に立ち上げても同じような状態になっています。
.bashrcに追記した部分は、
source /opt/ros/noetic/setup.bash
source $HOME/catkin_ws/devel/setup.bash
そして、これはオリジナルで作成したのですが、
alias chore=‘rosrun choreonoid_ros choreonoid’
この3つだけです。
これ自体はほぼマニュアルどおりの修正ですよね。うーん、なぜ端末起動時にそのようになるのでしょうね…。
とりあえず.bashrcに記述している sourceコマンドの2行をコメントアウトすれば、端末は起動できるようになりますか?そうだとしたらやはりそこに原因があるでしょうし、そうでなければ他に原因があるということになります。
ご連絡ありがとうございます。
sourceコマンド2行をコメントアウトしたところ、起動できるようになりました。そして、更に検証をしてみたところ、
source $HOME/catkin_ws/devel/setup.bash
をコメントアウトしない状態で立ち上げると、起動できなくなるということもわかりました。
本件,複数ターミナルを立ち上げても各ターミナルで同様の状態が起こりますでしょうか?
もし起こる場合,片方だけCtrl+Cを実行して,top等で立ち上がっているプロセスを同定してみてほしいです.
やはり何が立ち上がっているかを特定する必要があると思うのですが,こちらご対応難しそうでしょうか?
なるほど、ワークスペース内に生成されるsetup.bashの実行に失敗しているのですね。
正直この症状は見たことがないのでよく分からないのですが、上記添付画像に表示されているメッセージではPythonでsiteモジュールのインポートに失敗したとありますね。
setup.bashから呼ばれるROSのどこかのスクリプトでPythonスクリプトが実行されていて、そこでsiteモジュールのインポートに失敗しているようですね。
siteモジュールについてはよく分かっていませんが、どうもPythonに標準で入っているモジュールのようです。
上記状況から考えるに、Pythonのインストールがうまくできていないか、インストールされたファイルの一部が破壊されているといった可能性があります。 aptでPythonパッケージのインストールをやり直したりすると、症状が改善するかもしれません。申し訳ないのですが、ちょっとこれ以上は今のところ分からないです…。
たしかにプロセスを確認することもヒントになりそうですね。上記のように何らかのPythonスクリプトが関係している可能性が高いので、
ps ax|grep python
などとしてみるのもよいかもしれません。
これで出てくるPythonコマンドの引数が基本的にはスクリプトになるはずなので、そこにROSと関連しそうなスクリプトがあれば、それを調査するのも手かと思います。
ちなみに上記は端末を起動して入力を受け付けなっている状況で確認します。ただし端末を新たに起動しても同じ状態になってコマンド入力ができないと思われるので、まず該当スクリプトを.bashrcでコメントアウトした状態で端末をひとつ起動しておいて、その後元に戻して症状を再現して、その状態で上記コマンドで確認することになります。
上記状況から考えるに、Pythonのインストールがうまくできていないか、インストールされたファイルの一部が破壊されているといった可能性があります。 aptでPythonパッケージのインストールをやり直したりすると、症状が改善するかもしれません
こちらの確認としては、
python3
としてPython単体で起動するとどうなりますでしょうか?Pythonのコンソールが表示されてコマンドを入力できますでしょうか?
もし入力できるとしたら、
import site
と入力するとどうなりますでしょうか?
もしそのような操作をして問題が生じるようでしたら、やはりPython自体の問題になるかと思います。
あの、現状報告といった感じになるのですが、あの後もう一回catkin buildコマンドを、~/catkin_ws/build内で実行したところ、[build] Summary: All 4 packages succeeded!という表示が出ました。
それで、.bashrcをもとに戻して新しいタブを開いたところ、問題は起こりませんでした。
その後、PC自体を再起動して、フレッシュな状態でterminalを立ち上げたところ、問題は起きませんでした。複数のタブを立ち上げでも、普通に入力できる状態でした。
何故かよくわかりませんが、今のところは問題なくterminalを使えています。
もしまた同じような問題が発生いたしましたら、python関係を調べてみたいと思います。
了解です。うまく動いたようでよかったです。
Yukiさんもご協力ありがとうございました。
対応いただき誠にありがとうございました。