[Bug]: Server crash daily #2371

Closed
opened 2026-04-25 00:06:35 +02:00 by adam · 4 comments
Owner

Originally created by @SimplifyAndAddCoffee on GitHub (Nov 24, 2024).

What happened?

docker container is not running, logs abruptly end at trying to fetch a podcast episode.

What did you expect to happen?

docker container to still be running like when I left it

Steps to reproduce the issue

  1. start docker container,
  2. wait anything between an hour and a day

Audiobookshelf version

2.17.1

How are you running audiobookshelf?

Docker

What OS is your Audiobookshelf server hosted from?

Other (list in "Additional Notes" box)

If the issue is being seen in the UI, what browsers are you seeing the problem on?

None

Logs

text  error  warn  system  array  login  

[2024-11-22 10:00:02.955] WARN: [PodcastManager] Podcast episode download: Podcast folder no longer exists at "/Podcasts/The Great Simplification with Nate Hagens" - Creating it
[2024-11-22 10:00:02.977] FATAL: [Server] Unhandled rejection: [Error: ENOENT: no such file or directory, mkdir '/Podcasts/The Great Simplification with Nate Hagens'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'mkdir',
  path: '/Podcasts/The Great Simplification with Nate Hagens'
} 
promise: Promise {
  <rejected> [Error: ENOENT: no such file or directory, mkdir '/Podcasts/The Great Simplification with Nate Hagens'] {
    errno: -2,
    code: 'ENOENT',
    syscall: 'mkdir',
    path: '/Podcasts/The Great Simplification with Nate Hagens'
  }
}
[2024-11-23 01:00:03.116] WARN: [PodcastManager] Podcast episode download: Podcast folder no longer exists at "/Podcasts/The Great Simplification with Nate Hagens" - Creating it
[2024-11-23 01:00:03.137] FATAL: [Server] Unhandled rejection: [Error: ENOENT: no such file or directory, mkdir '/Podcasts/The Great Simplification with Nate Hagens'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'mkdir',
  path: '/Podcasts/The Great Simplification with Nate Hagens'
} 
promise: Promise {
  <rejected> [Error: ENOENT: no such file or directory, mkdir '/Podcasts/The Great Simplification with Nate Hagens'] {
    errno: -2,
    code: 'ENOENT',
    syscall: 'mkdir',
    path: '/Podcasts/The Great Simplification with Nate Hagens'
  }
}
[2024-11-22 09:21:41.190] INFO: [Watcher] Initializing watcher for "Audiobooks".
[2024-11-22 09:21:41.195] INFO: [Watcher] Initializing watcher for "Podcasts".
[2024-11-22 09:21:41.212] INFO: Listening on port :80
[2024-11-22 09:21:41.222] INFO: [Watcher] "Podcasts" Ready
[2024-11-22 09:21:41.560] INFO: [Watcher] "Audiobooks" Ready
[2024-11-22 09:22:56.280] INFO: Received ping
[2024-11-22 09:22:56.627] INFO: [SocketAuthority] Socket Connected Rq6FMPBaAAeJ8sb1AAAB
[2024-11-22 09:23:57.438] INFO: [SocketAuthority] Socket Connected DWc-1Op7wYDL6YdnAAAD
[2024-11-22 09:24:06.612] INFO: [SocketAuthority] Socket Rq6FMPBaAAeJ8sb1AAAB disconnected from client "earthshine" after 69985ms (Reason: ping timeout)
[2024-11-22 09:24:20.982] INFO: Received ping
[2024-11-22 09:49:45.468] INFO: [SocketAuthority] Socket Connected PLscW09rJkT0lamgAAAF
[2024-11-22 09:49:45.570] INFO: [SocketAuthority] Socket DWc-1Op7wYDL6YdnAAAD disconnected from client "earthshine" after 1548133ms (Reason: transport close)
[2024-11-22 09:52:30.053] INFO: [SocketAuthority] Socket PLscW09rJkT0lamgAAAF disconnected from client "earthshine" after 164585ms (Reason: transport close)
[2024-11-22 10:00:00.968] INFO: [PodcastManager] runEpisodeCheck: "The Great Simplification with Nate Hagens" | Last check: Fri Nov 22 2024 04:00:01 GMT-0800 (Pacific Standard Time) | Latest episode pubDate: Wed Nov 20 2024 04:30:00 GMT-0800 (Pacific Standard Time)
[2024-11-22 10:00:02.937] INFO: [PodcastManager] Found 1 new episodes for podcast "The Great Simplification with Nate Hagens" - starting download
Config /config /metadata
[2024-11-23 00:19:52.770] INFO: === Starting Server ===
[2024-11-23 00:19:52.774] INFO: [Server] Init v2.17.1
[2024-11-23 00:19:52.774] INFO: [Server] Node.js Version: v20.18.0
[2024-11-23 00:19:52.774] INFO: [Server] Platform: linux
[2024-11-23 00:19:52.775] INFO: [Server] Arch: x64
[2024-11-23 00:19:52.784] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"
[2024-11-23 00:19:52.850] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so
[2024-11-23 00:19:52.854] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so
[2024-11-23 00:19:52.855] INFO: [Database] Db supports unaccent and unicode foldings
[2024-11-23 00:19:52.856] INFO: [Database] Db connection was successful
[2024-11-23 00:19:52.883] INFO: [MigrationManager] Database is already up to date.
[2024-11-23 00:19:53.273] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
[2024-11-23 00:19:53.374] INFO: [LogManager] Init current daily log filename: 2024-11-23.txt
[2024-11-23 00:19:53.420] INFO: [BackupManager] 0 Backups Found
[2024-11-23 00:19:53.422] INFO: [BackupManager] Auto Backups are disabled
[2024-11-23 00:19:53.525] INFO: [Watcher] Initializing watcher for "Audiobooks".
[2024-11-23 00:19:53.530] INFO: [Watcher] Initializing watcher for "Podcasts".
[2024-11-23 00:19:53.562] INFO: Listening on port :80
[2024-11-23 00:19:53.573] INFO: [Watcher] "Podcasts" Ready
[2024-11-23 00:19:54.098] INFO: [Watcher] "Audiobooks" Ready
[2024-11-23 01:00:00.753] INFO: [PodcastManager] runEpisodeCheck: "The Great Simplification with Nate Hagens" | Last check: Fri Nov 22 2024 04:00:01 GMT-0800 (Pacific Standard Time) | Latest episode pubDate: Wed Nov 20 2024 04:30:00 GMT-0800 (Pacific Standard Time)
[2024-11-23 01:00:03.093] INFO: [PodcastManager] Found 1 new episodes for podcast "The Great Simplification with Nate Hagens" - starting download
Config /config /metadata
[2024-11-23 18:19:13.241] INFO: === Starting Server ===
[2024-11-23 18:19:13.244] INFO: [Server] Init v2.17.1
[2024-11-23 18:19:13.245] INFO: [Server] Node.js Version: v20.18.0
[2024-11-23 18:19:13.245] INFO: [Server] Platform: linux
[2024-11-23 18:19:13.246] INFO: [Server] Arch: x64
[2024-11-23 18:19:13.259] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"
[2024-11-23 18:19:13.327] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so
[2024-11-23 18:19:13.329] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so
[2024-11-23 18:19:13.329] INFO: [Database] Db supports unaccent and unicode foldings
[2024-11-23 18:19:13.330] INFO: [Database] Db connection was successful
[2024-11-23 18:19:13.346] INFO: [MigrationManager] Database is already up to date.
[2024-11-23 18:19:13.674] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
[2024-11-23 18:19:13.751] INFO: [LogManager] Removed daily log: 2024-11-16.txt
[2024-11-23 18:19:13.752] INFO: [LogManager] Init current daily log filename: 2024-11-23.txt
[2024-11-23 18:19:13.778] INFO: [BackupManager] 0 Backups Found
[2024-11-23 18:19:13.779] INFO: [BackupManager] Auto Backups are disabled
[2024-11-23 18:19:13.870] INFO: [Watcher] Initializing watcher for "Audiobooks".
[2024-11-23 18:19:13.875] INFO: [Watcher] Initializing watcher for "Podcasts".
[2024-11-23 18:19:13.906] INFO: Listening on port :80
[2024-11-23 18:19:13.918] INFO: [Watcher] "Podcasts" Ready
[2024-11-23 18:19:14.279] INFO: [Watcher] "Audiobooks" Ready

