[Bug]: Playing podcast episode causes server to crash #1248

Closed
opened 2026-04-24 23:55:22 +02:00 by adam · 29 comments
Owner

Originally created by @smithmd on GitHub (Jul 22, 2025).

I have verified that the bug is not already awaiting release

Yes

What was the Problem?

In version 0.10-beta for android, the following happens when I press play on a podcast episode:

[2025-07-22 13:16:37.568] INFO: [SocketAuthority] Socket Connected to /socket.io -RO1jaaerLjbMu0LAAAN
[2025-07-22 13:16:46.699] ERROR: [SessionController] Unable to find audio track with index=0
[2025-07-22 13:16:46.718] ERROR: [SessionController] Unable to find audio track with index=0
[2025-07-22 13:16:47.807] ERROR: [SessionController] Unable to find audio track with index=0
[2025-07-22 13:16:49.896] ERROR: [SessionController] Unable to find audio track with index=0
[2025-07-22 13:16:49.989] INFO: [PlaybackSessionManager] startSession: Closing open session "Make Fun Of Them, Pt. 2" for user "administrator" (Device: Pixel 7a SDK 35 / v0.10.0-beta)
[2025-07-22 13:16:49.992] INFO: [STREAM] START STREAM - Num Segments: 304
[2025-07-22 13:16:50.002] INFO: [INFO] FFMPEG transcoding started with command: ffmpeg -seek_timestamp 1 -f concat -safe 0 -i /metadata/streams/f1412786-3d77-4848-bb18-4668fbc45e1d/files.txt -y -loglevel error -map 0:a -c:a copy -f hls -copyts -avoid_negative_ts make_non_negative -max_delay 5000000 -max_muxing_queue_size 2048 -hls_time 6 -hls_segment_type mpegts -start_number 0 -hls_playlist_type vod -hls_list_size 0 -hls_allow_cache 0 -hls_segment_filename /metadata/streams/f1412786-3d77-4848-bb18-4668fbc45e1d/output-%d.ts /metadata/streams/f1412786-3d77-4848-bb18-4668fbc45e1d/final-output.m3u8
[2025-07-22 13:16:50.003] INFO: 
[2025-07-22 13:16:50.439] FATAL: [Server] Unhandled rejection: TypeError: Cannot read properties of null (reading 'path')
    at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) 
promise: Promise {
  <rejected> TypeError: Cannot read properties of null (reading 'path')
      at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
}

This crashes the server and I need to restart the podman container.

Steps to Reproduce the Issue

  1. Go to a podcast
  2. Click play

What was Expected?

The server shouldn't crash and the episode should play.

Phone Model

Pixel 7a

Phone OS

Android 15

Audiobookshelf App Version

Android App - 0.10.0

Installation Source

Google Play Store

Additional Notes

The server is running v2.26.2 as a container on podman on MacOs

Originally created by @smithmd on GitHub (Jul 22, 2025). ### I have verified that the [bug is not already awaiting release](https://github.com/advplyr/audiobookshelf-app/issues?q=is%3Aissue%20label%3A%22awaiting%20release%22) Yes ### What was the Problem? In version 0.10-beta for android, the following happens when I press play on a podcast episode: ``` [2025-07-22 13:16:37.568] INFO: [SocketAuthority] Socket Connected to /socket.io -RO1jaaerLjbMu0LAAAN [2025-07-22 13:16:46.699] ERROR: [SessionController] Unable to find audio track with index=0 [2025-07-22 13:16:46.718] ERROR: [SessionController] Unable to find audio track with index=0 [2025-07-22 13:16:47.807] ERROR: [SessionController] Unable to find audio track with index=0 [2025-07-22 13:16:49.896] ERROR: [SessionController] Unable to find audio track with index=0 [2025-07-22 13:16:49.989] INFO: [PlaybackSessionManager] startSession: Closing open session "Make Fun Of Them, Pt. 2" for user "administrator" (Device: Pixel 7a SDK 35 / v0.10.0-beta) [2025-07-22 13:16:49.992] INFO: [STREAM] START STREAM - Num Segments: 304 [2025-07-22 13:16:50.002] INFO: [INFO] FFMPEG transcoding started with command: ffmpeg -seek_timestamp 1 -f concat -safe 0 -i /metadata/streams/f1412786-3d77-4848-bb18-4668fbc45e1d/files.txt -y -loglevel error -map 0:a -c:a copy -f hls -copyts -avoid_negative_ts make_non_negative -max_delay 5000000 -max_muxing_queue_size 2048 -hls_time 6 -hls_segment_type mpegts -start_number 0 -hls_playlist_type vod -hls_list_size 0 -hls_allow_cache 0 -hls_segment_filename /metadata/streams/f1412786-3d77-4848-bb18-4668fbc45e1d/output-%d.ts /metadata/streams/f1412786-3d77-4848-bb18-4668fbc45e1d/final-output.m3u8 [2025-07-22 13:16:50.003] INFO: [2025-07-22 13:16:50.439] FATAL: [Server] Unhandled rejection: TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) promise: Promise { <rejected> TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) } ``` This crashes the server and I need to restart the podman container. ### Steps to Reproduce the Issue 1. Go to a podcast 2. Click play ### What was Expected? The server shouldn't crash and the episode should play. ### Phone Model Pixel 7a ### Phone OS Android 15 ### Audiobookshelf App Version Android App - 0.10.0 ### Installation Source Google Play Store ### Additional Notes The server is running v2.26.2 as a container on podman on MacOs
adam added the bug label 2026-04-24 23:55:22 +02:00
adam closed this issue 2026-04-24 23:55:22 +02:00
Author
Owner

@advplyr commented on GitHub (Jul 22, 2025):

The audio track is being found on the session but it doesn't have a metadata object. I'm not sure how that could happen.

https://github.com/advplyr/audiobookshelf/blob/878f0787ba39ff82f9d5b6b5b5bb397ec667f010/server/controllers/SessionController.js#L291-L310

Is this reproducible every time? Is it reproducible with other podcasts?

Can you switch to debug logs so we can see this log

Logger.debug(`[SessionController] Serving audio track ${audioTrack.index} for session "${req.params.id}" belonging to user "${user.username}"`)

It also seems that the podcast episode is not able to get direct played on your device, so it is falling back to transcoding. Can you share the format and codec of the audio file?

