Glide: Android 10: JNI detected error in application

Created on 21 Jan 2020  路  5Comments  路  Source: bumptech/glide

Glide version: 4.11.0
Device: Google Pixel XL, android 10
Not reproduced in Glide 4.10.0 and on other devices.
Tested on Samsung S10 (Android 10), Nexus 5 (Android 6), Nokia 6.1 (Android 9))

Failed to create image decoder with message 'unimplemented'

JNI DETECTED ERROR IN APPLICATION: JNI IsInstanceOf called with pending exception java.lang.RuntimeException: setDataSourceCallback failed: status = 0x80000000
        at void android.media.MediaMetadataRetriever._setDataSource(android.media.MediaDataSource) (MediaMetadataRetriever.java:-2)
        at void android.media.MediaMetadataRetriever.setDataSource(android.media.MediaDataSource) (MediaMetadataRetriever.java:210)
        at void com.bumptech.glide.load.resource.bitmap.VideoDecoder$ByteBufferInitializer.initialize(android.media.MediaMetadataRetriever, java.nio.ByteBuffer) (VideoDecoder.java:316)
        at void com.bumptech.glide.load.resource.bitmap.VideoDecoder$ByteBufferInitializer.initialize(android.media.MediaMetadataRetriever, java.lang.Object) (VideoDecoder.java:310)
        at com.bumptech.glide.load.engine.Resource com.bumptech.glide.load.resource.bitmap.VideoDecoder.decode(java.lang.Object, int, int, com.bumptech.glide.load.Options) (VideoDecoder.java:173)
        at com.bumptech.glide.load.engine.Resource com.bumptech.glide.load.engine.DecodePath.decodeResourceWithList(com.bumptech.glide.load.data.DataRewinder, int, int, com.bumptech.glide.load.Options, java.util.List) (DecodePath.java:92)
        at com.bumptech.glide.load.engine.Resource com.bumptech.glide.load.engine.DecodePath.decodeResource(com.bumptech.glide.load.data.DataRewinder, int, int, com.bumptech.glide.load.Options) (DecodePath.java:70)
        at com.bumptech.glide.load.engine.Resource com.bumptech.glide.load.engine.DecodePath.decode(com.bumptech.glide.load.data.DataRewinder, int, int, com.bumptech.glide.load.Options, com.bumptech.glide.load.engine.DecodePath$DecodeCallback) (DecodePath.java:59)
        at com.bumptech.glide.load.engine.Resource com.bumptech.glide.load.engine.LoadPath.loadWithExceptionList(com.bumptech.glide.load.data.DataRewinder, com.bumptech.glide.load.Options, int, int, com.bumptech.glide.load.engine.DecodePath$DecodeCallback, java.util.List) (LoadPath.java:76)
        at com.bumptech.glide.load.engine.Resource com.bumptech.glide.load.engine.LoadPath.load(com.bumptech.glide.load.data.DataRewinder, com.bumptech.glide.load.Options, int, int, com.bumptech.glide.load.engine.DecodePath$DecodeCallback) (LoadPath.java:57)
        at com.bumptech.glide.load.engine.Resource com.bumptech.glide.load.engine.DecodeJob.runLoadPath(java.lang.Object, com.bumptech.glide.load.DataSource, com.bumptech.glide.load.engine.LoadPath) (DecodeJob.java:524)
        at com.bumptech.glide.load.engine.Resource com.bumptech.glide.load.engine.DecodeJob.decodeFromFetcher(java.lang.Object, com.bumptech.glide.load.DataSource) (DecodeJob.java:488)
        at com.bumptech.glide.load.engine.Resource com.bumptech.glide.load.engine.DecodeJob.decodeFromData(com.bumptech.glide.load.data.DataFetcher, java.lang.Object, com.bumptech.glide.load.DataSource) (DecodeJob.java:474)
        at void com.bumptech.glide.load.engine.DecodeJob.decodeFromRetrievedData() (DecodeJob.java:426)
        at void com.bumptech.glide.load.engine.DecodeJob.onDataFetcherReady(com.bumptech.glide.load.Key, java.lang.Object, com.bumptech.glide.load.data.DataFetcher, com.bumptech.glide.load.DataSource, com.bumptech.glide.load.Key) (DecodeJob.java:390)
        at void com.bumptech.glide.load.engine.DataCacheGenerator.onDataReady(java.lang.Object) (DataCacheGenerator.java:94)
        at void com.bumptech.glide.load.model.ByteBufferFileLoader$ByteBufferFetcher.loadData(com.bumptech.glide.Priority, com.bumptech.glide.load.data.DataFetcher$DataCallback) (ByteBufferFileLoader.java:70)
        at boolean com.bumptech.glide.load.engine.DataCacheGenerator.startNext() (DataCacheGenerator.java:74)
        at void com.bumptech.glide.load.engine.DecodeJob.runGenerators() (DecodeJob.java:310)
        at void com.bumptech.glide.load.engine.DecodeJob.runWrapped() (DecodeJob.java:276)
        at void com.bumptech.glide.load.engine.DecodeJob.run() (DecodeJob.java:234)
        at void java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) (ThreadPoolExecutor.java:1167)
        at void java.util.concurrent.ThreadPoolExecutor$Worker.run() (ThreadPoolExecutor.java:641)
        at void java.lang.Thread.run() (Thread.java:919)
        at void com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run() (GlideExecutor.java:393)

        in call to IsInstanceOf
        from void android.media.MediaMetadataRetriever._setDataSource(android.media.MediaDataSource)
        Runtime aborting...
        Skipping all-threads dump as locks are held: thread_suspend_count_lock
        Aborting thread:
        "glide-disk-cache-thread-0" prio=5 tid=82 Native
        | group="" sCount=0 dsCount=0 flags=0 obj=0x1430a548 self=0x74fabf7000
        | sysTid=14660 nice=9 cgrp=default sched=0/0 handle=0x7559d35d50
        | state=R schedstat=( 2050508924 2024939422 2059 ) utm=185 stm=19 core=2 HZ=100
        | stack=0x7559c33000-0x7559c35000 stackSize=1039KB
        | held mutexes= "abort lock" "thread list lock"

        ........

         Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 14660 (glide-disk-cach), pid 14356 (ia.*.dev)

Full stacktrace can be found here
As a temporary solution I use 4.10.0, but I would appreciate any help.

Thanks in advance!

stale

Most helpful comment

Met the same issue after upgraded glide from 4.10.0 to 4.11.0. I also reverted it back to 4.10.0.

All 5 comments

This issue has been automatically marked as stale because it has not had activity in the last seven days. It will be closed if no further activity occurs within the next seven days. Thank you for your contributions.

Met the same issue after upgraded glide from 4.10.0 to 4.11.0. I also reverted it back to 4.10.0.

Why is this issue closed?

It is still happening.

I can reproduce this on 4.11.0, specifically when using the profiler in Android Studio. Reverting to 4.10.0 fixes the issue.

I can also reproduce this on 4.11.0 on Pixel 2 (Android 10) ONLY when using the profiler in Android Studio.
Now I am reverting to 4.10.0 till the issue resolves.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

MrFuFuFu picture MrFuFuFu  路  3Comments

PatrickMA picture PatrickMA  路  3Comments

piedpiperlol picture piedpiperlol  路  3Comments

sant527 picture sant527  路  3Comments

ghost picture ghost  路  3Comments