Additional Notes

unraid server

It is unclear exactly when it is crashing, but this has been going on for the last few days at least since I last updated the docker container to the latest version from unraid community apps.

Originally created by @SimplifyAndAddCoffee on GitHub (Nov 24, 2024). ### What happened? docker container is not running, logs abruptly end at trying to fetch a podcast episode. ### What did you expect to happen? docker container to still be running like when I left it ### Steps to reproduce the issue 1. start docker container, 2. wait anything between an hour and a day ### Audiobookshelf version 2.17.1 ### How are you running audiobookshelf? Docker ### What OS is your Audiobookshelf server hosted from? Other (list in "Additional Notes" box) ### If the issue is being seen in the UI, what browsers are you seeing the problem on? None ### Logs ```shell text error warn system array login [2024-11-22 10:00:02.955] WARN: [PodcastManager] Podcast episode download: Podcast folder no longer exists at "/Podcasts/The Great Simplification with Nate Hagens" - Creating it [2024-11-22 10:00:02.977] FATAL: [Server] Unhandled rejection: [Error: ENOENT: no such file or directory, mkdir '/Podcasts/The Great Simplification with Nate Hagens'] { errno: -2, code: 'ENOENT', syscall: 'mkdir', path: '/Podcasts/The Great Simplification with Nate Hagens' } promise: Promise { <rejected> [Error: ENOENT: no such file or directory, mkdir '/Podcasts/The Great Simplification with Nate Hagens'] { errno: -2, code: 'ENOENT', syscall: 'mkdir', path: '/Podcasts/The Great Simplification with Nate Hagens' } } [2024-11-23 01:00:03.116] WARN: [PodcastManager] Podcast episode download: Podcast folder no longer exists at "/Podcasts/The Great Simplification with Nate Hagens" - Creating it [2024-11-23 01:00:03.137] FATAL: [Server] Unhandled rejection: [Error: ENOENT: no such file or directory, mkdir '/Podcasts/The Great Simplification with Nate Hagens'] { errno: -2, code: 'ENOENT', syscall: 'mkdir', path: '/Podcasts/The Great Simplification with Nate Hagens' } promise: Promise { <rejected> [Error: ENOENT: no such file or directory, mkdir '/Podcasts/The Great Simplification with Nate Hagens'] { errno: -2, code: 'ENOENT', syscall: 'mkdir', path: '/Podcasts/The Great Simplification with Nate Hagens' } } [2024-11-22 09:21:41.190] INFO: [Watcher] Initializing watcher for "Audiobooks". [2024-11-22 09:21:41.195] INFO: [Watcher] Initializing watcher for "Podcasts". [2024-11-22 09:21:41.212] INFO: Listening on port :80 [2024-11-22 09:21:41.222] INFO: [Watcher] "Podcasts" Ready [2024-11-22 09:21:41.560] INFO: [Watcher] "Audiobooks" Ready [2024-11-22 09:22:56.280] INFO: Received ping [2024-11-22 09:22:56.627] INFO: [SocketAuthority] Socket Connected Rq6FMPBaAAeJ8sb1AAAB [2024-11-22 09:23:57.438] INFO: [SocketAuthority] Socket Connected DWc-1Op7wYDL6YdnAAAD [2024-11-22 09:24:06.612] INFO: [SocketAuthority] Socket Rq6FMPBaAAeJ8sb1AAAB disconnected from client "earthshine" after 69985ms (Reason: ping timeout) [2024-11-22 09:24:20.982] INFO: Received ping [2024-11-22 09:49:45.468] INFO: [SocketAuthority] Socket Connected PLscW09rJkT0lamgAAAF [2024-11-22 09:49:45.570] INFO: [SocketAuthority] Socket DWc-1Op7wYDL6YdnAAAD disconnected from client "earthshine" after 1548133ms (Reason: transport close) [2024-11-22 09:52:30.053] INFO: [SocketAuthority] Socket PLscW09rJkT0lamgAAAF disconnected from client "earthshine" after 164585ms (Reason: transport close) [2024-11-22 10:00:00.968] INFO: [PodcastManager] runEpisodeCheck: "The Great Simplification with Nate Hagens" | Last check: Fri Nov 22 2024 04:00:01 GMT-0800 (Pacific Standard Time) | Latest episode pubDate: Wed Nov 20 2024 04:30:00 GMT-0800 (Pacific Standard Time) [2024-11-22 10:00:02.937] INFO: [PodcastManager] Found 1 new episodes for podcast "The Great Simplification with Nate Hagens" - starting download Config /config /metadata [2024-11-23 00:19:52.770] INFO: === Starting Server === [2024-11-23 00:19:52.774] INFO: [Server] Init v2.17.1 [2024-11-23 00:19:52.774] INFO: [Server] Node.js Version: v20.18.0 [2024-11-23 00:19:52.774] INFO: [Server] Platform: linux [2024-11-23 00:19:52.775] INFO: [Server] Arch: x64 [2024-11-23 00:19:52.784] INFO: [Database] Initializing db at "/config/absdatabase.sqlite" [2024-11-23 00:19:52.850] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so [2024-11-23 00:19:52.854] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so [2024-11-23 00:19:52.855] INFO: [Database] Db supports unaccent and unicode foldings [2024-11-23 00:19:52.856] INFO: [Database] Db connection was successful [2024-11-23 00:19:52.883] INFO: [MigrationManager] Database is already up to date. [2024-11-23 00:19:53.273] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare [2024-11-23 00:19:53.374] INFO: [LogManager] Init current daily log filename: 2024-11-23.txt [2024-11-23 00:19:53.420] INFO: [BackupManager] 0 Backups Found [2024-11-23 00:19:53.422] INFO: [BackupManager] Auto Backups are disabled [2024-11-23 00:19:53.525] INFO: [Watcher] Initializing watcher for "Audiobooks". [2024-11-23 00:19:53.530] INFO: [Watcher] Initializing watcher for "Podcasts". [2024-11-23 00:19:53.562] INFO: Listening on port :80 [2024-11-23 00:19:53.573] INFO: [Watcher] "Podcasts" Ready [2024-11-23 00:19:54.098] INFO: [Watcher] "Audiobooks" Ready [2024-11-23 01:00:00.753] INFO: [PodcastManager] runEpisodeCheck: "The Great Simplification with Nate Hagens" | Last check: Fri Nov 22 2024 04:00:01 GMT-0800 (Pacific Standard Time) | Latest episode pubDate: Wed Nov 20 2024 04:30:00 GMT-0800 (Pacific Standard Time) [2024-11-23 01:00:03.093] INFO: [PodcastManager] Found 1 new episodes for podcast "The Great Simplification with Nate Hagens" - starting download Config /config /metadata [2024-11-23 18:19:13.241] INFO: === Starting Server === [2024-11-23 18:19:13.244] INFO: [Server] Init v2.17.1 [2024-11-23 18:19:13.245] INFO: [Server] Node.js Version: v20.18.0 [2024-11-23 18:19:13.245] INFO: [Server] Platform: linux [2024-11-23 18:19:13.246] INFO: [Server] Arch: x64 [2024-11-23 18:19:13.259] INFO: [Database] Initializing db at "/config/absdatabase.sqlite" [2024-11-23 18:19:13.327] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so [2024-11-23 18:19:13.329] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so [2024-11-23 18:19:13.329] INFO: [Database] Db supports unaccent and unicode foldings [2024-11-23 18:19:13.330] INFO: [Database] Db connection was successful [2024-11-23 18:19:13.346] INFO: [MigrationManager] Database is already up to date. [2024-11-23 18:19:13.674] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare [2024-11-23 18:19:13.751] INFO: [LogManager] Removed daily log: 2024-11-16.txt [2024-11-23 18:19:13.752] INFO: [LogManager] Init current daily log filename: 2024-11-23.txt [2024-11-23 18:19:13.778] INFO: [BackupManager] 0 Backups Found [2024-11-23 18:19:13.779] INFO: [BackupManager] Auto Backups are disabled [2024-11-23 18:19:13.870] INFO: [Watcher] Initializing watcher for "Audiobooks". [2024-11-23 18:19:13.875] INFO: [Watcher] Initializing watcher for "Podcasts". [2024-11-23 18:19:13.906] INFO: Listening on port :80 [2024-11-23 18:19:13.918] INFO: [Watcher] "Podcasts" Ready [2024-11-23 18:19:14.279] INFO: [Watcher] "Audiobooks" Ready ``` ### Additional Notes unraid server It is unclear exactly when it is crashing, but this has been going on for the last few days at least since I last updated the docker container to the latest version from unraid community apps.
adam added the bug label 2026-04-25 00:06:35 +02:00
adam closed this issue 2026-04-25 00:06:35 +02:00
Author
Owner