@advplyr commented on GitHub (Jul 22, 2025): The audio track is being found on the session but it doesn't have a metadata object. I'm not sure how that could happen. https://github.com/advplyr/audiobookshelf/blob/878f0787ba39ff82f9d5b6b5b5bb397ec667f010/server/controllers/SessionController.js#L291-L310 Is this reproducible every time? Is it reproducible with other podcasts? Can you switch to debug logs so we can see this log ``` Logger.debug(`[SessionController] Serving audio track ${audioTrack.index} for session "${req.params.id}" belonging to user "${user.username}"`) ``` It also seems that the podcast episode is not able to get direct played on your device, so it is falling back to transcoding. Can you share the format and codec of the audio file?
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

yea, it seems to happen with every podcast episode. Only streaming ones. If I download the episode first it's fine. Also the web player works fine.

@smithmd commented on GitHub (Jul 22, 2025): yea, it seems to happen with every podcast episode. Only streaming ones. If I download the episode first it's fine. Also the web player works fine.
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

how do I turn on debug logs?

@smithmd commented on GitHub (Jul 22, 2025): how do I turn on debug logs?
Author
Owner

@advplyr commented on GitHub (Jul 22, 2025):

On the logs page

Image

Can you share the file format and codec of the audio file you are trying to play? It is uncommon that a podcast episode cannot be direct played since they are typically mp3 or mp4.

@advplyr commented on GitHub (Jul 22, 2025): On the logs page <img width="1390" height="274" alt="Image" src="https://github.com/user-attachments/assets/7bceab92-04cb-462b-8e3b-c1f98e7208f6" /> Can you share the file format and codec of the audio file you are trying to play? It is uncommon that a podcast episode cannot be direct played since they are typically mp3 or mp4.
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

actually, if I delete the episode and redownload it, it will play. Is there a way to rebuild my metadata?

2025-07-22 14:00:51.355

DEBUG

[ApiCacheManager] Object.afterBulkUpdate: Clearing cache

2025-07-22 14:00:51.355

DEBUG

[PlaybackSessionManager] startSessionRequest for device Pixel 7a SDK 35 / v0.10.0-beta

2025-07-22 14:00:51.356

DEBUG

[PlaybackSessionManager] "administrator" starting direct play session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" with id 4e6a194c-2181-4ca6-9ecb-044a178c9f2c (Device: Pixel 7a SDK 35 / v0.10.0-beta)

2025-07-22 14:00:51.602

ERROR

[SessionController] Unable to find audio track with index=0

2025-07-22 14:00:51.612

ERROR

[SessionController] Unable to find audio track with index=0

2025-07-22 14:00:52.689

ERROR

[SessionController] Unable to find audio track with index=0

2025-07-22 14:00:54.717

ERROR

[SessionController] Unable to find audio track with index=0

2025-07-22 14:00:54.809

DEBUG

[ApiCacheManager] Object.afterBulkUpdate: Clearing cache

2025-07-22 14:00:54.809

DEBUG

[PlaybackSessionManager] startSessionRequest for device Pixel 7a SDK 35 / v0.10.0-beta

2025-07-22 14:00:54.809

INFO

[PlaybackSessionManager] startSession: Closing open session "Make Fun Of Them, Pt. 2" for user "administrator" (Device: Pixel 7a SDK 35 / v0.10.0-beta)

2025-07-22 14:00:54.809

DEBUG

[PlaybackSessionManager] closeSession "4e6a194c-2181-4ca6-9ecb-044a178c9f2c"

2025-07-22 14:00:54.810

DEBUG

[PlaybackSessionManager] Removed session "4e6a194c-2181-4ca6-9ecb-044a178c9f2c"

2025-07-22 14:00:54.810

DEBUG

[PlaybackSessionManager] "administrator" starting stream session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" (Device: Pixel 7a SDK 35 / v0.10.0-beta)

2025-07-22 14:00:54.813

INFO

[STREAM] START STREAM - Num Segments: 304

2025-07-22 14:00:54.869

INFO

[INFO] FFMPEG transcoding started with command: ffmpeg -seek_timestamp 1 -f concat -safe 0 -i /metadata/streams/d2653f0b-c732-4a45-ada7-4a3108868239/files.txt -y -loglevel error -map 0:a -c:a copy -f hls -copyts -avoid_negative_ts make_non_negative -max_delay 5000000 -max_muxing_queue_size 2048 -hls_time 6 -hls_segment_type mpegts -start_number 0 -hls_playlist_type vod -hls_list_size 0 -hls_allow_cache 0 -hls_segment_filename /metadata/streams/d2653f0b-c732-4a45-ada7-4a3108868239/output-%d.ts /metadata/streams/d2653f0b-c732-4a45-ada7-4a3108868239/final-output.m3u8

2025-07-22 14:00:54.869

INFO

2025-07-22 14:00:54.982

DEBUG

[SessionController] Serving audio track 1 for session "d2653f0b-c732-4a45-ada7-4a3108868239" belonging to user "administrator"

2025-07-22 14:00:54.983

FATAL

[Server] Unhandled rejection: TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) promise: Promise { <rejected> TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) }
@smithmd commented on GitHub (Jul 22, 2025): actually, if I delete the episode and redownload it, it will play. Is there a way to rebuild my metadata? ``` 2025-07-22 14:00:51.355 DEBUG [ApiCacheManager] Object.afterBulkUpdate: Clearing cache 2025-07-22 14:00:51.355 DEBUG [PlaybackSessionManager] startSessionRequest for device Pixel 7a SDK 35 / v0.10.0-beta 2025-07-22 14:00:51.356 DEBUG [PlaybackSessionManager] "administrator" starting direct play session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" with id 4e6a194c-2181-4ca6-9ecb-044a178c9f2c (Device: Pixel 7a SDK 35 / v0.10.0-beta) 2025-07-22 14:00:51.602 ERROR [SessionController] Unable to find audio track with index=0 2025-07-22 14:00:51.612 ERROR [SessionController] Unable to find audio track with index=0 2025-07-22 14:00:52.689 ERROR [SessionController] Unable to find audio track with index=0 2025-07-22 14:00:54.717 ERROR [SessionController] Unable to find audio track with index=0 2025-07-22 14:00:54.809 DEBUG [ApiCacheManager] Object.afterBulkUpdate: Clearing cache 2025-07-22 14:00:54.809 DEBUG [PlaybackSessionManager] startSessionRequest for device Pixel 7a SDK 35 / v0.10.0-beta 2025-07-22 14:00:54.809 INFO [PlaybackSessionManager] startSession: Closing open session "Make Fun Of Them, Pt. 2" for user "administrator" (Device: Pixel 7a SDK 35 / v0.10.0-beta) 2025-07-22 14:00:54.809 DEBUG [PlaybackSessionManager] closeSession "4e6a194c-2181-4ca6-9ecb-044a178c9f2c" 2025-07-22 14:00:54.810 DEBUG [PlaybackSessionManager] Removed session "4e6a194c-2181-4ca6-9ecb-044a178c9f2c" 2025-07-22 14:00:54.810 DEBUG [PlaybackSessionManager] "administrator" starting stream session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" (Device: Pixel 7a SDK 35 / v0.10.0-beta) 2025-07-22 14:00:54.813 INFO [STREAM] START STREAM - Num Segments: 304 2025-07-22 14:00:54.869 INFO [INFO] FFMPEG transcoding started with command: ffmpeg -seek_timestamp 1 -f concat -safe 0 -i /metadata/streams/d2653f0b-c732-4a45-ada7-4a3108868239/files.txt -y -loglevel error -map 0:a -c:a copy -f hls -copyts -avoid_negative_ts make_non_negative -max_delay 5000000 -max_muxing_queue_size 2048 -hls_time 6 -hls_segment_type mpegts -start_number 0 -hls_playlist_type vod -hls_list_size 0 -hls_allow_cache 0 -hls_segment_filename /metadata/streams/d2653f0b-c732-4a45-ada7-4a3108868239/output-%d.ts /metadata/streams/d2653f0b-c732-4a45-ada7-4a3108868239/final-output.m3u8 2025-07-22 14:00:54.869 INFO 2025-07-22 14:00:54.982 DEBUG [SessionController] Serving audio track 1 for session "d2653f0b-c732-4a45-ada7-4a3108868239" belonging to user "administrator" 2025-07-22 14:00:54.983 FATAL [Server] Unhandled rejection: TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) promise: Promise { <rejected> TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) } ```
Author
Owner

