-
-
Notifications
You must be signed in to change notification settings - Fork 472
Session-end timer runs on java.util.Timer #5576
Open
Labels
Description
Audit finding B2 — actual bug, MEDIUM.
LifecycleWatcher schedules session end with java.util.Timer (new Timer(true) / scheduleEndSession, sentry-android-core/src/main/java/io/sentry/android/core/LifecycleWatcher.java:106-122), sharing B1's mechanics:
- Device sleeps within the 30s background window → session ends only at wake;
Session.end()stamps wake time → inflated session durations in release health. Replaystop()andContinuousProfiler.close(false)also run hours late. - The foreground check
lastUpdatedSession + sessionIntervalMillis <= nowis a wall-clock interval → a clock step causes spurious or missed session rotation.
Source: JAVA-557 §B2.
Metadata
Metadata
Assignees
Labels
Fields
Give feedbackNo fields configured for issues without a type.