SIGFPE (division by zero) in random number app
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- cpp
- Bereich
- embedded-iot
Rechercherichtung
Reproduziere den Absturz in der Zufallszahlen-App und untersuche anschließend InfiniTime/src/components/motion/MotionController.cpp sowie MotionController::ShouldShakeWake, wobei du dich auf den Fall time == lastTime konzentrierst. Prüfe den beigefügten Patch InfiniTime_FPE.zip und ermittle, ob der Guard in InfiniTime gehört oder lediglich ein Simulatorproblem umgeht. Erledigt ist die Aufgabe, wenn wiederholte Generierung von Zufallszahlen den Simulator nicht mehr mit SIGFPE beendet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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")
- Vorherrschende Sprache
- C++
- Sterne
- 203
- Forks
- 99
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus InfiniTimeOrg/InfiniSim
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
InfiniTimeOrg/InfiniSim#202 · 1 Kommentar ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
InfiniTimeOrg/InfiniSim#189 · 3 Kommentare ·
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
InfiniTimeOrg/InfiniSim#162 · 1 Kommentar ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
InfiniTimeOrg/InfiniSim#128 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
InfiniTimeOrg/InfiniSim#127 · 5 Kommentare ·
Alle Issues in InfiniTimeOrg/InfiniSim
Ähnliche Issues
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
metasequoiaime/msime#9113 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
tone-3000/tone3000-plugin#257 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Locked plugin flip-flops position on every refresh after being disabledEvtl. vergeben @Illustar0 hat das heute übernommen. Offenissue report
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
ModOrganizer2/modorganizer#2449 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement P5
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
open-astro/AlpacaBridge#1468 ·
Maintainer antworten meist innerhalb von 1 Tag