@advplyr commented on GitHub (Jul 22, 2025):

It seems like you may have made manual updates to the database that is causing the issue

@advplyr commented on GitHub (Jul 22, 2025): It seems like you may have made manual updates to the database that is causing the issue
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

no, I've never touched the database directly. The drive I have connected gets removed by podman every once in a while somehow. I've been trying to track that down before filing a bug report on it. I'm guessing it got corrupted when that happened.

I keep my audiobooks/podcasts on a USB drive and podman and docker both disconnected that physical drive on the host, so I suspect something is weird with the container. None of my other containers do that and I have lots of things running on USB drives.

@smithmd commented on GitHub (Jul 22, 2025): no, I've never touched the database directly. The drive I have connected gets removed by podman every once in a while somehow. I've been trying to track that down before filing a bug report on it. I'm guessing it got corrupted when that happened. I keep my audiobooks/podcasts on a USB drive and podman and docker both disconnected that physical drive on the host, so I suspect something is weird with the container. None of my other containers do that and I have lots of things running on USB drives.
Author
Owner

@advplyr commented on GitHub (Jul 22, 2025):

I don't see how an audio file could get saved in the db that doesn't have a metadata object on it.
If you are comfortable opening up the database the podcastEpisodes table has an audioFile column that has the audio file objects.
If you can look at the podcast episode that failed to play and see what the audio file object looks like that could be helpful

Image
@advplyr commented on GitHub (Jul 22, 2025): I don't see how an audio file could get saved in the db that doesn't have a metadata object on it. If you are comfortable opening up the database the podcastEpisodes table has an `audioFile` column that has the audio file objects. If you can look at the podcast episode that failed to play and see what the audio file object looks like that could be helpful <img width="1808" height="741" alt="Image" src="https://github.com/user-attachments/assets/9e0e7f64-eab3-4d71-ad9b-7c17175e9617" />
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

