bumptech / bumptech/glide

com.bumptech.glide.load.engine.GlideException: Failed to load resource EOM

Open
#5,300 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
35k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
8

Description

**Glide Version**: 4.16.0

**Integration libraries**: none

**Device/Android Version**: API 30 emulator

**Issue details / Repro steps / Use case background**:
I'm trying to migrate by complex SVG loading setup from v3 to v4. I had a `.decoder(new SvgDecoder())` in v3.

Now I have:
```java
registry.prepend(InputStream.class, SVG.class, new SvgDecoder());
registry.prepend(SVG.class, Bitmap.class, new SvgBitmapDecoder());
```
which I know is wrong now, but that's more the reason to have good error handling for this case!

**Glide load line / `GlideModule` (if any) / list Adapter code (if any)**:
```java
FutureTarget target = Glide
.with(context)
.asBitmap()
.decode(SVG.class)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.load(svgRes)
.submit(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
```

**Stack trace / LogCat**:
```ruby
class com.bumptech.glide.load.engine.GlideException: Failed to load resource

```

The problem is that `GlideException` is created with a list of 0 causes:
![image](https://github.com/bumptech/glide/assets/2906988/a572947a-7815-4ae5-b901-b8c89968a425)
which in turn when calling `logRootCauses` prints nothing.

---

At the very least there should be a warning printed that there are no causes!
But a better solution is to explain why by providing a "fake" cause from `notifyFailed()` detailing why there were no causes even though the decode failed.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.