Handle ApplicationExitInfo.REASON_MEMORY_LIMITER in MemoryLimiterIntegration
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 78/100
Línea de trabajo
Start in sentry-android-core/src/main/java/io/sentry/android/core/MemoryLimiterIntegration.java by reading MemoryLimiterPolicy.matches(...), then inspect sentry-android-core/src/test/java/io/sentry/android/core/MemoryLimiterIntegrationTest.kt. Add coverage for ApplicationExitInfo.REASON_MEMORY_LIMITER while preserving the REASON_OTHER plus MemoryLimiter: behavior, and verify compatibility with older SDK stubs and the existing tests.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
MemoryLimiterIntegration currently recognizes MemoryLimiter process deaths only when ApplicationExitInfo.getReason() == REASON_OTHER and the description contains the MemoryLimiter: prefix.
Android 17 / API 37.2 added ApplicationExitInfo.REASON_MEMORY_LIMITER, and our integration does not account for it yet. That means newer platform versions can report a dedicated MemoryLimiter reason that we may fail to capture.
Relevant code:
sentry-android-core/src/main/java/io/sentry/android/core/MemoryLimiterIntegration.javasentry-android-core/src/test/java/io/sentry/android/core/MemoryLimiterIntegrationTest.kt
Android reference:
Current Behavior
MemoryLimiterPolicy.matches(...) currently returns true only when:
exitInfo.getReason() == ApplicationExitInfo.REASON_OTHERexitInfo.getDescription()containsMemoryLimiter:
Expected Behavior
MemoryLimiterIntegration should also recognize exits reported with ApplicationExitInfo.REASON_MEMORY_LIMITER.
We should preserve current behavior for existing REASON_OTHER + MemoryLimiter: records, since older platform behavior may still surface that combination.
Acceptance Criteria
- Update
MemoryLimiterPolicy.matches(...)to handleREASON_MEMORY_LIMITERin addition to the existing legacy path. - Keep backward compatibility for older Android versions / SDK stubs where the new constant may not be available at compile or runtime.
- Add regression tests covering the dedicated MemoryLimiter reason.
- Verify existing tests around the legacy
REASON_OTHERpath still pass.
Notes
The implementation may need to avoid directly referencing the new constant from older compile targets if that creates compatibility issues with our current Android SDK setup.
- Lenguaje dominante
- Kotlin
- Estrellas
- 1.4k
- Forks
- 478
- Merge medio
- 3 d 2 h
- PR fusionados (30 d)
- 70
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de getsentry/sentry-java
-
Bug Java Platform: Java
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
getsentry/sentry-java#6138 · 1 comentario ·
-
Feature Java Platform: Java Spans
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
getsentry/sentry-java#5984 · 1 comentario ·
-
Android Task Traces
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
getsentry/sentry-java#5376 · 1 comentario ·
-
Android Docs Errors
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
getsentry/sentry-java#5375 · 1 comentario ·
-
Android good first issue Task User Feedbacks
Dificultad 1/5 1-3 horas Aptitud para principiantes 68/100
getsentry/sentry-java#5354 · 1 comentario ·
Todos los issues de getsentry/sentry-java
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
index-request triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Anthonyy232/Paperize#614 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
bitcoindevkit/bdk-ffi#1125 ·
-
🌑 nextgen
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
CCBlueX/LiquidBounce#9214 · 1 comentario ·