{
  "index": null,
  "ino": "2536",
  "metadata": {
    "filename": "Make Fun Of Them, Pt. 1.mp3",
    "ext": ".mp3",
    "path": "/podcasts/tech-nightmare/Better Offline/Make Fun Of Them, Pt. 1.mp3",
    "relPath": "Make Fun Of Them, Pt. 1.mp3",
    "size": 38054282,
    "mtimeMs": 1752037211226,
    "ctimeMs": 1752037211226,
    "birthtimeMs": 1752037206632
  },
  "addedAt": 1752037211309,
  "updatedAt": 1752037211309,
  "trackNumFromMeta": null,
  "discNumFromMeta": null,
  "trackNumFromFilename": null,
  "discNumFromFilename": null,
  "manuallyVerified": false,
  "exclude": false,
  "error": null,
  "format": "MP2/3 (MPEG audio layer 2/3)",
  "duration": 2378.213878,
  "bitRate": 128000,
  "language": null,
  "codec": "mp3",
  "timeBase": "1/14112000",
  "channels": 2,
  "channelLayout": "stereo",
  "chapters": [],
  "embeddedCoverArt": null,
  "metaTags": {
    "tagAlbum": "Better Offline",
    "tagAlbumSort": "Better Offline",
    "tagArtist": "iHeartMedia and CoolZone Radio",
    "tagArtistSort": "iHeartMedia and CoolZone Radio",
    "tagGenre": "Technology;Podcasts",
    "tagTitle": "Make Fun Of Them, Pt. 1",
    "tagTitleSort": "Make Fun Of Them, Pt. 1",
    "tagSeries": "Better Offline",
    "tagAlbumArtist": "iHeartMedia, Inc. © Any use of this intellectual property for text and data mining or computational analysis including as training material for artificial intelligence systems is strictly prohibited without express written consent from iHeartMedia",
    "tagDate": "Wed, 09 Jul 2025 04:00:00 +0000",
    "tagComment": "<p>In part one of this week's two-part Better Offline, Ed Zitron walks you through a radical new idea: make fun of CEOs, tear down their legacies and push back on their empty promises.</p> <p>YOU CAN NOW BUY BETTER OFFLINE MERCH! Go to <a href=\"https://cottonbureau.com/people/better-offline\">https://cottonbureau.com/people/better-offline</a> and use code <strong>FREE99</strong> for free shipping on orders of $99 or more.</p> <p>---</p> <p>LINKS: <a href=\"https://www.tinyurl.com/betterofflinelinks\">https://www.tinyurl.com/betterofflinelinks</a></p> <p>Newsletter: <a href=\"https://www.wheresyoured.at/\">https://www.wheresyoured.at/</a></p> <p>Reddit: <a href=\"https://www.reddit.com/r/BetterOffline/\">https://www.reddit.com/r/BetterOffline/</a> </p> <p>Discord: <a href=\"https://discord.com/invite/QUUQUP9szv\">chat.wheresyoured.at</a></p> <p>Ed's Socials:</p> <p><a href=\"https://twitter.com/edzitron\">https://twitter.com/edzitron</a></p> <p><a href=\"https://www.instagram.com/edzitron\">https://www.instagram.com/edzitron</a></p> <p><a href=\"https://bsky.app/profile/edzitron.com\">https://bsky.app/profile/edzitron.com</a></p> <p><a href=\"https://www.threads.net/@edzitron\">https://www.threads.net/@edzitron</a></p><p>See <a href=\"https://omnystudio.com/listener\">omnystudio.com/listener</a> for privacy information.</p>",
    "tagEncoder": "Lavf60.16.100",
    "tagLanguage": "en-US",
    "tagItunesId": "1730587238",
    "tagPodcastType": "episodic",
    "tagEpisodeType": "full"
  },
  "mimeType": "audio/mpeg"
}
@smithmd commented on GitHub (Jul 22, 2025): ``` { "index": null, "ino": "2536", "metadata": { "filename": "Make Fun Of Them, Pt. 1.mp3", "ext": ".mp3", "path": "/podcasts/tech-nightmare/Better Offline/Make Fun Of Them, Pt. 1.mp3", "relPath": "Make Fun Of Them, Pt. 1.mp3", "size": 38054282, "mtimeMs": 1752037211226, "ctimeMs": 1752037211226, "birthtimeMs": 1752037206632 }, "addedAt": 1752037211309, "updatedAt": 1752037211309, "trackNumFromMeta": null, "discNumFromMeta": null, "trackNumFromFilename": null, "discNumFromFilename": null, "manuallyVerified": false, "exclude": false, "error": null, "format": "MP2/3 (MPEG audio layer 2/3)", "duration": 2378.213878, "bitRate": 128000, "language": null, "codec": "mp3", "timeBase": "1/14112000", "channels": 2, "channelLayout": "stereo", "chapters": [], "embeddedCoverArt": null, "metaTags": { "tagAlbum": "Better Offline", "tagAlbumSort": "Better Offline", "tagArtist": "iHeartMedia and CoolZone Radio", "tagArtistSort": "iHeartMedia and CoolZone Radio", "tagGenre": "Technology;Podcasts", "tagTitle": "Make Fun Of Them, Pt. 1", "tagTitleSort": "Make Fun Of Them, Pt. 1", "tagSeries": "Better Offline", "tagAlbumArtist": "iHeartMedia, Inc. © Any use of this intellectual property for text and data mining or computational analysis including as training material for artificial intelligence systems is strictly prohibited without express written consent from iHeartMedia", "tagDate": "Wed, 09 Jul 2025 04:00:00 +0000", "tagComment": "<p>In part one of this week's two-part Better Offline, Ed Zitron walks you through a radical new idea: make fun of CEOs, tear down their legacies and push back on their empty promises.</p> <p>YOU CAN NOW BUY BETTER OFFLINE MERCH! Go to <a href=\"https://cottonbureau.com/people/better-offline\">https://cottonbureau.com/people/better-offline</a> and use code <strong>FREE99</strong> for free shipping on orders of $99 or more.</p> <p>---</p> <p>LINKS: <a href=\"https://www.tinyurl.com/betterofflinelinks\">https://www.tinyurl.com/betterofflinelinks</a></p> <p>Newsletter: <a href=\"https://www.wheresyoured.at/\">https://www.wheresyoured.at/</a></p> <p>Reddit: <a href=\"https://www.reddit.com/r/BetterOffline/\">https://www.reddit.com/r/BetterOffline/</a> </p> <p>Discord: <a href=\"https://discord.com/invite/QUUQUP9szv\">chat.wheresyoured.at</a></p> <p>Ed's Socials:</p> <p><a href=\"https://twitter.com/edzitron\">https://twitter.com/edzitron</a></p> <p><a href=\"https://www.instagram.com/edzitron\">https://www.instagram.com/edzitron</a></p> <p><a href=\"https://bsky.app/profile/edzitron.com\">https://bsky.app/profile/edzitron.com</a></p> <p><a href=\"https://www.threads.net/@edzitron\">https://www.threads.net/@edzitron</a></p><p>See <a href=\"https://omnystudio.com/listener\">omnystudio.com/listener</a> for privacy information.</p>", "tagEncoder": "Lavf60.16.100", "tagLanguage": "en-US", "tagItunesId": "1730587238", "tagPodcastType": "episodic", "tagEpisodeType": "full" }, "mimeType": "audio/mpeg" } ```
Author
Owner

@advplyr commented on GitHub (Jul 22, 2025):

Is that the one you re-downloaded or is that specific episode still causing the crash?

@advplyr commented on GitHub (Jul 22, 2025): Is that the one you re-downloaded or is that specific episode still causing the crash?
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

that's the one that's still causing a crash. Here's the one I re-downloaded:

