fix!: long sessions degrade — latency triples, then discard crashes on nil G.buttons
まだ誰も着手していません。
評価
調査の方向性
src/lua/endpoints/discard.lua の 91 行目から始め、ボタン検索を play.lua の対応するパターンと比較します。報告された連続する seed を使って長時間のキャンペーンを再現し、その後、アニメーション中に discard がクラッシュしなくなったことと、キャンペーン全体でレイテンシーが悪化しないことを確認します。
索引モデルが issue の本文から書いたものです。
説明
Description
After ~70 consecutive games on one instance (menu+start between games), we
observed two stages of degradation:
-
Per-action latency roughly tripled relative to a fresh instance.
-
The
discardendpoint then began crashing on every game:discard.lua:91: attempt to index field 'buttons' (a nil value)src/lua/endpoints/discard.lua:91does
UIBox:get_UIE_by_ID("discard_button", G.buttons.UIRoot)with no nil guard —
under the degraded latency the endpoint fires while the dealt hand is still
animating andG.buttonshasn't been built yet.
Six consecutive seeds hit the crash at the end of one long campaign; the same
seeds ran clean on a fresh instance, so this is accumulation, not game content.
Likely the same underlying accumulation as coder/balatrollm#29 (game slowdown
after many rounds).
Impact
Long benchmark campaigns quietly slow down and then start failing runs for
reasons unrelated to the bot under test. Because balatrollm's executor starts
its instances once and cycles the whole task list through them, a large
multi-model campaign is exactly the workload that ages into this state.
Suggested Fix
- In
discard.lua(andplay.lua, which shares the button-lookup pattern),
wait for the button via a condition event instead of asserting on a structure
that may not exist yet mid-animation. - Consider recycling instances every N runs for long campaigns (we restart the
game between 80-seed batches and never see either symptom).
- 主要言語
- Python
- スター
- 80
- フォーク
- 23
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
coder/balatrobot のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
coder/balatrobot#244 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
coder/balatrobot#243 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
coder/balatrobot#234 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
coder/balatrobot#233 ·
-
fix!(lua): G.GAME state survives menu+start — a previous run's won flag marks later losses as winsオープン
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
coder/balatrobot#232 ·
coder/balatrobot の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
pylint-dev/pylint#11791 ·
メンテナーはふだん 1 日以内に返信
-
Rasterio granule reads never retry, so one 503 (Service Unavailable) fails the whole request対応中かも @chuckwondo が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
developmentseed/titiler-cmr#305 ·
メンテナーはふだん 1 日以内に返信
-
community enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信