SIGFPE (division by zero) in random number app
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- cpp
- Ambito
- embedded-iot
Direzione di ricerca
Riproduci il crash nell’applicazione per la generazione di numeri casuali, quindi ispeziona InfiniTime/src/components/motion/MotionController.cpp e MotionController::ShouldShakeWake, concentrandoti sul caso time == lastTime. Esamina la patch allegata InfiniTime_FPE.zip e determina se il guard debba trovarsi in InfiniTime o se aggiri soltanto un problema del simulatore. Il lavoro è completato quando la generazione ripetuta di numeri casuali non termina più il simulatore con SIGFPE.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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")
- Lingua principale
- C++
- Stelle
- 203
- Fork
- 99
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di InfiniTimeOrg/InfiniSim
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
InfiniTimeOrg/InfiniSim#202 · 1 commento ·
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
InfiniTimeOrg/InfiniSim#189 · 3 commenti ·
-
Slowdown with excess drawsApertaenhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
InfiniTimeOrg/InfiniSim#162 · 1 commento ·
-
Free memory budget is wrongApertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
InfiniTimeOrg/InfiniSim#128 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
InfiniTimeOrg/InfiniSim#127 · 5 commenti ·
Tutte le issue di InfiniTimeOrg/InfiniSim
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
3.7.6-dev commit 80481ea - files not centered when resolution differs and zoom = "pixel-to-pixel"Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
grizzlypeak3d/DJV#931 ·
-
bug 🔥 pharesee
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
bug tooling
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
BoundedVector::insert assigns to slots that were never constructedForse già presa @auraseb l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
philips-software/amp-embedded-infra-lib#1379 ·
I maintainer di solito rispondono entro 2 giorni