ERROR 2025-08-17 13:56:21,185 [40250:Core-7 (_actor_loop)] mopidy.core.library StreamBackend backend returned bad data: Expected a SearchResult instance, not []

Am just toying with mopidy and thus far impressed with its search performance on a very large library (which is driving me away fro Modi/Kore/Chorus2 that simply cannot search my library).

Still running it from console for now and watching as I play with web clients and android clients and I am seeing this a lot:

(aside, discourse stupidly restricts us to two links in a post, so sharing an in depth set of links into doc and code cleanly aren’t possible, and I’ll have to pollute the links - to be not links just replace @github: with https://github.com and you’ll be right :wink:).

```
ERROR 2025-08-17 13:56:21,185 [40250:Core-7 (_actor_loop)] mopidy.core.library
StreamBackend backend returned bad data: Expected a SearchResult instance, not []
```
It almost certainly is issued from check_instance here:

@github: /mopidy/mopidy/blob/e02c1d47bffc1db9c7184084192ecf15f83e74ff/src/mopidy/internal/validation.py#L102

and almost certainly from this check:

@github: /mopidy/mopidy/blob/e02c1d47bffc1db9c7184084192ecf15f83e74ff/src/mopidy/core/library.py#L342C51-L342C57

From there it looks like StreamBackend.library.search returns an empty list when it aught not, and look at a candidate for its definition:

@github: /mopidy/mopidy/blob/e02c1d47bffc1db9c7184084192ecf15f83e74ff/src/mopidy/stream/actor.py#L55

It doesn’t seem to implement search so that falls back on the default of backend.LibraryProvider which takes us to:

@github: /mopidy/mopidy/blob/e02c1d47bffc1db9c7184084192ecf15f83e74ff/src/mopidy/backend.py#L166

But that returns None and so somehow I traced that back wrongly. Until I get my dev environment set up again I won’t be able to set breakpoints and examine the stack so I’m guessing a little.

Looking at the doc:

I’ve not configured any streams yet (no interest, I play form a local library), could it be that simple, an expected result being flagged as a red Error erroneously?

This was fixed at Fix backend.library.search() return type and default impl · mopidy/mopidy@313ba03 · GitHub which I don’t think has made it into a release yet. You can either run the latest version from GitHub, or, far simpler in your case would be disable the stream extension entirely. See Mopidy-Stream — Mopidy 3.4.2 documentation

Thanks!

I just noticed on the FileBackend now too. Only two messages, but still.