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]: Server crash daily #3646

Closed
SimplifyAndAddCoffee opened this issue Nov 24, 2024 · 4 comments
Closed

[Bug]: Server crash daily #3646

SimplifyAndAddCoffee opened this issue Nov 24, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@SimplifyAndAddCoffee
Copy link

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.

@SimplifyAndAddCoffee SimplifyAndAddCoffee added the bug Something isn't working label Nov 24, 2024
@nichwall
Copy link
Contributor

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

@SimplifyAndAddCoffee
Copy link
Author

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
Copy link
Author

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.

@advplyr advplyr closed this as completed Nov 24, 2024
@nichwall
Copy link
Contributor

nichwall commented 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 up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants