Crash during Upload on OfflineStorageSQLite
Mantenedores costumam responder em até 2 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece rastreando os caminhos de desligamento, destrutor e UploadNow() de OfflineStorageSQLite e LogManager. Em seguida, reproduza no Windows 11 a sequência descrita de ponteiros compartilhados e ciclo de vida de threads e verifique se os componentes internos pertencentes ao logger permanecem válidos até o fim do ciclo de vida do logger e se o desligamento não causa mais uma falha.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Describe your environment.
Reproduced on Windows 11, Solutions/version.txt is 3.6.999.1
Steps to reproduce.
This is a race condition that is a bit tricky to reproduce and as consequence not easy.
- Create an object that holds an instance of the logmanager (Do not use the singleton/global instance) and during the destructor calls UploadNow()
- Create a shared pointer instance of a that class
- Create a thread that gets an instance of that ptr (we should have the atomic counter value to two).
- Ensure that thread outlives Main.
We need to reproduce the following.
- Main finishes. (Our object should have atomic counter to 1)
- Singletons clean up process starts, destroying any 1ds internal shaningans
- Thread finishes and sets the object count to 0 calling its destructor.
- Destructor calls logmanager->Uploadnow()
- Crashes
What is the expected behavior?
Internal constructs of 1ds should be bound to lifecycle of the loggers not the process. The process should control the lifecycle of the logger.
What is the actual behavior?
Process crashes at shutdown
Additional context.
- Linguagem predominante
- C
- Estrelas
- 104
- Forks
- 67
- Merge médio
- 2d 15h
- PRs com merge (30d)
- 10
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
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 microsoft/cpp_client_telemetry
-
C API enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
microsoft/cpp_client_telemetry#628 ·
Mantenedores costumam responder em até 2 dias
-
OneDS C++ SDK retries already-ingested iOS events, causing duplicate telemetry recordsTalvez já em andamento @bmehta001 assumiu há 18 dias. Abertabug
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
microsoft/cpp_client_telemetry#1542 · 3 comentários · 1 responsável ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
microsoft/cpp_client_telemetry#1504 ·
Mantenedores costumam responder em até 2 dias
-
Dropping of telemetry eventsAbertabug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
microsoft/cpp_client_telemetry#1413 · 2 comentários ·
Mantenedores costumam responder em até 2 dias
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
microsoft/cpp_client_telemetry#1387 ·
Mantenedores costumam responder em até 2 dias
Todas as issues de microsoft/cpp_client_telemetry
Issues semelhantes
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 84/100
VirusTotal/yara#2255 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
neutralinojs/neutralinojs#1861 ·
Mantenedores costumam responder em até 1 dia
-
[BUG] Filename sequence expansion (`+`) panics on numeric values exceeding `i32::MAX`Talvez já em andamento @muntasir-396 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
CCExtractor/ccextractor#2402 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
FujiNetWIFI/fujinet-lib#204 ·
Mantenedores costumam responder em até 1 dia
-
os:linux
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
mpv-player/mpv#18649 ·
Mantenedores costumam responder em até 1 dia