{
  "index": 1,
  "ino": "9110",
  "metadata": {
    "filename": "Make Fun Of Them, Pt. 2.mp3",
    "ext": ".mp3",
    "path": "/podcasts/tech-nightmare/Better Offline/Make Fun Of Them, Pt. 2.mp3",
    "relPath": "Make Fun Of Them, Pt. 2.mp3",
    "size": 35882222,
    "mtimeMs": 1753207378892,
    "ctimeMs": 1753207378892,
    "birthtimeMs": 1753207375884
  },
  "addedAt": 1753207378984,
  "updatedAt": 1753207378984,
  "trackNumFromMeta": null,
  "discNumFromMeta": null,
  "trackNumFromFilename": null,
  "discNumFromFilename": null,
  "manuallyVerified": false,
  "exclude": false,
  "error": null,
  "format": "MP2/3 (MPEG audio layer 2/3)",
  "duration": 2242.45551,
  "bitRate": 128000,
  "language": null,
  "codec": "mp3",
  "timeBase": "1/14112000",
  "channels": 2,
  "channelLayout": "stereo",
  "chapters": [],
  "embeddedCoverArt": null,
  "metaTags": {
    "tagAlbum": "Better Offline",
    "tagAlbumSort": "Better Offline",
    "tagArtist": "iHeartMedia and CoolZone Radio",
    "tagArtistSort": "iHeartMedia and CoolZone Radio",
    "tagGenre": "Technology;Podcasts",
    "tagTitle": "Make Fun Of Them, Pt. 2",
    "tagTitleSort": "Make Fun Of Them, Pt. 2",
    "tagSeries": "Better Offline",
    "tagAlbumArtist": "iHeartMedia, Inc. © Any use of this intellectual property for text and data mining or computational analysis including as training material for artificial intelligence systems is strictly prohibited without express written consent from iHeartMedia",
    "tagDate": "Fri, 11 Jul 2025 04:00:00 +0000",
    "tagComment": "<p>In part two of this week's two-part Better Offline, Ed Zitron makes a plea to the tech media - to stop automatically accepting what the tech executives have to say, and to admit that these people sound really, really stupid, even if they use long words.</p> <p>YOU CAN NOW BUY BETTER OFFLINE MERCH! Go to <a href=\"https://cottonbureau.com/people/better-offline\">https://cottonbureau.com/people/better-offline</a> and use code <strong>FREE99</strong> for free shipping on orders of $99 or more.</p> <p>---</p> <p>LINKS: <a href=\"https://www.tinyurl.com/betterofflinelinks\">https://www.tinyurl.com/betterofflinelinks</a></p> <p>Newsletter: <a href=\"https://www.wheresyoured.at/\">https://www.wheresyoured.at/</a></p> <p>Reddit: <a href=\"https://www.reddit.com/r/BetterOffline/\">https://www.reddit.com/r/BetterOffline/</a> </p> <p>Discord: <a href=\"https://discord.com/invite/QUUQUP9szv\">chat.wheresyoured.at</a></p> <p>Ed's Socials:</p> <p><a href=\"https://twitter.com/edzitron\">https://twitter.com/edzitron</a></p> <p><a href=\"https://www.instagram.com/edzitron\">https://www.instagram.com/edzitron</a></p> <p><a href=\"https://bsky.app/profile/edzitron.com\">https://bsky.app/profile/edzitron.com</a></p> <p><a href=\"https://www.threads.net/@edzitron\">https://www.threads.net/@edzitron</a></p><p>See <a href=\"https://omnystudio.com/listener\">omnystudio.com/listener</a> for privacy information.</p>",
    "tagEncoder": "Lavf60.16.100",
    "tagLanguage": "en-US",
    "tagItunesId": "1730587238",
    "tagPodcastType": "episodic",
    "tagEpisodeType": "full"
  },
  "mimeType": "audio/mpeg"
}
@smithmd commented on GitHub (Jul 22, 2025): that's the one that's still causing a crash. Here's the one I re-downloaded: ``` { "index": 1, "ino": "9110", "metadata": { "filename": "Make Fun Of Them, Pt. 2.mp3", "ext": ".mp3", "path": "/podcasts/tech-nightmare/Better Offline/Make Fun Of Them, Pt. 2.mp3", "relPath": "Make Fun Of Them, Pt. 2.mp3", "size": 35882222, "mtimeMs": 1753207378892, "ctimeMs": 1753207378892, "birthtimeMs": 1753207375884 }, "addedAt": 1753207378984, "updatedAt": 1753207378984, "trackNumFromMeta": null, "discNumFromMeta": null, "trackNumFromFilename": null, "discNumFromFilename": null, "manuallyVerified": false, "exclude": false, "error": null, "format": "MP2/3 (MPEG audio layer 2/3)", "duration": 2242.45551, "bitRate": 128000, "language": null, "codec": "mp3", "timeBase": "1/14112000", "channels": 2, "channelLayout": "stereo", "chapters": [], "embeddedCoverArt": null, "metaTags": { "tagAlbum": "Better Offline", "tagAlbumSort": "Better Offline", "tagArtist": "iHeartMedia and CoolZone Radio", "tagArtistSort": "iHeartMedia and CoolZone Radio", "tagGenre": "Technology;Podcasts", "tagTitle": "Make Fun Of Them, Pt. 2", "tagTitleSort": "Make Fun Of Them, Pt. 2", "tagSeries": "Better Offline", "tagAlbumArtist": "iHeartMedia, Inc. © Any use of this intellectual property for text and data mining or computational analysis including as training material for artificial intelligence systems is strictly prohibited without express written consent from iHeartMedia", "tagDate": "Fri, 11 Jul 2025 04:00:00 +0000", "tagComment": "<p>In part two of this week's two-part Better Offline, Ed Zitron makes a plea to the tech media - to stop automatically accepting what the tech executives have to say, and to admit that these people sound really, really stupid, even if they use long words.</p> <p>YOU CAN NOW BUY BETTER OFFLINE MERCH! Go to <a href=\"https://cottonbureau.com/people/better-offline\">https://cottonbureau.com/people/better-offline</a> and use code <strong>FREE99</strong> for free shipping on orders of $99 or more.</p> <p>---</p> <p>LINKS: <a href=\"https://www.tinyurl.com/betterofflinelinks\">https://www.tinyurl.com/betterofflinelinks</a></p> <p>Newsletter: <a href=\"https://www.wheresyoured.at/\">https://www.wheresyoured.at/</a></p> <p>Reddit: <a href=\"https://www.reddit.com/r/BetterOffline/\">https://www.reddit.com/r/BetterOffline/</a> </p> <p>Discord: <a href=\"https://discord.com/invite/QUUQUP9szv\">chat.wheresyoured.at</a></p> <p>Ed's Socials:</p> <p><a href=\"https://twitter.com/edzitron\">https://twitter.com/edzitron</a></p> <p><a href=\"https://www.instagram.com/edzitron\">https://www.instagram.com/edzitron</a></p> <p><a href=\"https://bsky.app/profile/edzitron.com\">https://bsky.app/profile/edzitron.com</a></p> <p><a href=\"https://www.threads.net/@edzitron\">https://www.threads.net/@edzitron</a></p><p>See <a href=\"https://omnystudio.com/listener\">omnystudio.com/listener</a> for privacy information.</p>", "tagEncoder": "Lavf60.16.100", "tagLanguage": "en-US", "tagItunesId": "1730587238", "tagPodcastType": "episodic", "tagEpisodeType": "full" }, "mimeType": "audio/mpeg" } ```
Author
Owner

@advplyr commented on GitHub (Jul 22, 2025):

Can you share the logs playing that one you said is crashing now that you have enabled debug logs

@advplyr commented on GitHub (Jul 22, 2025): Can you share the logs playing that one you said is crashing now that you have enabled debug logs
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

Here is the failing one trying to play from the android app:

2025-07-22 14:41:06.012

DEBUG

[ApiCacheManager] Object.afterBulkUpdate: Clearing cache

2025-07-22 14:41:06.012

DEBUG

[PlaybackSessionManager] startSessionRequest for device Pixel 7a SDK 35 / v0.10.0-beta

2025-07-22 14:41:06.012

DEBUG

[PlaybackSessionManager] "administrator" starting direct play session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" with id 4413fa20-b1e5-49e0-85a6-f18ccf6f2380 (Device: Pixel 7a SDK 35 / v0.10.0-beta)

2025-07-22 14:41:06.169

ERROR

[SessionController] Unable to find audio track with index=0

2025-07-22 14:41:06.178

ERROR

[SessionController] Unable to find audio track with index=0

2025-07-22 14:41:07.254

ERROR

[SessionController] Unable to find audio track with index=0

2025-07-22 14:41:09.286

ERROR

[SessionController] Unable to find audio track with index=0

2025-07-22 14:41:09.376

DEBUG

[ApiCacheManager] Object.afterBulkUpdate: Clearing cache

2025-07-22 14:41:09.376

DEBUG

[PlaybackSessionManager] startSessionRequest for device Pixel 7a SDK 35 / v0.10.0-beta

2025-07-22 14:41:09.376

INFO

[PlaybackSessionManager] startSession: Closing open session "Make Fun Of Them, Pt. 1" for user "administrator" (Device: Pixel 7a SDK 35 / v0.10.0-beta)

2025-07-22 14:41:09.376

DEBUG

[PlaybackSessionManager] closeSession "4413fa20-b1e5-49e0-85a6-f18ccf6f2380"

2025-07-22 14:41:09.377

DEBUG

[PlaybackSessionManager] Removed session "4413fa20-b1e5-49e0-85a6-f18ccf6f2380"

2025-07-22 14:41:09.377

DEBUG

[PlaybackSessionManager] "administrator" starting stream session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" (Device: Pixel 7a SDK 35 / v0.10.0-beta)

2025-07-22 14:41:09.379

INFO

[STREAM] START STREAM - Num Segments: 397

2025-07-22 14:41:09.385

INFO

[STREAM] Starting Stream at startTime 35:32 (User startTime 36:02) and Segment #355

2025-07-22 14:41:09.387

INFO

[INFO] FFMPEG transcoding started with command: ffmpeg -seek_timestamp 1 -f concat -safe 0 -ss 2132.3s -noaccurate_seek -i /metadata/streams/8c8fb502-1cf4-4d41-b40b-aa0013a7cea5/files.txt -y -loglevel error -map 0:a -c:a copy -f hls -copyts -avoid_negative_ts make_non_negative -max_delay 5000000 -max_muxing_queue_size 2048 -hls_time 6 -hls_segment_type mpegts -start_number 355 -hls_playlist_type vod -hls_list_size 0 -hls_allow_cache 0 -hls_segment_filename /metadata/streams/8c8fb502-1cf4-4d41-b40b-aa0013a7cea5/output-%d.ts /metadata/streams/8c8fb502-1cf4-4d41-b40b-aa0013a7cea5/final-output.m3u8

2025-07-22 14:41:09.387

INFO

2025-07-22 14:41:09.590

DEBUG

[SessionController] Serving audio track 1 for session "8c8fb502-1cf4-4d41-b40b-aa0013a7cea5" belonging to user "administrator"

2025-07-22 14:41:09.592

FATAL

[Server] Unhandled rejection: TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) promise: Promise { <rejected> TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) }
@smithmd commented on GitHub (Jul 22, 2025): Here is the failing one trying to play from the android app: ``` 2025-07-22 14:41:06.012 DEBUG [ApiCacheManager] Object.afterBulkUpdate: Clearing cache 2025-07-22 14:41:06.012 DEBUG [PlaybackSessionManager] startSessionRequest for device Pixel 7a SDK 35 / v0.10.0-beta 2025-07-22 14:41:06.012 DEBUG [PlaybackSessionManager] "administrator" starting direct play session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" with id 4413fa20-b1e5-49e0-85a6-f18ccf6f2380 (Device: Pixel 7a SDK 35 / v0.10.0-beta) 2025-07-22 14:41:06.169 ERROR [SessionController] Unable to find audio track with index=0 2025-07-22 14:41:06.178 ERROR [SessionController] Unable to find audio track with index=0 2025-07-22 14:41:07.254 ERROR [SessionController] Unable to find audio track with index=0 2025-07-22 14:41:09.286 ERROR [SessionController] Unable to find audio track with index=0 2025-07-22 14:41:09.376 DEBUG [ApiCacheManager] Object.afterBulkUpdate: Clearing cache 2025-07-22 14:41:09.376 DEBUG [PlaybackSessionManager] startSessionRequest for device Pixel 7a SDK 35 / v0.10.0-beta 2025-07-22 14:41:09.376 INFO [PlaybackSessionManager] startSession: Closing open session "Make Fun Of Them, Pt. 1" for user "administrator" (Device: Pixel 7a SDK 35 / v0.10.0-beta) 2025-07-22 14:41:09.376 DEBUG [PlaybackSessionManager] closeSession "4413fa20-b1e5-49e0-85a6-f18ccf6f2380" 2025-07-22 14:41:09.377 DEBUG [PlaybackSessionManager] Removed session "4413fa20-b1e5-49e0-85a6-f18ccf6f2380" 2025-07-22 14:41:09.377 DEBUG [PlaybackSessionManager] "administrator" starting stream session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" (Device: Pixel 7a SDK 35 / v0.10.0-beta) 2025-07-22 14:41:09.379 INFO [STREAM] START STREAM - Num Segments: 397 2025-07-22 14:41:09.385 INFO [STREAM] Starting Stream at startTime 35:32 (User startTime 36:02) and Segment #355 2025-07-22 14:41:09.387 INFO [INFO] FFMPEG transcoding started with command: ffmpeg -seek_timestamp 1 -f concat -safe 0 -ss 2132.3s -noaccurate_seek -i /metadata/streams/8c8fb502-1cf4-4d41-b40b-aa0013a7cea5/files.txt -y -loglevel error -map 0:a -c:a copy -f hls -copyts -avoid_negative_ts make_non_negative -max_delay 5000000 -max_muxing_queue_size 2048 -hls_time 6 -hls_segment_type mpegts -start_number 355 -hls_playlist_type vod -hls_list_size 0 -hls_allow_cache 0 -hls_segment_filename /metadata/streams/8c8fb502-1cf4-4d41-b40b-aa0013a7cea5/output-%d.ts /metadata/streams/8c8fb502-1cf4-4d41-b40b-aa0013a7cea5/final-output.m3u8 2025-07-22 14:41:09.387 INFO 2025-07-22 14:41:09.590 DEBUG [SessionController] Serving audio track 1 for session "8c8fb502-1cf4-4d41-b40b-aa0013a7cea5" belonging to user "administrator" 2025-07-22 14:41:09.592 FATAL [Server] Unhandled rejection: TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) promise: Promise { <rejected> TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:307:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) } ```
Author
Owner