@nichwall commented on GitHub (Nov 24, 2024):

Looks like a permissions issue. Does ABS have write permissions to where you have /Podcasts mounted to? The path is case sensitive.

@nichwall commented on GitHub (Nov 24, 2024): Looks like a permissions issue. Does ABS have write permissions to where you have `/Podcasts` mounted to? The path is case sensitive.
Author
Owner

@SimplifyAndAddCoffee commented on GitHub (Nov 24, 2024):

Looks like a permissions issue. Does ABS have write permissions to where you have /Podcasts mounted to? The path is case sensitive.

it did/should... I'll run a check and see if they changed.

@SimplifyAndAddCoffee commented on GitHub (Nov 24, 2024): > Looks like a permissions issue. Does ABS have write permissions to where you have `/Podcasts` mounted to? The path is case sensitive. it did/should... I'll run a check and see if they changed.
Author
Owner

@SimplifyAndAddCoffee commented on GitHub (Nov 24, 2024):

it seems the docker container had been missing a remote mapping for a podcasts folder (was not included in the docker template for unraid) and was just saving them in the image itself, then they disappeared when the image updated. I added a mapping for /Podcasts and rebuilt the podcast library and so far it has been stable. Might still be worth fixing the server crash over the missing path, but it seems like the problem is solved on my end for now.

