getsentry / getsentry/sentry-java

Session seq is raw epoch millis; duration is masked with Math.abs

Aberta
#5,580 1 comentário 0 reações 0 responsáveis Ver no GitHub
Platform: Java
Linguagem predominante
Kotlin
Estrelas
1.4k
Forks
478
Merge médio
3d 4h
PRs com merge (30d)
72

Descrição

Audit finding **C2 — theoretical, LOW-MEDIUM**.

`Session` uses raw epoch millis for `seq` and `Math.abs` for duration (`sentry/src/main/java/io/sentry/Session.java`):

* `seq` is set from `getSequenceTimestamp()`, which returns `timestamp.getTime()` (raw epoch millis) — `Session.java:309`, invoked from the session-update path at `:227`. A backward clock step between updates → the newer update has a smaller `seq` → the server can discard the latest session state (lost end/error counts).
* `calculateDurationTime` uses `Math.abs``(timestamp.getTime() - started.getTime())` (`Session.java:240`), which masks negative durations rather than surfacing them.

Source: [JAVA-557]() §C2.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Leia sentry/src/main/java/io/sentry/Session.java, especialmente o caminho de atualização da sessão próximo à linha 227, calculateDurationTime próximo à linha 240 e getSequenceTimestamp próximo à linha 309. Rastreie como as alterações do relógio afetam a ordenação das sequências e o tratamento da duração e, em seguida, identifique os testes existentes relevantes ou os pontos de entrada dos testes. Considera-se concluído quando os casos de avanço do relógio relatados forem tratados sem perder o estado mais recente da sessão nem mascarar durações negativas.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
observability
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.