Project

General

Profile

バグ #4191

SliderComp.py 実行時にエラー状態になる

Added by takahashi about 4 years ago. Updated about 4 years ago.

Status:
解決
Priority:
通常
Assignee:
takahashi
Start date:
09/09/2017
Due date:
09/15/2017
% Done:

100%

Estimated time:

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

Revision 866 (diff)
Added by takahashi about 4 years ago

[compat,bugfix,->RELENG_1_2] To avoid access conflicts, access via variable object. refs #4191

Revision 867 (diff)
Added by takahashi about 4 years ago

[compat,bugfix,->RELENG_1_2] To avoid access conflicts, access via variable object. refs #4191

Revision 868 (diff)
Added by takahashi about 4 years ago

[compat,bugfix,->RELENG_1_2] To avoid access conflicts, access via variable object. refs #4191

Revision 869 (diff)
Added by takahashi about 4 years ago

[compat,bugfix,->RELENG_1_2] To avoid access conflicts, access via variable object. refs #4191

History

#1 Updated by takahashi about 4 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 のサンプルとしてもこちらが正しいお作法)

Also available in: Atom PDF