操作
バグ #4191
未完了SliderComp.py 実行時にエラー状態になる
開始日:
2017/09/09
期日:
2017/09/15 (7年以上 遅れ)
進捗率:
100%
予定工数:
説明
大阪電通大の升谷です.いつもお世話になります.
OpenRTM-aist-1.1.2に付属のtkinterを使ったコンポーネントをWindowsで試し
ているのですが,動作が不安定です.何か注意すべきことはありますか?
再現条件がはっきりしないのですが,起動してすぐにPythonが異常終了するこ
ともあり,動作中にコンポーネントがエラー状態になることもあります.正常
に動作している場合もありますが,数回に1度ぐらいの頻度で問題が発生しま
す.
試しているのは,
C:\ProgramFiles\OpenRTM-aist\1.1.2\Components\Python\Examples\Slider_and_Motor
にあるSliderComp.pyやTkMotorPosComp.pyです.最初は,これを基にして独自
のコンポーネントを作ろうとしていたのですが,上述の問題が起こるので,オ
リジナルを試していたところ,オリジナルでも同じ問題が起こっています.
takahashi さんが7年以上前に更新
- ステータス を 新規 から 解決 に変更
- 対象バージョン を RELEASE_1_2_0 から RELENG_1_2 に変更
- 進捗率 を 0 から 100 に変更
Scale オブジェクトに対するアクセス競合が起きていた.
Scale.get() はスレッドセーフでは無いが,RTC のコンテキストと Tk GUI のコンテキストの双方からアクセスしていたため,
タイミングが重なると例外やエラーが発生していた.
Scale オブジェクトに設定した Variable オブジェクト越しに値を get することで解決した.
(Tk のサンプルとしてもこちらが正しいお作法)
操作