Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Error loading list of podcasts when some of the files are missing/corrupt #316

Closed
K3zter opened this issue Nov 16, 2023 · 5 comments · Fixed by #328
Closed

[Bug]: Error loading list of podcasts when some of the files are missing/corrupt #316

K3zter opened this issue Nov 16, 2023 · 5 comments · Fixed by #328
Assignees
Labels
bug Something isn't working
Milestone

Comments

@K3zter
Copy link

K3zter commented Nov 16, 2023

What happened?

I am assuming this is a new issue, as I recently updated to the latest snapshot - however it may be something else weird has changed. My situation is a bit of an edge case, however so it may be hard to replicate. I'll try to explain:

I have an old podcast that I downloaded all the episodes of and have been listening to, however at some point the feed stopped working properly - it would update with new episode titles but fail to download a file. So, in the database it has a list of episodes but they are unable to play. However, the OLD episodes still play just fine.

I listen to these in Dsub, which presumably makes an API request for the list of files when you click on the podcast. Up until recently, these dud podcasts would just show as 0:00 length.. but now instead I can't access the page at all and I get the following error:

"Server error: Cannot invoke "java.lang.Double.doubleValue()" because the return value of "org.airsonic.player.domain.MediaFile.getDuration()" is null

So I'm assuming where previously it would accept a null value and return a length of 0, now it's throwing an error instead.

Steps to reproduce

Not sure if this can be easily reproduced as how I arrived in this situation was a bit odd!

Version

11.1.x (Edge)

Version Detail

No response

Operating System

Docker container on Ubuntu

Java Version

17.0.5

Database

Other

DB Detail

Built-in

Configuration paramter

N/A

Proxy Server

No response

client detail

No response

language

None

Relevant log output

No response

@K3zter K3zter added the bug Something isn't working label Nov 16, 2023
@kagemomiji kagemomiji self-assigned this Nov 20, 2023
@kagemomiji kagemomiji added this to the 11.1.3 milestone Nov 20, 2023
@kagemomiji kagemomiji moved this from NoStatus to Todo in kagemomiji/airsonic-advanced project Nov 20, 2023
@kagemomiji
Copy link
Owner

@K3zter
Since I am trying to resolve #324 at the same time, could you please try the following Docker image ?

ghcr.io/kagemomiji/airsonic-advanced:pr-328

@K3zter
Copy link
Author

K3zter commented Dec 11, 2023

Hey, appreciate your looking into this and all the work you're doing to keep airsonic up to date!

I've believe I've updated to that PR properly - the about page says commit dbcfbe. Sadly, the error is the same in Dsub:
Screenshot_20231211_134914_DSub

I've tried to do a bit more digging to figure out what's going on:

  • This was a Stitcher premium feed generated using UnofficialRSSV2
  • My stitcher subscription lapsed, so the feed could still view episode titles but not download them with my api key.
  • Recently Stitcher shut down completely and the feed link is dead too.
  • I can't delete and re-add the feed/podcast because it no longer exists or is available anywhere (the old episodes).
  • I can view and play the podcast fine in the web app, but apps on the phone using API (Dsub, Tempo) both fail in different ways - Dsub as above, Tempo just shows no episodes. They can view other podcasts fine.
  • I have tried marking all the missing episodes as "deleted" - no difference.

@K3zter
Copy link
Author

K3zter commented Dec 11, 2023

I've also made a copy of my airsonic db, and used HSQL to get a list of the entries for the affected podcast here (I stripped out the API key although I'm pretty sure it's useless now anyways). I've considered trying to remove the lines altogether in the main db, but trying to mess with airsonic dbs in the past has never ended well for me...

https://www.dropbox.com/scl/fi/qn0pcb8a3ebhtgmuk3ad2/podcastdb.txt?rlkey=445ythvehmdhsddu7xfxrgj6f&dl=0

Anyway, you can see that a bunch of the episodes say they have a "bytes downloaded" of 23, where presumably they just downloaded an error message. There were never any files for those podcasts as far as I can tell, even though they have a media_file_id.

@kagemomiji
Copy link
Owner

@K3zter
Could you pull ghcr.io/kagemomiji/airsonic-advanced:pr-328 and try again?

@K3zter
Copy link
Author

K3zter commented Dec 13, 2023

Yes, that fixed it! :) Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

Successfully merging a pull request may close this issue.

2 participants