ROS版choreonoidインストール後、terminalの起動について - #5 by nakaoka - Japanese (日本語) - Choreonoid Discourse

# ROS版choreonoidインストール後、terminalの起動について

Japanese (日本語)

RELUoA_Hiroto
August 19, 2021, 3:15pm

1

ROS版chorenoidを起動できるようになったのですが、それ以降terminalを起動しても入力を受け付けなくなってしまいました。なにかプロセスが動いていると思い、一度Ctrl-Cをしてみると、Fatal Python Errorという表示が出てきました。なにか対処法、心当たりございませんでしょうか。

Screenshot from 2021-08-15 17-40-161920×1080 71.3 KB

Yuki_Onishi
August 19, 2021, 3:47pm

2

本件，複数ターミナルを立ち上げても各ターミナルで同様の状態が起こりますでしょうか？
もし起こる場合，片方だけCtrl+Cを実行して，top等で立ち上がっているプロセスを同定してみてほしいです．

また以下の情報をご教示ください．

設定しているビルドオプション全て
.bashrc内のマニュアルで加筆した部分

よろしくお願いします．

nakaoka
2000
August 20, 2021, 2:27am

3

Choreonoidの操作とは関係なく、端末を起動しようとするとこの症状になるのですよね？
だとしたら、Yukiさんも書かれているように、.bashrcがあやしいのではないかと思います。
.bashrcは端末を起動する度に実行されますので、そこに何かPython関係の記述があって、それが実行されているのではないでしょうか。

RELUoA_Hiroto
August 20, 2021, 4:43am

4

返信ありがとうございます。
現状といたしましては、複数のターミナルを同時に立ち上げても同じような状態になっています。

.bashrcに追記した部分は、
source /opt/ros/noetic/setup.bash
source $HOME/catkin_ws/devel/setup.bash
そして、これはオリジナルで作成したのですが、
alias chore=‘rosrun choreonoid_ros choreonoid’

この３つだけです。

nakaoka
August 20, 2021, 12:13pm

5

これ自体はほぼマニュアルどおりの修正ですよね。うーん、なぜ端末起動時にそのようになるのでしょうね…。

とりあえず.bashrcに記述している sourceコマンドの２行をコメントアウトすれば、端末は起動できるようになりますか？そうだとしたらやはりそこに原因があるでしょうし、そうでなければ他に原因があるということになります。

RELUoA_Hiroto
August 20, 2021, 12:31pm

6

ご連絡ありがとうございます。
sourceコマンド２行をコメントアウトしたところ、起動できるようになりました。そして、更に検証をしてみたところ、
source $HOME/catkin_ws/devel/setup.bash
をコメントアウトしない状態で立ち上げると、起動できなくなるということもわかりました。

Yuki_Onishi
August 20, 2021, 12:54pm

7

本件，複数ターミナルを立ち上げても各ターミナルで同様の状態が起こりますでしょうか？
もし起こる場合，片方だけCtrl+Cを実行して，top等で立ち上がっているプロセスを同定してみてほしいです．

やはり何が立ち上がっているかを特定する必要があると思うのですが，こちらご対応難しそうでしょうか？

nakaoka
August 20, 2021, 12:54pm

8

なるほど、ワークスペース内に生成されるsetup.bashの実行に失敗しているのですね。
正直この症状は見たことがないのでよく分からないのですが、上記添付画像に表示されているメッセージではPythonでsiteモジュールのインポートに失敗したとありますね。

setup.bashから呼ばれるROSのどこかのスクリプトでPythonスクリプトが実行されていて、そこでsiteモジュールのインポートに失敗しているようですね。

siteモジュールについてはよく分かっていませんが、どうもPythonに標準で入っているモジュールのようです。

Python documentation

### site — Site-specific configuration hook

Source code: Lib/site.py This module is automatically imported during initialization. The automatic import can be suppressed using the interpreter’s-S option. Importing this module will append site...

上記状況から考えるに、Pythonのインストールがうまくできていないか、インストールされたファイルの一部が破壊されているといった可能性があります。 aptでPythonパッケージのインストールをやり直したりすると、症状が改善するかもしれません。申し訳ないのですが、ちょっとこれ以上は今のところ分からないです…。

nakaoka
August 20, 2021, 1:00pm

9

Yuki_Onishi:

やはり何が立ち上がっているかを特定する必要があると思うのですが，こちらご対応難しそうでしょうか？

たしかにプロセスを確認することもヒントになりそうですね。上記のように何らかのPythonスクリプトが関係している可能性が高いので、

ps ax|grep python

などとしてみるのもよいかもしれません。

これで出てくるPythonコマンドの引数が基本的にはスクリプトになるはずなので、そこにROSと関連しそうなスクリプトがあれば、それを調査するのも手かと思います。

nakaoka
August 20, 2021, 1:03pm

10

ちなみに上記は端末を起動して入力を受け付けなっている状況で確認します。ただし端末を新たに起動しても同じ状態になってコマンド入力ができないと思われるので、まず該当スクリプトを.bashrcでコメントアウトした状態で端末をひとつ起動しておいて、その後元に戻して症状を再現して、その状態で上記コマンドで確認することになります。

nakaoka
August 20, 2021, 1:35pm

11

上記状況から考えるに、Pythonのインストールがうまくできていないか、インストールされたファイルの一部が破壊されているといった可能性があります。 aptでPythonパッケージのインストールをやり直したりすると、症状が改善するかもしれません

こちらの確認としては、

python3

としてPython単体で起動するとどうなりますでしょうか？Pythonのコンソールが表示されてコマンドを入力できますでしょうか？

もし入力できるとしたら、

import site

と入力するとどうなりますでしょうか？

もしそのような操作をして問題が生じるようでしたら、やはりPython自体の問題になるかと思います。

RELUoA_Hiroto
August 20, 2021, 3:11pm

12

あの、現状報告といった感じになるのですが、あの後もう一回catkin buildコマンドを、~/catkin_ws/build内で実行したところ、[build] Summary: All 4 packages succeeded!という表示が出ました。
それで、.bashrcをもとに戻して新しいタブを開いたところ、問題は起こりませんでした。
その後、PC自体を再起動して、フレッシュな状態でterminalを立ち上げたところ、問題は起きませんでした。複数のタブを立ち上げでも、普通に入力できる状態でした。
何故かよくわかりませんが、今のところは問題なくterminalを使えています。
もしまた同じような問題が発生いたしましたら、python関係を調べてみたいと思います。

nakaoka
August 20, 2021, 3:13pm

了解です。うまく動いたようでよかったです。
Yukiさんもご協力ありがとうございました。

RELUoA_Hiroto
August 20, 2021, 3:16pm