@SimplifyAndAddCoffee commented on GitHub (Nov 24, 2024): it seems the docker container had been missing a remote mapping for a podcasts folder (was not included in the docker template for unraid) and was just saving them in the image itself, then they disappeared when the image updated. I added a mapping for /Podcasts and rebuilt the podcast library and so far it has been stable. Might still be worth fixing the server crash over the missing path, but it seems like the problem is solved on my end for now.
Author
Owner

@nichwall commented on GitHub (Nov 24, 2024):

it seems the docker container had been missing a remote mapping for a podcasts folder (was not included in the docker template for unraid) and was just saving them in the image itself, then they disappeared when the image updated. I added a mapping for /Podcasts and rebuilt the podcast library and so far it has been stable. Might still be worth fixing the server crash over the missing path, but it seems like the problem is solved on my end for now.

Glad you got it figured out. I agree fixing the crash is good, but also not sure how to handle it to bring it to a users attention in the event their library path is missing, since this is not a "valid" configuration of the server. If the server handles this gracefully and keeps running, you probably wouldn't notice it wasn't working and data was being removed for much longer.

@nichwall commented on GitHub (Nov 24, 2024): > it seems the docker container had been missing a remote mapping for a podcasts folder (was not included in the docker template for unraid) and was just saving them in the image itself, then they disappeared when the image updated. I added a mapping for /Podcasts and rebuilt the podcast library and so far it has been stable. Might still be worth fixing the server crash over the missing path, but it seems like the problem is solved on my end for now. Glad you got it figured out. I agree fixing the crash is good, but also not sure how to handle it to bring it to a users attention in the event their library path is missing, since this is not a "valid" configuration of the server. If the server handles this gracefully and keeps running, you probably wouldn't notice it wasn't working and data was being removed for much longer.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2371