SIGFPE (division by zero) in random number app
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- cpp
- 領域
- embedded-iot
調査の方向性
乱数アプリでクラッシュを再現し、その後 InfiniTime/src/components/motion/MotionController.cpp と MotionController::ShouldShakeWake を調査し、time == lastTime のケースに注目してください。添付された InfiniTime_FPE.zip のパッチを確認し、その guard が InfiniTime に入るべきものなのか、それともシミュレーターの問題を回避しているだけなのかを判断してください。乱数の生成を繰り返してもシミュレーターが SIGFPE で終了しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Enter the random number app.
Click the "generate random number" button, or one of the "+" or "-" buttons, a few times.
Most of the times, this will stop the simulator process with a SIGFPE due to a division by zero in InfiniTime/src/components/motion/MotionController.cpp, function MotionController::ShouldShakeWake, because time == lastTime
This looks like having time == lastTime could be a simulator bug, not an issue on actual hardware, not sure.
Here's the patch I have applied locally to InfiniTime; let me know if you think it should go to InfiniTime (cleaned up of debugging output to cerr, obviously) for better robustness or is just a work-around for a simulator bug.
(sorry I upload it as a ZIP file, github doesn't let me attach a patch file with a messaging listing the supported file types, among which "PATCH")
- 主要言語
- C++
- スター
- 203
- フォーク
- 99
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
InfiniTimeOrg/InfiniSim のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
InfiniTimeOrg/InfiniSim#202 · コメント 1 件 ·
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
InfiniTimeOrg/InfiniSim#189 · コメント 3 件 ·
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
InfiniTimeOrg/InfiniSim#162 · コメント 1 件 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
InfiniTimeOrg/InfiniSim#128 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
InfiniTimeOrg/InfiniSim#127 · コメント 5 件 ·
InfiniTimeOrg/InfiniSim の issue をすべて見る
似ている issue
-
(S1 - Need confirmation)
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
CleverRaven/Cataclysm-DDA#89182 ·
メンテナーはふだん 1 日以内に返信
-
ai_p2
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
ClickHouse/ClickHouse#126833 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
Misc. bug: Missing range check on grammar_triggers[].type allows remote SIGABRT in llama-serverオープンbug-unconfirmed
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
rocketride-org/rocketride-server#2705 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信