Integration
sentry-android
Build System
Gradle
AGP Version
8.10.1
Proguard
Enabled
Version
8.19.1 or 8.17.0
Steps to Reproduce
val threadPolicyBuilder = StrictMode.ThreadPolicy.Builder()
.detectAll()
.penaltyLog()
.penaltyDialog()
.penaltyDeath()
StrictMode.setThreadPolicy(threadPolicyBuilder.build())
Call the following method with Timber integration.
Timber.e(IllegalStateException(), "Some message")
Note that this looks like happening with Android 7.1.1 and 8.0, not able to test with other devices.
Note that if using Timber.e(IllegalStateException()) without message looks like the disk read violation is not happening
Expected Result
No StrictMode violations should happen
Actual Result
StrictMode policy violation; ~duration=64 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=458783 violation=2 (Ask Gemini)
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1293)
at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:249)
at java.io.File.exists(File.java:780)
at android.app.ContextImpl.ensureExternalDirsExistOrFilter(ContextImpl.java:2252)
at android.app.ContextImpl.getExternalFilesDirs(ContextImpl.java:635)
at android.content.ContextWrapper.getExternalFilesDirs(ContextWrapper.java:245)
at io.sentry.android.core.DeviceInfoUtil.getExternalStorageDep(DeviceInfoUtil.java:413)
at io.sentry.android.core.DeviceInfoUtil.getExternalStorageStat(DeviceInfoUtil.java:401)
at io.sentry.android.core.DeviceInfoUtil.setDeviceIO(DeviceInfoUtil.java:237)
at io.sentry.android.core.DeviceInfoUtil.collectDeviceInformation(DeviceInfoUtil.java:151)
at io.sentry.android.core.DefaultAndroidEventProcessor.setDevice(DefaultAndroidEventProcessor.java:187)
at io.sentry.android.core.DefaultAndroidEventProcessor.setCommons(DefaultAndroidEventProcessor.java:144)
at io.sentry.android.core.DefaultAndroidEventProcessor.process(DefaultAndroidEventProcessor.java:85)
at io.sentry.SentryClient.processEvent(SentryClient.java:445)
at io.sentry.SentryClient.captureEvent(SentryClient.java:154)
at io.sentry.Scopes.captureEventInternal(Scopes.java:158)
at io.sentry.Scopes.captureEvent(Scopes.java:132)
at io.sentry.Sentry.captureEvent(Sentry.java:724)
at io.sentry.ScopesAdapter.captureEvent(ScopesAdapter.java:31)
at io.sentry.IScopes.captureEvent(IScopes.java:40)
at io.sentry.android.timber.SentryTimberTree.captureEvent(SentryTimberTree.kt:214)
at io.sentry.android.timber.SentryTimberTree.logWithSentry(SentryTimberTree.kt:184)
at io.sentry.android.timber.SentryTimberTree.e(SentryTimberTree.kt:112)
at timber.log.Timber$Forest.e(Timber.kt:342)
...
at android.view.View.performClick(View.java:5637)
at android.view.View$PerformClick.run(View.java:22433)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6121)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
Integration
sentry-android
Build System
Gradle
AGP Version
8.10.1
Proguard
Enabled
Version
8.19.1 or 8.17.0
Steps to Reproduce
Call the following method with Timber integration.
Note that this looks like happening with Android 7.1.1 and 8.0, not able to test with other devices.
Note that if using
Timber.e(IllegalStateException())without message looks like the disk read violation is not happeningExpected Result
No StrictMode violations should happen
Actual Result