@advplyr commented on GitHub (Jul 22, 2025):

I see the issue now. The index for that episode is null instead of 1.

How are you adding episodes to your server? Are you downloading with Abs or are you scanning in the episodes from the file system?

@advplyr commented on GitHub (Jul 22, 2025): I see the issue now. The `index` for that episode is `null` instead of `1`. How are you adding episodes to your server? Are you downloading with Abs or are you scanning in the episodes from the file system?
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

I'm downloading them through ABS, usually using the web interface or the cron jobs.

@smithmd commented on GitHub (Jul 22, 2025): I'm downloading them through ABS, usually using the web interface or the cron jobs.
Author
Owner

@advplyr commented on GitHub (Jul 22, 2025):

The timestamp on that episode shows July 9th. Do you know what version of the server you used to download the audio file?

@advplyr commented on GitHub (Jul 22, 2025): The timestamp on that episode shows July 9th. Do you know what version of the server you used to download the audio file?
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

I'm really not sure. If the scan logs lastScanVersion is the server version, it says 2.25.1

@smithmd commented on GitHub (Jul 22, 2025): I'm really not sure. If the scan logs `lastScanVersion` is the server version, it says 2.25.1
Author
Owner

@advplyr commented on GitHub (Jul 22, 2025):

In server v2.21.0 a bug was fixed where index was getting set to null for episodes getting scanned in from the file system. So it is possible to have episodes with null.

