SIGFPE (division by zero) in random number app
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- cpp
- Domínio
- embedded-iot
Direção de pesquisa
Reproduza o crash no aplicativo de números aleatórios e, em seguida, inspecione InfiniTime/src/components/motion/MotionController.cpp e MotionController::ShouldShakeWake, concentrando-se no caso time == lastTime. Analise o patch anexado InfiniTime_FPE.zip e determine se o guard deve ficar em InfiniTime ou se apenas contorna um problema do simulador. Considera-se concluído quando a geração repetida de números aleatórios não encerra mais o simulador com SIGFPE.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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")
- Linguagem predominante
- C++
- Estrelas
- 205
- Forks
- 99
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de InfiniTimeOrg/InfiniSim
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
InfiniTimeOrg/InfiniSim#202 · 1 comentário ·
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
InfiniTimeOrg/InfiniSim#189 · 3 comentários ·
-
Slowdown with excess drawsAbertaenhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
InfiniTimeOrg/InfiniSim#162 · 1 comentário ·
-
Free memory budget is wrongAbertabug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
InfiniTimeOrg/InfiniSim#128 · 1 comentário ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
InfiniTimeOrg/InfiniSim#127 · 5 comentários ·
Todas as issues de InfiniTimeOrg/InfiniSim
Issues semelhantes
-
Issue-Bug Needs-Triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
microsoft/winget-cli#6645 ·
Mantenedores costumam responder em até 2 dias
-
cleanup help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
ESPresense/ESPresense#2602 ·
Mantenedores costumam responder em até 1 dia
-
devex good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 1 dia
-
artifact:simulation-scenario domain:physics good first issue help wanted role:validation testing
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 3 dias