バグ #4191
SliderComp.py 実行時にエラー状態になる
100%
Description
大阪電通大の升谷です.いつもお世話になります.
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です.最初は,これを基にして独自
のコンポーネントを作ろうとしていたのですが,上述の問題が起こるので,オ
リジナルを試していたところ,オリジナルでも同じ問題が起こっています.
Associated revisions
[compat,bugfix,->RELENG_1_2] To avoid access conflicts, access via variable object. refs #4191
[compat,bugfix,->RELENG_1_2] To avoid access conflicts, access via variable object. refs #4191
[compat,bugfix,->RELENG_1_2] To avoid access conflicts, access via variable object. refs #4191
History
#1 Updated by takahashi over 5 years ago
- Status changed from 新規 to 解決
- Target version changed from RELEASE_1_2_0 to RELENG_1_2
- % Done changed from 0 to 100
Scale オブジェクトに対するアクセス競合が起きていた.
Scale.get() はスレッドセーフでは無いが,RTC のコンテキストと Tk GUI のコンテキストの双方からアクセスしていたため,
タイミングが重なると例外やエラーが発生していた.
Scale オブジェクトに設定した Variable オブジェクト越しに値を get することで解決した.
(Tk のサンプルとしてもこちらが正しいお作法)
[compat,bugfix,->RELENG_1_2] To avoid access conflicts, access via variable object. refs #4191