plt.pause(0) waits for ever: PoseGraph.plot_scan(pause=0) and Vehicle animation may hang
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 72/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- matplotlib, python
調査の方向性
mobile/PoseGraph.py の PoseGraph.plot_scan と mobile/Vehicle.py の _refresh_animation_frame を読み、呼び出し元の853行目と1841行目を確認して、dt がゼロになり得るか判断してください。PlannerBase.animation_frame の処理と、#875 の tests/test_step_dt.py にあるタイムアウトテストの方法を比較してください。ポーズ値がゼロの場合のテストを追加し、該当する呼び出しがハングせずに戻るか例外を発生させることを確認してください。
索引モデルが issue の本文から書いたものです。
説明
plt.pause(0) does not return: Matplotlib treats a timeout of zero as "wait until the event loop is stopped", so it blocks for ever, with no message. PyPlot.step(0) and PyPlot2.step(0) did this and now raise ValueError (#875). Other places pass a caller's value straight to plt.pause:
-
PoseGraph.plot_scan(n, pause=0)(mobile/PoseGraph.py):plt.pause(pause)with no guard,pauseis an argument and defaults to 1. Needs a guard, or aValueError, as in #875. -
Vehicleanimation (mobile/Vehicle.py,_refresh_animation_frame(fig, dt, pause)): ends withplt.pause(dt); check whetherdtcan be zero from the callers (lines 853 and 1841) and guard it if so.
Not affected: PlannerBase.animation_frame already tests pause > 0, and the others pass a constant.
I believe the first two hang the same way but have not run them. A test should use a timeout so that a regression fails instead of hanging (see tests/test_step_dt.py in #875).
- 主要言語
- C++
- スター
- 3.6k
- フォーク
- 645
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 145
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
petercorke/robotics-toolbox-python のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
petercorke/robotics-toolbox-python#709 ·
メンテナーはふだん 1 日以内に返信
-
Isaac Sim backendオープンenhancement
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
petercorke/robotics-toolbox-python#903 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Backend registry: single name → constructor dispatch対応中かも @petercorke が今日担当しました。 オープンenhancement
petercorke/robotics-toolbox-python#902 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
tech-debt
難易度 4/5 1〜2日 初心者へのやさしさ 55/100
petercorke/robotics-toolbox-python#898 ·
メンテナーはふだん 1 日以内に返信
-
LatticePlanner: integer headings, and motion primitives with finer turn steps (design first)対応中かも @kVinsom が 3 日前に担当しました。 オープンenhancement help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
petercorke/robotics-toolbox-python#895 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
petercorke/robotics-toolbox-python の issue をすべて見る
似ている issue
-
[Bug] [Go] Ack returns nil when the server answers with a non-OK status対応中かも @leizhiyuan が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
apache/rocketmq-clients#1465 ·
メンテナーはふだん 2 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
cp-algorithms/cp-algorithms#1738 ·
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
KhronosGroup/Vulkan-Tutorial#534 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 2 日以内に返信
-
bug IO
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
MrNeRF/LichtFeld-Studio#3824 ·
メンテナーはふだん 1 日以内に返信