In the latest android app, v0.10.0-beta, the audio player was updated to use the new API endpoint for streaming.

One last thing, can you try playing that audio file in the web client again and share the logs? Mainly looking for this one:

[SessionController] Serving audio track 1 for session "8c8fb502-1cf4-4d41-b40b-aa0013a7cea5" belonging to user

to see the audio track index

@advplyr commented on GitHub (Jul 22, 2025): In server v2.21.0 a bug was fixed where `index` was getting set to `null` for episodes getting scanned in from the file system. So it is possible to have episodes with `null`. In the latest android app, `v0.10.0-beta`, the audio player was updated to use the new API endpoint for streaming. One last thing, can you try playing that audio file in the web client again and share the logs? Mainly looking for this one: ``` [SessionController] Serving audio track 1 for session "8c8fb502-1cf4-4d41-b40b-aa0013a7cea5" belonging to user ``` to see the audio track index
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

Here's the one that was failing. I don't see that line.

2025-07-22 15:04:35.039

DEBUG

[ApiCacheManager] Cache miss: {"user":"administrator","url":"/libraries/a632d241-648f-435b-b6ad-07ce399fb211/personalized?include=rssfeed,numEpisodesIncomplete,share"}

2025-07-22 15:04:35.039

DEBUG

[ApiCacheManager] Caching with 1800000 ms TTL

2025-07-22 15:04:45.073

DEBUG

[ApiCacheManager] Object.afterBulkUpdate: Clearing cache

2025-07-22 15:04:45.073

DEBUG

[PlaybackSessionManager] startSessionRequest for device Linux x86_64 / Firefox

2025-07-22 15:04:45.073

DEBUG

[PlaybackSessionManager] "administrator" starting direct play session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" with id 128d3474-2027-40ba-8120-5d76a105c5c1 (Device: Linux x86_64 / Firefox)

2025-07-22 15:04:45.088

ERROR

[SessionController] Unable to find audio track with index=0

2025-07-22 15:04:45.112

DEBUG

[PlaybackSessionManager] startSessionRequest for device Linux x86_64 / Firefox

2025-07-22 15:04:45.112

INFO

[PlaybackSessionManager] startSession: Closing open session "Make Fun Of Them, Pt. 1" for user "administrator" (Device: Linux x86_64 / Firefox)

2025-07-22 15:04:45.112

DEBUG

[PlaybackSessionManager] closeSession "128d3474-2027-40ba-8120-5d76a105c5c1"

2025-07-22 15:04:45.113

DEBUG

[PlaybackSessionManager] Removed session "128d3474-2027-40ba-8120-5d76a105c5c1"

2025-07-22 15:04:45.113

DEBUG

[PlaybackSessionManager] "administrator" starting stream session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" (Device: Linux x86_64 / Firefox)

2025-07-22 15:04:45.115

INFO

[STREAM] START STREAM - Num Segments: 397

2025-07-22 15:04:45.120

INFO

[STREAM] Starting Stream at startTime 35:32 (User startTime 36:02) and Segment #355

2025-07-22 15:04:45.123

INFO

[INFO] FFMPEG transcoding started with command: ffmpeg -seek_timestamp 1 -f concat -safe 0 -ss 2132.3s -noaccurate_seek -i /metadata/streams/1d9243b8-190e-4d2f-90ef-b0988c78755e/files.txt -y -loglevel error -map 0:a -c:a copy -f hls -copyts -avoid_negative_ts make_non_negative -max_delay 5000000 -max_muxing_queue_size 2048 -hls_time 6 -hls_segment_type mpegts -start_number 355 -hls_playlist_type vod -hls_list_size 0 -hls_allow_cache 0 -hls_segment_filename /metadata/streams/1d9243b8-190e-4d2f-90ef-b0988c78755e/output-%d.ts /metadata/streams/1d9243b8-190e-4d2f-90ef-b0988c78755e/final-output.m3u8

2025-07-22 15:04:45.123

INFO

2025-07-22 15:04:45.163

WARN

File path does not exist /metadata/streams/1d9243b8-190e-4d2f-90ef-b0988c78755e/output-360.ts

2025-07-22 15:04:45.350

INFO

[FFMPEG] Transcoding ended

2025-07-22 15:04:45.350

INFO

[STREAM] 1d9243b8-190e-4d2f-90ef-b0988c78755e notifying client that stream is ready
@smithmd commented on GitHub (Jul 22, 2025): Here's the one that was failing. I don't see that line. ``` 2025-07-22 15:04:35.039 DEBUG [ApiCacheManager] Cache miss: {"user":"administrator","url":"/libraries/a632d241-648f-435b-b6ad-07ce399fb211/personalized?include=rssfeed,numEpisodesIncomplete,share"} 2025-07-22 15:04:35.039 DEBUG [ApiCacheManager] Caching with 1800000 ms TTL 2025-07-22 15:04:45.073 DEBUG [ApiCacheManager] Object.afterBulkUpdate: Clearing cache 2025-07-22 15:04:45.073 DEBUG [PlaybackSessionManager] startSessionRequest for device Linux x86_64 / Firefox 2025-07-22 15:04:45.073 DEBUG [PlaybackSessionManager] "administrator" starting direct play session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" with id 128d3474-2027-40ba-8120-5d76a105c5c1 (Device: Linux x86_64 / Firefox) 2025-07-22 15:04:45.088 ERROR [SessionController] Unable to find audio track with index=0 2025-07-22 15:04:45.112 DEBUG [PlaybackSessionManager] startSessionRequest for device Linux x86_64 / Firefox 2025-07-22 15:04:45.112 INFO [PlaybackSessionManager] startSession: Closing open session "Make Fun Of Them, Pt. 1" for user "administrator" (Device: Linux x86_64 / Firefox) 2025-07-22 15:04:45.112 DEBUG [PlaybackSessionManager] closeSession "128d3474-2027-40ba-8120-5d76a105c5c1" 2025-07-22 15:04:45.113 DEBUG [PlaybackSessionManager] Removed session "128d3474-2027-40ba-8120-5d76a105c5c1" 2025-07-22 15:04:45.113 DEBUG [PlaybackSessionManager] "administrator" starting stream session for item "1377faa9-6cbb-4515-b044-47d5ab70171d" (Device: Linux x86_64 / Firefox) 2025-07-22 15:04:45.115 INFO [STREAM] START STREAM - Num Segments: 397 2025-07-22 15:04:45.120 INFO [STREAM] Starting Stream at startTime 35:32 (User startTime 36:02) and Segment #355 2025-07-22 15:04:45.123 INFO [INFO] FFMPEG transcoding started with command: ffmpeg -seek_timestamp 1 -f concat -safe 0 -ss 2132.3s -noaccurate_seek -i /metadata/streams/1d9243b8-190e-4d2f-90ef-b0988c78755e/files.txt -y -loglevel error -map 0:a -c:a copy -f hls -copyts -avoid_negative_ts make_non_negative -max_delay 5000000 -max_muxing_queue_size 2048 -hls_time 6 -hls_segment_type mpegts -start_number 355 -hls_playlist_type vod -hls_list_size 0 -hls_allow_cache 0 -hls_segment_filename /metadata/streams/1d9243b8-190e-4d2f-90ef-b0988c78755e/output-%d.ts /metadata/streams/1d9243b8-190e-4d2f-90ef-b0988c78755e/final-output.m3u8 2025-07-22 15:04:45.123 INFO 2025-07-22 15:04:45.163 WARN File path does not exist /metadata/streams/1d9243b8-190e-4d2f-90ef-b0988c78755e/output-360.ts 2025-07-22 15:04:45.350 INFO [FFMPEG] Transcoding ended 2025-07-22 15:04:45.350 INFO [STREAM] 1d9243b8-190e-4d2f-90ef-b0988c78755e notifying client that stream is ready ```
Author
Owner

@advplyr commented on GitHub (Jul 22, 2025):

Thanks for helping to track this down. It is actually 2 separate bugs. This will be fixed in the next server release or the next android app release depending on which comes first.

https://github.com/advplyr/audiobookshelf/pull/4520
https://github.com/advplyr/audiobookshelf-app/pull/1636

@advplyr commented on GitHub (Jul 22, 2025): Thanks for helping to track this down. It is actually 2 separate bugs. This will be fixed in the next server release or the next android app release depending on which comes first. https://github.com/advplyr/audiobookshelf/pull/4520 https://github.com/advplyr/audiobookshelf-app/pull/1636
Author
Owner

@smithmd commented on GitHub (Jul 22, 2025):

awesome, thank you!

@smithmd commented on GitHub (Jul 22, 2025): awesome, thank you!
Author
Owner

@alxgarci commented on GitHub (Jul 23, 2025):

Awesome thank you! Meanwhile I downgraded to previous version and everything is working again (i'm on Android), just for if anyone is looking here https://github.com/advplyr/audiobookshelf-app/releases/tag/v0.9.81-beta

@alxgarci commented on GitHub (Jul 23, 2025): Awesome thank you! Meanwhile I downgraded to previous version and everything is working again (i'm on Android), just for if anyone is looking here https://github.com/advplyr/audiobookshelf-app/releases/tag/v0.9.81-beta
Author
Owner

@bjhiltbrand commented on GitHub (Aug 2, 2025):

links to other bug reports (same bug I think) that will be covered by this update:

https://github.com/advplyr/audiobookshelf/issues/4555#issuecomment-3146654885

https://github.com/advplyr/audiobookshelf-app/issues/1642

@bjhiltbrand commented on GitHub (Aug 2, 2025): links to other bug reports (same bug I think) that will be covered by this update: [https://github.com/advplyr/audiobookshelf/issues/4555#issuecomment-3146654885](https://github.com/advplyr/audiobookshelf/issues/4555#issuecomment-3146654885) [https://github.com/advplyr/audiobookshelf-app/issues/1642](https://github.com/advplyr/audiobookshelf-app/issues/1642)
Author
Owner

@bjhiltbrand commented on GitHub (Aug 2, 2025):

I'm still seeing this issue on version 0.10.0-beta of the Android client, and version 2.26.3 of the Docker container.

@bjhiltbrand commented on GitHub (Aug 2, 2025): I'm still seeing this issue on version 0.10.0-beta of the Android client, and version 2.26.3 of the Docker container.
Author
Owner

@advplyr commented on GitHub (Aug 3, 2025):

Server v2.17.0 was just released https://github.com/advplyr/audiobookshelf/releases/tag/v2.27.0

@advplyr commented on GitHub (Aug 3, 2025): Server v2.17.0 was just released https://github.com/advplyr/audiobookshelf/releases/tag/v2.27.0
Author
Owner

@advplyr commented on GitHub (Aug 3, 2025):

Oh actually the server crash was fixed in v2.26.3 https://github.com/advplyr/audiobookshelf/releases/tag/v2.26.3

@advplyr commented on GitHub (Aug 3, 2025): Oh actually the server crash was fixed in v2.26.3 https://github.com/advplyr/audiobookshelf/releases/tag/v2.26.3
Author
Owner

@bjhiltbrand commented on GitHub (Aug 3, 2025):

I just updated the server, but the container is still crashing.

I had a video up, but I didn't want to expose my server name. Let me know if you want to see it and I can send you a link.

@bjhiltbrand commented on GitHub (Aug 3, 2025): I just updated the server, but the container is still crashing. I had a video up, but I didn't want to expose my server name. Let me know if you want to see it and I can send you a link.
Author
Owner

@Vito0912 commented on GitHub (Aug 3, 2025):

@advplyr I also had someone contact me trough Discord with this issue (non podcast). I will contact them and ask if the issue is fixed with v2.27.0, but from the changelogs it doesn't look like it

@Vito0912 commented on GitHub (Aug 3, 2025): @advplyr I also had someone contact me trough Discord with this issue (non podcast). I will contact them and ask if the issue is fixed with v2.27.0, but from the changelogs it doesn't look like it
Author
Owner

@github-actions[bot] commented on GitHub (Sep 4, 2025):

Fixed in v0.10.1-beta.

@github-actions[bot] commented on GitHub (Sep 4, 2025): Fixed in [v0.10.1-beta](https://github.com/advplyr/audiobookshelf-app/releases/tag/v0.10.1-beta).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf-app#1248