mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
[Bug] Server crash episode auto download, unhandled rejection #2124
Closed
opened 2026-04-25 00:03:39 +02:00 by adam
·
42 comments
No Branch/Tag Specified
master
book_tags_genres_dedupe
episode_download_fallback
Issue-4540-SortBy-StartedDate-and-FinishedDate
episode_meta_tagging
fix_authorize_race_condition
redirect_transcode_requests
progress_updated_sort
fix_ereader_socket_event
fix_change_empty_root_password
fix_podcast_session_track_index
fix_set_token
session_modal_user
localize_durations
fix_oidc_create_user
jwt_auth_refactor
fix_scanner_deleting_single_file_books
fix_mediaprogress_updatedat_2
experimental_next_client
podcast_episode_duration
episode-timestamps-clickable
book_author_secondary_sort_title
podcast_useragents
pathexists_user_access
fix_pathexists_join
book_author_secondary_sort
clean_duplicate_mediaprogress
sanitize_html_description
trix_prevent_attachments
check_path_api_fix
fix_mediaprogress_updatedat
increase_express_json_limit
fix_dockerfile_nunicode
search_episodes
audiobook_tools_update
episode_secondary_sorts
hls_stream_url_update
new_session_track_endpoint
audiobook_tools_enhancements
watcher_rescans_update
player_track_tooltip
fix_exclude_prefixes_crash
socket_item_events
fix_podcast_episode_scanner_promise
new_stats_controller
count_cache_for_userpermissions
parsing-opf-v3
validate_migration_files
fix-quick-match-all-crash
fix-chapter-end-sleep-timer
stringify_sequelize_query
remove-col-ambiguity
fix_next_prev_edit_description
details_trim_whitespace
fix_content_url_basepath
fix_logger_fatal
progress_bar_visibility
batch-edit-populate-map-details
feed_generator_updates
bookmark-modal-updates
migrate-library-item-in-scanner
migrate-new-library-items
migrate-podcasts-new-library-item-2
migrate-podcasts-new-library-item
fix-remove-episode-from-playlist
playback-session-use-new-library-item
refactor-library-item
fix-heatmap-caption
feed-episodes-upsert
share-media-player-media-session-api
remove-old-playlist
remove_old_collection_object
plugin-implementation-demo
feed_migration
refactor-feeds-from-item
fix_remove_authors_no_books
v2.17.3-fk-constraints-migration
migrations-first-upgrade
sqlite_2
feature/nuxt-target-server
waveform
sqlite
playlists
video
v2.35.1
v2.35.0
v2.34.0
v2.33.2
v2.33.1
v2.33.0
v2.32.1
v2.32.0
v2.31.0
v2.30.0
v2.29.0
v2.28.0
v2.27.0
v2.26.3
v2.26.2
v2.26.1
v2.26.0
v2.25.1
v2.25.0
v2.24.0
v2.23.0
v2.22.0
v2.21.0
v2.20.0
v2.19.5
v2.19.4
v2.19.3
v2.19.2
v2.19.1
v2.19.0
v2.18.1
v2.18.0
v2.17.7
v2.17.6
v2.17.5
v2.17.4
v2.17.3
v2.17.2
v2.17.1
v2.17.0
v2.16.2
v2.16.1
v2.16.0
v2.15.1
v2.15.0
v2.14.0
v2.13.4
v2.13.3
v2.13.2
v2.13.1
v2.13.0
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.11.0
v2.10.1
v2.10.0
v2.9.0
v2.8.1
v2.8.0
v2.7.2
v2.7.1
v2.7.0
v2.6.0
v2.5.0
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.23
v2.2.22
v2.2.21
v2.2.20
v2.2.19
v2.2.18
v2.2.17
v2.2.16
v2.2.15
v2.2.14
v2.2.13
v2.2.12
v2.2.11
v2.2.10
v2.2.9
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.5
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.19
v2.0.18
v2.0.17
v2.0.16
v2.0.15
v2.0.14
v2.0.13
v2.0.12
v2.0.11
v2.0.10
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v1.7.2
v1.7.1
v1.7.0
v1.6.0
v1.5.5
v1.5.0
v1.4.11
v1.4.9
v1.4.7
v1.4.6
v1.4.4
v1.4.2
v1.4.0
v1.4.1
v1.3.4
v1.3.3
v1.3.1
v1.2.8
v1.2.6
v1.2.5
v1.2.4
v1.2.1
v1.1.15
v1.1.14
v1.1.13
v1.1.12
v1.1.11
v1.1.10
v1.1.9
v1.1.8
v1.0.0
0.9.61-beta.0
0.9.61-beta
Labels
Clear labels
authentication
backlog
bug
chapter editor
config-issue
ebooks
encoding/embedding
enhancement
help wanted
listening sessions & progress
planned
possible plugin
progress sync
pull-request
sorting/filtering/searching
unable to reproduce
upload
users & permissions
waiting
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
adam (Adam Melkus)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/audiobookshelf#2124
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jeffreyswiggins on GitHub (Jul 25, 2024).
What happened?
Every hour, on the hour, at the top of the hour this error is generated and the Container restarts.
Error:
Server] Unhandled rejection: SyntaxError: Expected ',' or '}' after property value in JSON at position 616, promise: Promise { SyntaxError: Expected ',' or '}' after property value in JSON at position 616 at JSON.parse () at parse (/node_modules/sequelize/lib/dialects/sqlite/data-types.js:34:19) at Query.applyParsers (/node_modules/sequelize/lib/dialects/sqlite/query.js:289:14) at /node_modules/sequelize/lib/dialects/sqlite/query.js:112:80 at /node_modules/lodash/lodash.js:13469:38 at /node_modules/lodash/lodash.js:4967:15 at baseForOwn (/node_modules/lodash/lodash.js:3032:24) at Function.mapValues (/node_modules/lodash/lodash.js:13468:7) at /node_modules/sequelize/lib/dialects/sqlite/query.js:93:18 at Array.map () }
Log Example:
2024-07-24 22:04:52.519 INFO [LibraryScanner] Starting library scan 4fff480b-00e1-4eb9-9ae2-30ddad5317db for AudioBooks
2024-07-24 22:05:16.323 INFO [LibraryScanner] Library scan 4fff480b-00e1-4eb9-9ae2-30ddad5317db completed in 0:23.0 | 0 Added | 18 Updated | 0 Missing
2024-07-24 22:05:16.352 INFO [LibraryScan] Scan log saved "/metadata/logs/scans/2024-07-24_4fff480b-00e1-4eb9-9ae2-30ddad5317db.txt"
2024-07-24 22:05:16.357 INFO [LibraryController] Scan complete
2024-07-24 22:06:14.083 INFO [LibraryScanner] Starting library scan 6e98f829-4d3d-449b-a8c0-47fe301aef8a for Podcasts
2024-07-24 22:06:14.535 FATAL [Server] Unhandled rejection: SyntaxError: Expected ',' or '}' after property value in JSON at position 616, promise: Promise { SyntaxError: Expected ',' or '}' after property value in JSON at position 616 at JSON.parse () at parse (/node_modules/sequelize/lib/dialects/sqlite/data-types.js:34:19) at Query.applyParsers (/node_modules/sequelize/lib/dialects/sqlite/query.js:289:14) at /node_modules/sequelize/lib/dialects/sqlite/query.js:112:80 at /node_modules/lodash/lodash.js:13469:38 at /node_modules/lodash/lodash.js:4967:15 at baseForOwn (/node_modules/lodash/lodash.js:3032:24) at Function.mapValues (/node_modules/lodash/lodash.js:13468:7) at /node_modules/sequelize/lib/dialects/sqlite/query.js:93:18 at Array.map () }
2024-07-24 22:06:16.416 INFO === Starting Server ===
2024-07-24 22:06:16.417 INFO [Server] Init v2.11.0
2024-07-24 22:06:16.418 INFO [Server] Node.js Version: v20.15.0
2024-07-24 22:06:16.433 INFO [Database] Initializing db at "/config/absdatabase.sqlite"
2024-07-24 22:06:16.508 INFO [Database] Db connection was successful
2024-07-24 22:06:16.660 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-07-24 22:06:16.693 INFO [LogManager] Init current daily log filename: 2024-07-24.txt
What did you expect to happen?
Container to execute the hourly process that it is attempting to run each hour (not a task I have setup just something it must be set to do) and not crash
Steps to reproduce the issue
Audiobookshelf version
v2.11.0
How are you running audiobookshelf?
Docker
What OS is your Audiobookshelf server hosted from?
Linux
If the issue is being seen in the UI, what browsers are you seeing the problem on?
None
Logs
Additional Notes
I have tried several things including removing some Podcasts that contained larger amounts of items thinking that was causing the issue. I have force scanned both Podcasts and Audiobooks and both complete with no issues that cause it to duplicate this crash like this. The most seen during audiobook scan is this:
2024-07-24 21:58:22.943 ERROR [AudioFileScanner] Invalid data found when processing input : "/audiobooks/Star Wars/The Weapon of a Jedi A Luke Skywalker Adventure (Journey to Star Wars The Force Awakens)/Star Wars The Weapon of the Jedi A Luke Skywalker Adventure .m4b"
2024-07-24 21:58:23.099 ERROR [AudioFileScanner] Invalid data found when processing input : "/audiobooks/Star Wars/The Weapon of a Jedi A Luke Skywalker Adventure (Journey to Star Wars The Force Awakens)/Star Wars The Weapon of the Jedi A Luke Skywalker Adventure .m4b"
2024-07-24 21:58:41.560 ERROR [AudioFileScanner] Invalid argument : "/audiobooks/Star Wars/Phantom Menace/06 Phantom Menace.mp3"
2024-07-24 21:58:41.753 ERROR [AudioFileScanner] Invalid argument : "/audiobooks/Star Wars/Phantom Menace/06 Phantom Menace.mp3
@nichwall commented on GitHub (Jul 25, 2024):
Can you change your log level to Debug? This looks like a problem with some book folders, not the podcasts.
Is your database (the
/configmount) stored on the same device that you are running ABS from (not mounted from a network drive)?Do you have periodic library scans enabled?
@jeffreyswiggins commented on GitHub (Jul 25, 2024):
I have switched the Log Level to DEBUG.
The container is stored and runs local on the Linux Docker host. The AudioBook and Podcasts are stored on Mounts on my NAS which are mounted and then added as part of the yaml configuration.
Periodic Library scanning, which I hope means "Schedule Automatic Library Scans" under Schedule under the Library settings for the AudioBook library is not enabled, or is unchecked. Did no even notice that option before today, but the **Podcast" library is set to an Interval of Every 2 hours. That did make me go back and look at the times it crashes and restarts and it is Every Hour not Every 2 hours just to make sure it does not match that schedule.
@advplyr commented on GitHub (Jul 25, 2024):
Can you test pressing the "Scan" button on the podcast library to see if it crashes?
@jeffreyswiggins commented on GitHub (Jul 25, 2024):
2024-07-25_d2b6f5b2-08f0-4db1-a092-f35a9c2fb6de.txt
It did not crash. I collected the log file and have attached it. I will try to look through it in a bit as I saw "failures" fly by.
@jeffreyswiggins commented on GitHub (Jul 25, 2024):
I noticed early in the scan a repeated ERROR for a podcast episode name Josh Sherley’s Talk at Summit "Come to Me" and i have no idea if the double quotes in the name are causing an issue but it through an ERROR over and over in the on screen log, so I renamed it to not have the double quotes and reran the scan it ran clean this time. I can wait and see if it crashes in about 45 minutes at the top of the hour.
@jeffreyswiggins commented on GitHub (Jul 26, 2024):
Okay i had hoped it did not crash but after refreshing the log on the screen it should it crashed still and restarted the container.
2024-07-25 17:00:00.195 DEBUG [CronManager] Start executing podcast cron 0 * * * * for 7 item(s)
2024-07-25 17:00:00.447 FATAL [Server] Unhandled rejection: SyntaxError: Expected ',' or '}' after property value in JSON at position 616, promise: Promise { SyntaxError: Expected ',' or '}' after property value in JSON at position 616 at JSON.parse () at parse (/node_modules/sequelize/lib/dialects/sqlite/data-types.js:34:19) at Query.applyParsers (/node_modules/sequelize/lib/dialects/sqlite/query.js:289:14) at /node_modules/sequelize/lib/dialects/sqlite/query.js:112:80 at /node_modules/lodash/lodash.js:13469:38 at /node_modules/lodash/lodash.js:4967:15 at baseForOwn (/node_modules/lodash/lodash.js:3032:24) at Function.mapValues (/node_modules/lodash/lodash.js:13468:7) at /node_modules/sequelize/lib/dialects/sqlite/query.js:93:18 at Array.map () }
2024-07-25 17:00:02.747 DEBUG [LogManager] Daily log file already exists - set in Logger
2024-07-25 17:00:02.768 DEBUG [DailyLog] 2024-07-25: Loaded 4929 Logs
2024-07-25 17:00:02.487 INFO === Starting Server ===
2024-07-25 17:00:02.488 INFO [Server] Init v2.11.0
2024-07-25 17:00:02.488 INFO [Server] Node.js Version: v20.15.0
2024-07-25 17:00:02.495 INFO [Database] Initializing db at "/config/absdatabase.sqlite"
2024-07-25 17:00:02.554 INFO [Database] Db connection was successful
2024-07-25 17:00:02.707 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-07-25 17:00:02.715 DEBUG Set Log Level to DEBUG
2024-07-25 17:00:02.744 DEBUG Daily Log file found 2024-07-19.txt
2024-07-25 17:00:02.745 DEBUG Daily Log file found 2024-07-20.txt
2024-07-25 17:00:02.745 DEBUG Daily Log file found 2024-07-21.txt
2024-07-25 17:00:02.745 DEBUG Daily Log file found 2024-07-22.txt
2024-07-25 17:00:02.746 DEBUG Daily Log file found 2024-07-23.txt
2024-07-25 17:00:02.746 DEBUG Daily Log file found 2024-07-24.txt
2024-07-25 17:00:02.746 DEBUG Daily Log file found 2024-07-25.txt
2024-07-25 17:00:02.747 INFO [LogManager] Init current daily log filename: 2024-07-25.txt
2024-07-25 17:00:02.802 DEBUG [BackupManager] Backup found "2024-07-05T0130"
2024-07-25 17:00:02.810 DEBUG [BackupManager] Backup found "2024-07-07T0130"
2024-07-25 17:00:02.820 DEBUG [BackupManager] Backup found "2024-07-08T0130"
2024-07-25 17:00:02.838 DEBUG [BackupManager] Backup found "2024-07-09T0130"
2024-07-25 17:00:02.844 DEBUG [BackupManager] Backup found "2024-07-11T0130"
2024-07-25 17:00:02.852 DEBUG [BackupManager] Backup found "2024-07-15T0130"
2024-07-25 17:00:02.861 DEBUG [BackupManager] Backup found "2024-07-18T0130"
2024-07-25 17:00:02.870 DEBUG [BackupManager] Backup found "2024-07-19T0130"
2024-07-25 17:00:02.882 DEBUG [BackupManager] Backup found "2024-07-20T0130"
2024-07-25 17:00:02.890 DEBUG [BackupManager] Backup found "2024-07-21T0130"
2024-07-25 17:00:02.898 DEBUG [BackupManager] Backup found "2024-07-22T0130"
2024-07-25 17:00:02.906 DEBUG [BackupManager] Backup found "2024-07-23T0130"
2024-07-25 17:00:02.913 DEBUG [BackupManager] Backup found "2024-07-24T0130"
2024-07-25 17:00:02.923 DEBUG [BackupManager] Backup found "2024-07-25T0130"
2024-07-25 17:00:02.923 INFO [BackupManager] 14 Backups Found
2024-07-25 17:00:02.936 DEBUG [CronManager] Init library scan cron for Podcasts on schedule 0 */2 * * *
2024-07-25 17:00:02.949 DEBUG [CronManager] Found 1 podcast episode schedules to start
2024-07-25 17:00:02.950 DEBUG [CronManager] Scheduling podcast episode check cron "0 * * * *" for 7 item(s)
2024-07-25 17:00:02.951 INFO [Watcher] Initializing watcher for "AudioBooks".
2024-07-25 17:00:02.951 DEBUG[Watcher] Init watcher for library folder path "/audiobooks"
2024-07-25 17:00:02.952 INFO [Watcher] Initializing watcher for "Podcasts".
2024-07-25 17:00:02.953 DEBUG [Watcher] Init watcher for library folder path "/podcasts"
2024-07-25 17:00:02.963 INFO Listening on port :80
2024-07-25 17:00:03.414 INFO [SocketAuthority] Socket Connected vN_tPylSzvfCMRjxAAAB
2024-07-25 17:00:04.686 INFO [SocketAuthority] Socket Connected S3Yy52hDHI2wUvRxAAAD
2024-07-25 17:00:05.992 DEBUG [SocketAuthority] User Online xxxxxxxxxxxx
024-07-25 17:00:06.041 DEBUG [SocketAuthority] User Online xxxxxxxxxxxx
2024-07-25 17:00:06.179 INFO [Watcher] "Podcasts" Ready
2024-07-25 17:00:08.817 INFO [Watcher] "AudioBooks" Ready
2024-07-25 17:08:00.021 DEBUG [SocketAuthority] User Offline xxxxxxxxxxxx
2024-07-25 17:08:00.023 INFO [SocketAuthority] Socket vN_tPylSzvfCMRjxAAAB disconnected from client "xxxxxxxxxxxx" after 476609ms (Reason: transport close)
@jeffreyswiggins commented on GitHub (Jul 28, 2024):
Any other ideas for me to try? It is still crashing and restarting every hour.
I have just considered creating an entire new instance and importing the Audiobooks and Podcasts back and seeing if that one does the same thing or not just to know, but was kind of waiting on direction.
@mikiher commented on GitHub (Jul 29, 2024):
Yes, I'd like you to set the environment variable
NODE_OPTIONSto--stack-trace-limit=1000and restart the container.Do you know how to do that? If not, please tell me how you manage your Docker containers and I'll try to help.
This may help me pinpont where in Audiobookshelf code the crash happens (currently the stack trace you're getting seems partial).
@jeffreyswiggins commented on GitHub (Jul 30, 2024):
Okay... here is my docker-compose.yml I have now setup to run it....
AudioBookShelf
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
environment:
#- PUID=${PUID}
#- PGID=${PGID}
- TZ=${TZ}
- user=1000:1000
- NODE_OPTIONS="--stack-trace-limit=1000"
volumes:
- ${USERDIR}/media/audiobookshelf/config:/config
- ${USERDIR}/media/audiobookshelf/metadata:/metadata
- ${MEDIA}/AudioBooks:/audiobooks
- ${MUSIC}/podcasts:/podcasts
ports:
- 13377:80
restart: unless-stopped
healthcheck:
test: curl --fail http://localhost:80 || exit 1
interval: 10s
retries: 5
start_period: 5s
timeout: 10s
@jeffreyswiggins commented on GitHub (Jul 30, 2024):
i have restarted the container and will let you know. also the healthcheck got added after all this started and I have tested without it running to make sure it is not causing some sort of issue by disabling it and the problem still occurs regardless of whether I have it enabled or not.
@jeffreyswiggins commented on GitHub (Jul 30, 2024):
Crash log at 8pm.
2024-07-29 20:00:00.966
FATAL
[Server] Unhandled rejection: SyntaxError: Expected ',' or '}' after property value in JSON at position 616, promise: Promise { SyntaxError: Expected ',' or '}' after property value in JSON at position 616 at JSON.parse () at parse (/node_modules/sequelize/lib/dialects/sqlite/data-types.js:34:19) at Query.applyParsers (/node_modules/sequelize/lib/dialects/sqlite/query.js:289:14) at /node_modules/sequelize/lib/dialects/sqlite/query.js:112:80 at /node_modules/lodash/lodash.js:13469:38 at /node_modules/lodash/lodash.js:4967:15 at baseForOwn (/node_modules/lodash/lodash.js:3032:24) at Function.mapValues (/node_modules/lodash/lodash.js:13468:7) at /node_modules/sequelize/lib/dialects/sqlite/query.js:93:18 at Array.map () at Query._handleQueryResponse (/node_modules/sequelize/lib/dialects/sqlite/query.js:92:25) at Statement.afterExecute (/node_modules/sequelize/lib/dialects/sqlite/query.js:194:27) }
2024-07-29 20:00:03.286
DEBUG
[LogManager] Daily log file already exists - set in Logger
2024-07-29 20:00:03.292
DEBUG
[DailyLog] 2024-07-29: Loaded 1010 Logs
@mikiher commented on GitHub (Jul 30, 2024):
A couple of things:
2024-07-25 17:00:00.195 DEBUG [CronManager] Start executing podcast cron 0 * * * * for 7 item(s)from the log above, the crash does not happen during a library scan, but during automatic episode download - maybe change the title of the bug.QUERY_LOGGINGtolog. The crash seems to happen when handling the query response, so this will help us determine what that query was.@jeffreyswiggins commented on GitHub (Jul 30, 2024):
okay so I removed the "" from around the first additional environment variable I added and then added this new one and restarted the container. Will see what is generated at the next "crash"
AudioBookShelf
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
environment:
#- PUID=${PUID}
#- PGID=${PGID}
- TZ=${TZ}
- user=1000:1000
- NODE_OPTIONS=--stack-trace-limit=1000
- QUERY_LOGGING
volumes:
- ${USERDIR}/media/audiobookshelf/config:/config
- ${USERDIR}/media/audiobookshelf/metadata:/metadata
- ${MEDIA}/AudioBooks:/audiobooks
- ${MUSIC}/podcasts:/podcasts
ports:
- 13377:80
restart: unless-stopped
healthcheck:
test: curl --fail http://localhost:80 || exit 1
interval: 10s
retries: 5
start_period: 5s
timeout: 10s
@mikiher commented on GitHub (Jul 30, 2024):
You should put QUERY_LOGGING=log
@jeffreyswiggins commented on GitHub (Jul 30, 2024):
doh... adding that now
@jeffreyswiggins commented on GitHub (Jul 30, 2024):
environment:
#- PUID=${PUID}
#- PGID=${PGID}
- TZ=${TZ}
- user=1000:1000
- NODE_OPTIONS=--stack-trace-limit=1000
- QUERY_LOGGING=log
@jeffreyswiggins commented on GitHub (Jul 30, 2024):
This is what it has shown up in the log so far since the top of this hour....
2024-07-30 08:00:00.572
DEBUG
Running the following query: Executing (default): SELECT
library.id,library.name,library.displayOrder,library.icon,library.mediaType,library.provider,library.lastScan,library.lastScanVersion,library.settings,library.extraData,library.createdAt,library.updatedAt,libraryFolders.idASlibraryFolders.id,libraryFolders.pathASlibraryFolders.path,libraryFolders.createdAtASlibraryFolders.createdAt,libraryFolders.updatedAtASlibraryFolders.updatedAt,libraryFolders.libraryIdASlibraryFolders.libraryIdFROMlibrariesASlibraryLEFT OUTER JOINlibraryFoldersASlibraryFoldersONlibrary.id=libraryFolders.libraryIdWHERElibrary.id= 'fd7de917-a177-4b90-9e5a-8f667385c5a7';2024-07-30 08:00:00.574
DEBUG
[CronManager] Start executing podcast cron 0 * * * * for 7 item(s)
2024-07-30 08:00:00.576
DEBUG
Running the following query: Executing (default): SELECT
id,ino,path,relPath,mediaId,mediaType,isFile,isMissing,isInvalid,mtime,ctime,birthtime,size,lastScan,lastScanVersion,libraryFiles,extraData,createdAt,updatedAt,libraryId,libraryFolderIdFROMlibraryItemsASlibraryItemWHERElibraryItem.id= 'e05f6624-645b-4932-b6ad-bdc453f5a049';2024-07-30 08:00:00.581
DEBUG
[CronManager] Library scan cron executing for Podcasts
2024-07-30 08:00:00.585
INFO
[LibraryScanner] Starting library scan 14157f1c-5153-4932-ae4c-0ba734dbe99e for Podcasts
2024-07-30 08:00:00.593
DEBUG
Running the following query: Executing (default): SELECT
podcast.id,podcast.tags,podcast.genres,podcast.languageFROMpodcastsASpodcastINNER JOINlibraryItemsASlibraryItemONpodcast.id=libraryItem.mediaIdAND (libraryItem.libraryId= 'fd7de917-a177-4b90-9e5a-8f667385c5a7' ANDlibraryItem.mediaType= 'podcast');2024-07-30 08:00:00.601
DEBUG
Running the following query: Executing (default): SELECT
podcast.id,podcast.title,podcast.titleIgnorePrefix,podcast.author,podcast.releaseDate,podcast.feedURL,podcast.imageURL,podcast.description,podcast.itunesPageURL,podcast.itunesId,podcast.itunesArtistId,podcast.language,podcast.podcastType,podcast.explicit,podcast.autoDownloadEpisodes,podcast.autoDownloadSchedule,podcast.lastEpisodeCheck,podcast.maxEpisodesToKeep,podcast.maxNewEpisodesToDownload,podcast.coverPath,podcast.tags,podcast.genres,podcast.createdAt,podcast.updatedAt,podcastEpisodes.idASpodcastEpisodes.id,podcastEpisodes.indexASpodcastEpisodes.index,podcastEpisodes.seasonASpodcastEpisodes.season,podcastEpisodes.episodeASpodcastEpisodes.episode,podcastEpisodes.episodeTypeASpodcastEpisodes.episodeType,podcastEpisodes.titleASpodcastEpisodes.title,podcastEpisodes.subtitleASpodcastEpisodes.subtitle,podcastEpisodes.descriptionASpodcastEpisodes.description,podcastEpisodes.pubDateASpodcastEpisodes.pubDate,podcastEpisodes.enclosureURLASpodcastEpisodes.enclosureURL,podcastEpisodes.enclosureSizeASpodcastEpisodes.enclosureSize,podcastEpisodes.enclosureTypeASpodcastEpisodes.enclosureType,podcastEpisodes.publishedAtASpodcastEpisodes.publishedAt,podcastEpisodes.audioFileASpodcastEpisodes.audioFile,podcastEpisodes.chaptersASpodcastEpisodes.chapters,podcastEpisodes.extraDataASpodcastEpisodes.extraData,podcastEpisodes.createdAtASpodcastEpisodes.createdAt,podcastEpisodes.updatedAtASpodcastEpisodes.updatedAt,podcastEpisodes.podcastIdASpodcastEpisodes.podcastIdFROMpodcastsASpodcastLEFT OUTER JOINpodcastEpisodesASpodcastEpisodesONpodcast.id=podcastEpisodes.podcastIdWHEREpodcast.id= '6c3054bf-e9bd-48cb-93da-aa6ff87e1a94';2024-07-30 08:00:00.866
DEBUG
Running the following query: Executing (default): SELECT
id,ino,path,relPath,mediaId,mediaType,isFile,isMissing,isInvalid,mtime,ctime,birthtime,size,lastScan,lastScanVersion,libraryFiles,extraData,createdAt,updatedAt,libraryId,libraryFolderIdFROMlibraryItemsASlibraryItemWHERElibraryItem.id= '6a0847d7-27fd-4632-9eab-8a8ae94ea338';2024-07-30 08:00:00.873
DEBUG
Loaded filterdata in 0.28s
2024-07-30 08:00:00.884
DEBUG
Running the following query: Executing (default): SELECT
podcast.id,podcast.title,podcast.titleIgnorePrefix,podcast.author,podcast.releaseDate,podcast.feedURL,podcast.imageURL,podcast.description,podcast.itunesPageURL,podcast.itunesId,podcast.itunesArtistId,podcast.language,podcast.podcastType,podcast.explicit,podcast.autoDownloadEpisodes,podcast.autoDownloadSchedule,podcast.lastEpisodeCheck,podcast.maxEpisodesToKeep,podcast.maxNewEpisodesToDownload,podcast.coverPath,podcast.tags,podcast.genres,podcast.createdAt,podcast.updatedAt,podcastEpisodes.idASpodcastEpisodes.id,podcastEpisodes.indexASpodcastEpisodes.index,podcastEpisodes.seasonASpodcastEpisodes.season,podcastEpisodes.episodeASpodcastEpisodes.episode,podcastEpisodes.episodeTypeASpodcastEpisodes.episodeType,podcastEpisodes.titleASpodcastEpisodes.title,podcastEpisodes.subtitleASpodcastEpisodes.subtitle,podcastEpisodes.descriptionASpodcastEpisodes.description,podcastEpisodes.pubDateASpodcastEpisodes.pubDate,podcastEpisodes.enclosureURLASpodcastEpisodes.enclosureURL,podcastEpisodes.enclosureSizeASpodcastEpisodes.enclosureSize,podcastEpisodes.enclosureTypeASpodcastEpisodes.enclosureType,podcastEpisodes.publishedAtASpodcastEpisodes.publishedAt,podcastEpisodes.audioFileASpodcastEpisodes.audioFile,podcastEpisodes.chaptersASpodcastEpisodes.chapters,podcastEpisodes.extraDataASpodcastEpisodes.extraData,podcastEpisodes.createdAtASpodcastEpisodes.createdAt,podcastEpisodes.updatedAtASpodcastEpisodes.updatedAt,podcastEpisodes.podcastIdASpodcastEpisodes.podcastIdFROMpodcastsASpodcastLEFT OUTER JOINpodcastEpisodesASpodcastEpisodesONpodcast.id=podcastEpisodes.podcastIdWHEREpodcast.id= '8d5a6676-4612-49ed-af75-48a62fe44ed1';2024-07-30 08:00:00.923
DEBUG
Running the following query: Executing (default): SELECT
id,ino,path,relPath,mediaId,mediaType,isFile,isMissing,isInvalid,mtime,ctime,birthtime,size,lastScan,lastScanVersion,libraryFiles,extraData,createdAt,updatedAt,libraryId,libraryFolderIdFROMlibraryItemsASlibraryItemWHERElibraryItem.id= '39b63de6-1971-483d-865d-986d8bf67c2d';2024-07-30 08:00:00.927
DEBUG
Running the following query: Executing (default): SELECT
podcast.id,podcast.title,podcast.titleIgnorePrefix,podcast.author,podcast.releaseDate,podcast.feedURL,podcast.imageURL,podcast.description,podcast.itunesPageURL,podcast.itunesId,podcast.itunesArtistId,podcast.language,podcast.podcastType,podcast.explicit,podcast.autoDownloadEpisodes,podcast.autoDownloadSchedule,podcast.lastEpisodeCheck,podcast.maxEpisodesToKeep,podcast.maxNewEpisodesToDownload,podcast.coverPath,podcast.tags,podcast.genres,podcast.createdAt,podcast.updatedAt,podcastEpisodes.idASpodcastEpisodes.id,podcastEpisodes.indexASpodcastEpisodes.index,podcastEpisodes.seasonASpodcastEpisodes.season,podcastEpisodes.episodeASpodcastEpisodes.episode,podcastEpisodes.episodeTypeASpodcastEpisodes.episodeType,podcastEpisodes.titleASpodcastEpisodes.title,podcastEpisodes.subtitleASpodcastEpisodes.subtitle,podcastEpisodes.descriptionASpodcastEpisodes.description,podcastEpisodes.pubDateASpodcastEpisodes.pubDate,podcastEpisodes.enclosureURLASpodcastEpisodes.enclosureURL,podcastEpisodes.enclosureSizeASpodcastEpisodes.enclosureSize,podcastEpisodes.enclosureTypeASpodcastEpisodes.enclosureType,podcastEpisodes.publishedAtASpodcastEpisodes.publishedAt,podcastEpisodes.audioFileASpodcastEpisodes.audioFile,podcastEpisodes.chaptersASpodcastEpisodes.chapters,podcastEpisodes.extraDataASpodcastEpisodes.extraData,podcastEpisodes.createdAtASpodcastEpisodes.createdAt,podcastEpisodes.updatedAtASpodcastEpisodes.updatedAt,podcastEpisodes.podcastIdASpodcastEpisodes.podcastIdFROMpodcastsASpodcastLEFT OUTER JOINpodcastEpisodesASpodcastEpisodesONpodcast.id=podcastEpisodes.podcastIdWHEREpodcast.id= '08101be9-9416-437b-8f36-ab65d2d4630b';2024-07-30 08:00:00.975
FATAL
[Server] Unhandled rejection: SyntaxError: Expected ',' or '}' after property value in JSON at position 616, promise: Promise { SyntaxError: Expected ',' or '}' after property value in JSON at position 616 at JSON.parse () at parse (/node_modules/sequelize/lib/dialects/sqlite/data-types.js:34:19) at Query.applyParsers (/node_modules/sequelize/lib/dialects/sqlite/query.js:289:14) at /node_modules/sequelize/lib/dialects/sqlite/query.js:112:80 at /node_modules/lodash/lodash.js:13469:38 at /node_modules/lodash/lodash.js:4967:15 at baseForOwn (/node_modules/lodash/lodash.js:3032:24) at Function.mapValues (/node_modules/lodash/lodash.js:13468:7) at /node_modules/sequelize/lib/dialects/sqlite/query.js:93:18 at Array.map () at Query._handleQueryResponse (/node_modules/sequelize/lib/dialects/sqlite/query.js:92:25) at Statement.afterExecute (/node_modules/sequelize/lib/dialects/sqlite/query.js:194:27) }
2024-07-30 08:00:03.914
DEBUG
[LogManager] Daily log file already exists - set in Logger
2024-07-30 08:00:03.921
DEBUG
[DailyLog] 2024-07-30: Loaded 506 Logs
2024-07-30 08:00:03.522
INFO
=== Starting Server ===
2024-07-30 08:00:03.523
INFO
[Server] Init v2.11.0
2024-07-30 08:00:03.524
INFO
[Server] Node.js Version: v20.15.0
2024-07-30 08:00:03.539
INFO
[Database] Initializing db at "/config/absdatabase.sqlite"
2024-07-30 08:00:03.540
INFO
[Database] Query logging enabled
2024-07-30 08:00:03.636
INFO
[Database] Db connection was successful
2024-07-30 08:00:03.862
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-07-30 08:00:03.874
DEBUG
Set Log Level to DEBUG
2024-07-30 08:00:03.885
DEBUG
Running the following query: Executing (default): SELECT
podcast.id,podcast.title,podcast.titleIgnorePrefix,podcast.author,podcast.releaseDate,podcast.feedURL,podcast.imageURL,podcast.description,podcast.itunesPageURL,podcast.itunesId,podcast.itunesArtistId,podcast.language,podcast.podcastType,podcast.explicit,podcast.autoDownloadEpisodes,podcast.autoDownloadSchedule,podcast.lastEpisodeCheck,podcast.maxEpisodesToKeep,podcast.maxNewEpisodesToDownload,podcast.coverPath,podcast.tags,podcast.genres,podcast.createdAt,podcast.updatedAt,libraryItem.idASlibraryItem.id,libraryItem.inoASlibraryItem.ino,libraryItem.pathASlibraryItem.path,libraryItem.relPathASlibraryItem.relPath,libraryItem.mediaIdASlibraryItem.mediaId,libraryItem.mediaTypeASlibraryItem.mediaType,libraryItem.isFileASlibraryItem.isFile,libraryItem.isMissingASlibraryItem.isMissing,libraryItem.isInvalidASlibraryItem.isInvalid,libraryItem.mtimeASlibraryItem.mtime,libraryItem.ctimeASlibraryItem.ctime,libraryItem.birthtimeASlibraryItem.birthtime,libraryItem.sizeASlibraryItem.size,libraryItem.lastScanASlibraryItem.lastScan,libraryItem.lastScanVersionASlibraryItem.lastScanVersion,libraryItem.libraryFilesASlibraryItem.libraryFiles,libraryItem.extraDataASlibraryItem.extraData,libraryItem.createdAtASlibraryItem.createdAt,libraryItem.updatedAtASlibraryItem.updatedAt,libraryItem.libraryIdASlibraryItem.libraryId,libraryItem.libraryFolderIdASlibraryItem.libraryFolderIdFROMpodcastsASpodcastLEFT OUTER JOINlibraryItemsASlibraryItemONpodcast.id=libraryItem.mediaIdANDlibraryItem.mediaType= 'podcast' WHERElibraryItem.idIS NULL;2024-07-30 08:00:03.893
DEBUG
Running the following query: Executing (default): SELECT
book.id,book.title,book.titleIgnorePrefix,book.subtitle,book.publishedYear,book.publishedDate,book.publisher,book.description,book.isbn,book.asin,book.language,book.explicit,book.abridged,book.coverPath,book.duration,book.narrators,book.audioFiles,book.ebookFile,book.chapters,book.tags,book.genres,book.createdAt,book.updatedAt,libraryItem.idASlibraryItem.id,libraryItem.inoASlibraryItem.ino,libraryItem.pathASlibraryItem.path,libraryItem.relPathASlibraryItem.relPath,libraryItem.mediaIdASlibraryItem.mediaId,libraryItem.mediaTypeASlibraryItem.mediaType,libraryItem.isFileASlibraryItem.isFile,libraryItem.isMissingASlibraryItem.isMissing,libraryItem.isInvalidASlibraryItem.isInvalid,libraryItem.mtimeASlibraryItem.mtime,libraryItem.ctimeASlibraryItem.ctime,libraryItem.birthtimeASlibraryItem.birthtime,libraryItem.sizeASlibraryItem.size,libraryItem.lastScanASlibraryItem.lastScan,libraryItem.lastScanVersionASlibraryItem.lastScanVersion,libraryItem.libraryFilesASlibraryItem.libraryFiles,libraryItem.extraDataASlibraryItem.extraData,libraryItem.createdAtASlibraryItem.createdAt,libraryItem.updatedAtASlibraryItem.updatedAt,libraryItem.libraryIdASlibraryItem.libraryId,libraryItem.libraryFolderIdASlibraryItem.libraryFolderIdFROMbooksASbookLEFT OUTER JOINlibraryItemsASlibraryItemONbook.id=libraryItem.mediaIdANDlibraryItem.mediaType= 'book' WHERElibraryItem.idIS NULL;2024-07-30 08:00:03.899
DEBUG
Running the following query: Executing (default): SELECT
series.id,series.name,series.nameIgnorePrefix,series.description,series.createdAt,series.updatedAt,series.libraryId,bookSeries.idASbookSeries.id,bookSeries.sequenceASbookSeries.sequence,bookSeries.createdAtASbookSeries.createdAt,bookSeries.bookIdASbookSeries.bookId,bookSeries.seriesIdASbookSeries.seriesIdFROMseriesASseriesLEFT OUTER JOINbookSeriesASbookSeriesONseries.id=bookSeries.seriesIdWHEREbookSeries.idIS NULL;2024-07-30 08:00:03.904
DEBUG
Running the following query: Executing (default): DELETE FROM
playbackSessionsWHEREtimeListening<= 32024-07-30 08:00:03.908
DEBUG
Running the following query: Executing (default): SELECT count(*) AS
countFROMusersASuserWHEREuser.type= 'root';2024-07-30 08:00:03.911
DEBUG
Daily Log file found 2024-07-24.txt
2024-07-30 08:00:03.911
DEBUG
Daily Log file found 2024-07-25.txt
2024-07-30 08:00:03.912
DEBUG
Daily Log file found 2024-07-26.txt
2024-07-30 08:00:03.912
DEBUG
Daily Log file found 2024-07-27.txt
2024-07-30 08:00:03.912
DEBUG
Daily Log file found 2024-07-28.txt
2024-07-30 08:00:03.913
DEBUG
Daily Log file found 2024-07-29.txt
2024-07-30 08:00:03.913
DEBUG
Daily Log file found 2024-07-30.txt
2024-07-30 08:00:03.913
INFO
[LogManager] Init current daily log filename: 2024-07-30.txt
2024-07-30 08:00:03.924
DEBUG
Running the following query: Executing (default): SELECT
mediaProgress.id,book.idASbook.id,podcastEpisode.idASpodcastEpisode.idFROMmediaProgressesASmediaProgressLEFT OUTER JOINbooksASbookONmediaProgress.mediaItemId=book.idLEFT OUTER JOINpodcastEpisodesASpodcastEpisodeONmediaProgress.mediaItemId=podcastEpisode.idWHEREpodcastEpisode.idIS NULL ANDbook.idIS NULL;2024-07-30 08:00:03.929
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userId;2024-07-30 08:00:03.946
DEBUG
Running the following query: Executing (default): SELECT
id,mediaItemId,mediaItemType,slug,pash,expiresAt,extraData,createdAt,updatedAt,userIdFROMmediaItemSharesASmediaItemShare;2024-07-30 08:00:03.988
DEBUG
[BackupManager] Backup found "2024-07-15T0130"
2024-07-30 08:00:04.012
DEBUG
[BackupManager] Backup found "2024-07-18T0130"
2024-07-30 08:00:04.053
DEBUG
[BackupManager] Backup found "2024-07-19T0130"
2024-07-30 08:00:04.087
DEBUG
[BackupManager] Backup found "2024-07-20T0130"
2024-07-30 08:00:04.107
DEBUG
[BackupManager] Backup found "2024-07-21T0130"
2024-07-30 08:00:04.126
DEBUG
[BackupManager] Backup found "2024-07-22T0130"
2024-07-30 08:00:04.137
DEBUG
[BackupManager] Backup found "2024-07-23T0130"
2024-07-30 08:00:04.145
DEBUG
[BackupManager] Backup found "2024-07-24T0130"
2024-07-30 08:00:04.157
DEBUG
[BackupManager] Backup found "2024-07-25T0130"
2024-07-30 08:00:04.166
DEBUG
[BackupManager] Backup found "2024-07-26T0130"
2024-07-30 08:00:04.173
DEBUG
[BackupManager] Backup found "2024-07-27T0130"
2024-07-30 08:00:04.178
DEBUG
[BackupManager] Backup found "2024-07-28T0130"
2024-07-30 08:00:04.185
DEBUG
[BackupManager] Backup found "2024-07-29T0130"
2024-07-30 08:00:04.191
DEBUG
[BackupManager] Backup found "2024-07-30T0130"
2024-07-30 08:00:04.192
INFO
[BackupManager] 14 Backups Found
2024-07-30 08:00:04.199
DEBUG
Running the following query: Executing (default): SELECT
feed.id,feed.slug,feed.entityType,feed.entityId,feed.entityUpdatedAt,feed.serverAddress,feed.feedURL,feed.imageURL,feed.siteURL,feed.title,feed.description,feed.author,feed.podcastType,feed.language,feed.ownerName,feed.ownerEmail,feed.explicit,feed.preventIndexing,feed.coverPath,feed.createdAt,feed.updatedAt,feed.userId,feedEpisodes.idASfeedEpisodes.id,feedEpisodes.titleASfeedEpisodes.title,feedEpisodes.authorASfeedEpisodes.author,feedEpisodes.descriptionASfeedEpisodes.description,feedEpisodes.siteURLASfeedEpisodes.siteURL,feedEpisodes.enclosureURLASfeedEpisodes.enclosureURL,feedEpisodes.enclosureTypeASfeedEpisodes.enclosureType,feedEpisodes.enclosureSizeASfeedEpisodes.enclosureSize,feedEpisodes.pubDateASfeedEpisodes.pubDate,feedEpisodes.seasonASfeedEpisodes.season,feedEpisodes.episodeASfeedEpisodes.episode,feedEpisodes.episodeTypeASfeedEpisodes.episodeType,feedEpisodes.durationASfeedEpisodes.duration,feedEpisodes.filePathASfeedEpisodes.filePath,feedEpisodes.explicitASfeedEpisodes.explicit,feedEpisodes.createdAtASfeedEpisodes.createdAt,feedEpisodes.updatedAtASfeedEpisodes.updatedAt,feedEpisodes.feedIdASfeedEpisodes.feedIdFROMfeedsASfeedLEFT OUTER JOINfeedEpisodesASfeedEpisodesONfeed.id=feedEpisodes.feedId;2024-07-30 08:00:04.204
DEBUG
Running the following query: Executing (default): SELECT
library.id,library.name,library.displayOrder,library.icon,library.mediaType,library.provider,library.lastScan,library.lastScanVersion,library.settings,library.extraData,library.createdAt,library.updatedAt,libraryFolders.idASlibraryFolders.id,libraryFolders.pathASlibraryFolders.path,libraryFolders.createdAtASlibraryFolders.createdAt,libraryFolders.updatedAtASlibraryFolders.updatedAt,libraryFolders.libraryIdASlibraryFolders.libraryIdFROMlibrariesASlibraryLEFT OUTER JOINlibraryFoldersASlibraryFoldersONlibrary.id=libraryFolders.libraryIdORDER BYlibrary.displayOrderASC;2024-07-30 08:00:04.210
DEBUG
[CronManager] Init library scan cron for Podcasts on schedule 0 */2 * * *
2024-07-30 08:00:04.214
DEBUG
Running the following query: Executing (default): SELECT
podcast.id,podcast.title,podcast.titleIgnorePrefix,podcast.author,podcast.releaseDate,podcast.feedURL,podcast.imageURL,podcast.description,podcast.itunesPageURL,podcast.itunesId,podcast.itunesArtistId,podcast.language,podcast.podcastType,podcast.explicit,podcast.autoDownloadEpisodes,podcast.autoDownloadSchedule,podcast.lastEpisodeCheck,podcast.maxEpisodesToKeep,podcast.maxNewEpisodesToDownload,podcast.coverPath,podcast.tags,podcast.genres,podcast.createdAt,podcast.updatedAt,libraryItem.idASlibraryItem.id,libraryItem.inoASlibraryItem.ino,libraryItem.pathASlibraryItem.path,libraryItem.relPathASlibraryItem.relPath,libraryItem.mediaIdASlibraryItem.mediaId,libraryItem.mediaTypeASlibraryItem.mediaType,libraryItem.isFileASlibraryItem.isFile,libraryItem.isMissingASlibraryItem.isMissing,libraryItem.isInvalidASlibraryItem.isInvalid,libraryItem.mtimeASlibraryItem.mtime,libraryItem.ctimeASlibraryItem.ctime,libraryItem.birthtimeASlibraryItem.birthtime,libraryItem.sizeASlibraryItem.size,libraryItem.lastScanASlibraryItem.lastScan,libraryItem.lastScanVersionASlibraryItem.lastScanVersion,libraryItem.libraryFilesASlibraryItem.libraryFiles,libraryItem.extraDataASlibraryItem.extraData,libraryItem.createdAtASlibraryItem.createdAt,libraryItem.updatedAtASlibraryItem.updatedAt,libraryItem.libraryIdASlibraryItem.libraryId,libraryItem.libraryFolderIdASlibraryItem.libraryFolderIdFROMpodcastsASpodcastLEFT OUTER JOINlibraryItemsASlibraryItemONpodcast.id=libraryItem.mediaIdANDlibraryItem.mediaType= 'podcast' WHEREpodcast.autoDownloadEpisodes= 1 ANDpodcast.autoDownloadScheduleIS NOT NULL;2024-07-30 08:00:04.230
DEBUG
[CronManager] Found 1 podcast episode schedules to start
2024-07-30 08:00:04.230
DEBUG
[CronManager] Scheduling podcast episode check cron "0 * * * *" for 7 item(s)
2024-07-30 08:00:04.232
INFO
[Watcher] Initializing watcher for "AudioBooks".
2024-07-30 08:00:04.233
DEBUG
[Watcher] Init watcher for library folder path "/audiobooks"
2024-07-30 08:00:04.235
INFO
[Watcher] Initializing watcher for "Podcasts".
2024-07-30 08:00:04.236
DEBUG
[Watcher] Init watcher for library folder path "/podcasts"
2024-07-30 08:00:04.254
INFO
Listening on port :80
2024-07-30 08:00:04.710
INFO
[SocketAuthority] Socket Connected uqSXZM_18kCw10rzAAAB
2024-07-30 08:00:04.741
DEBUG
Running the following query: Executing (default): SELECT
user.*,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROM (SELECTuser.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAtFROMusersASuserWHERE (user.id= 'root' ORuser.extraDataLIKE '%root%') LIMIT 1) ASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userId;2024-07-30 08:00:07.566
DEBUG
[SocketAuthority] User Online jeffreyswiggins
2024-07-30 08:00:07.589
DEBUG
Running the following query: Executing (default): UPDATE
usersSETid=$1,username=$2,email=$3,pash=$4,type=$5,token=$6,isActive=$7,lastSeen=$8,extraData=$9,createdAt=$10,permissions=$11,bookmarks=$12,updatedAt=$13 WHEREid= $142024-07-30 08:00:07.996
INFO
[Watcher] "Podcasts" Ready
2024-07-30 08:00:10.361
INFO
[Watcher] "AudioBooks" Ready
2024-07-30 08:05:51.442
DEBUG
[SocketAuthority] User Offline jeffreyswiggins
2024-07-30 08:05:51.443
INFO
[SocketAuthority] Socket uqSXZM_18kCw10rzAAAB disconnected from client "jeffreyswiggins" after 346733ms (Reason: transport close)
2024-07-30 08:05:51.864
DEBUG
Running the following query: Executing (default): SELECT
user.*,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROM (SELECTuser.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAtFROMusersASuserWHERE (user.id= 'root' ORuser.extraDataLIKE '%root%') LIMIT 1) ASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userId;2024-07-30 08:05:51.892
DEBUG
Running the following query: Executing (default): SELECT
id,displayOrderFROMlibrariesASlibraryORDER BYlibrary.displayOrderASC;2024-07-30 08:05:52.017
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.035
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.043
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.053
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.067
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.076
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.088
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.093
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.098
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.110
INFO
[SocketAuthority] Socket Connected QSA6tgaPYTpWFQQTAAAD
2024-07-30 08:05:52.118
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.124
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.165
DEBUG
Running the following query: Executing (default): SELECT
user.*,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROM (SELECTuser.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAtFROMusersASuserWHERE (user.id= 'root' ORuser.extraDataLIKE '%root%') LIMIT 1) ASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userId;2024-07-30 08:05:52.202
DEBUG
[ApiCacheManager] count: 0 size: 0
2024-07-30 08:05:52.206
DEBUG
Running the following query: Executing (default): SELECT
library.id,library.name,library.displayOrder,library.icon,library.mediaType,library.provider,library.lastScan,library.lastScanVersion,library.settings,library.extraData,library.createdAt,library.updatedAt,libraryFolders.idASlibraryFolders.id,libraryFolders.pathASlibraryFolders.path,libraryFolders.createdAtASlibraryFolders.createdAt,libraryFolders.updatedAtASlibraryFolders.updatedAt,libraryFolders.libraryIdASlibraryFolders.libraryIdFROMlibrariesASlibraryLEFT OUTER JOINlibraryFoldersASlibraryFoldersONlibrary.id=libraryFolders.libraryIdORDER BYlibrary.displayOrderASC;2024-07-30 08:05:52.246
DEBUG
[SocketAuthority] User Online jeffreyswiggins
2024-07-30 08:05:52.250
DEBUG
Running the following query: Executing (default): UPDATE
usersSETid=$1,username=$2,email=$3,pash=$4,type=$5,token=$6,isActive=$7,lastSeen=$8,extraData=$9,createdAt=$10,permissions=$11,bookmarks=$12,updatedAt=$13 WHEREid= $142024-07-30 08:05:52.274
DEBUG
[ApiCacheManager] Cache miss: {"user":"jeffreyswiggins","url":"/libraries"}
2024-07-30 08:05:52.339
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:52.365
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:53.964
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:05:55.278
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:06:26.303
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:07:56.098
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:08:17.996
DEBUG
Set Log Level to DEBUG
2024-07-30 08:08:18.001
DEBUG
Running the following query: Executing (default): INSERT INTO
settings(key,value,createdAt,updatedAt) VALUES ($1,$2,$3,$4) ON CONFLICT (key) DO UPDATE SETkey=EXCLUDED.key,value=EXCLUDED.value,updatedAt=EXCLUDED.updatedAt;2024-07-30 08:08:18.010
DEBUG
[ApiCacheManager] Array.afterUpsert: Clearing cache
2024-07-30 08:09:01.721
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:09:01.728
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:09:01.735
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:09:02.365
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:09:06.685
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:09:06.747
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:09:06.877
DEBUG
[SocketAuthority] User Offline jeffreyswiggins
2024-07-30 08:09:06.878
INFO
[SocketAuthority] Socket QSA6tgaPYTpWFQQTAAAD disconnected from client "jeffreyswiggins" after 194767ms (Reason: transport close)
2024-07-30 08:09:07.102
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:09:07.128
DEBUG
Running the following query: Executing (default): SELECT
id,displayOrderFROMlibrariesASlibraryORDER BYlibrary.displayOrderASC;2024-07-30 08:09:07.234
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:09:07.242
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:09:07.251
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:09:07.306
INFO
[SocketAuthority] Socket Connected OR6QvxD3dC9Sr1E5AAAF
2024-07-30 08:09:07.308
DEBUG
[ApiCacheManager] count: 0 size: 0
2024-07-30 08:09:07.310
DEBUG
Running the following query: Executing (default): SELECT
library.id,library.name,library.displayOrder,library.icon,library.mediaType,library.provider,library.lastScan,library.lastScanVersion,library.settings,library.extraData,library.createdAt,library.updatedAt,libraryFolders.idASlibraryFolders.id,libraryFolders.pathASlibraryFolders.path,libraryFolders.createdAtASlibraryFolders.createdAt,libraryFolders.updatedAtASlibraryFolders.updatedAt,libraryFolders.libraryIdASlibraryFolders.libraryIdFROMlibrariesASlibraryLEFT OUTER JOINlibraryFoldersASlibraryFoldersONlibrary.id=libraryFolders.libraryIdORDER BYlibrary.displayOrderASC;2024-07-30 08:09:07.315
DEBUG
[ApiCacheManager] Cache miss: {"user":"jeffreyswiggins","url":"/libraries"}
2024-07-30 08:09:07.338
DEBUG
Running the following query: Executing (default): SELECT
user.*,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROM (SELECTuser.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAtFROMusersASuserWHERE (user.id= 'root' ORuser.extraDataLIKE '%root%') LIMIT 1) ASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userId;2024-07-30 08:09:07.358
DEBUG
[SocketAuthority] User Online jeffreyswiggins
2024-07-30 08:09:07.362
DEBUG
Running the following query: Executing (default): UPDATE
usersSETid=$1,username=$2,email=$3,pash=$4,type=$5,token=$6,isActive=$7,lastSeen=$8,extraData=$9,createdAt=$10,permissions=$11,bookmarks=$12,updatedAt=$13 WHEREid= $142024-07-30 08:09:08.986
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:10:19.037
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:10:19.091
DEBUG
[SocketAuthority] User Offline jeffreyswiggins
2024-07-30 08:10:19.092
INFO
[SocketAuthority] Socket OR6QvxD3dC9Sr1E5AAAF disconnected from client "jeffreyswiggins" after 71786ms (Reason: transport close)
2024-07-30 08:10:19.284
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:10:19.303
DEBUG
Running the following query: Executing (default): SELECT
id,displayOrderFROMlibrariesASlibraryORDER BYlibrary.displayOrderASC;2024-07-30 08:10:19.417
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:10:19.426
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:10:19.434
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';2024-07-30 08:10:21.276
DEBUG
Running the following query: Executing (default): SELECT
user.id,user.username,user.email,user.pash,user.type,user.token,user.isActive,user.isLocked,user.lastSeen,user.permissions,user.bookmarks,user.extraData,user.createdAt,user.updatedAt,mediaProgresses.idASmediaProgresses.id,mediaProgresses.mediaItemIdASmediaProgresses.mediaItemId,mediaProgresses.mediaItemTypeASmediaProgresses.mediaItemType,mediaProgresses.durationASmediaProgresses.duration,mediaProgresses.currentTimeASmediaProgresses.currentTime,mediaProgresses.isFinishedASmediaProgresses.isFinished,mediaProgresses.hideFromContinueListeningASmediaProgresses.hideFromContinueListening,mediaProgresses.ebookLocationASmediaProgresses.ebookLocation,mediaProgresses.ebookProgressASmediaProgresses.ebookProgress,mediaProgresses.finishedAtASmediaProgresses.finishedAt,mediaProgresses.extraDataASmediaProgresses.extraData,mediaProgresses.createdAtASmediaProgresses.createdAt,mediaProgresses.updatedAtASmediaProgresses.updatedAt,mediaProgresses.userIdASmediaProgresses.userIdFROMusersASuserLEFT OUTER JOINmediaProgressesASmediaProgressesONuser.id=mediaProgresses.userIdWHEREuser.id= 'ba1e8d4a-c4a3-412e-95e9-a5cc742754df';@mikiher commented on GitHub (Jul 30, 2024):
OK, good, that's progress - we now have the query which Sequelize fails to parse its results.
Are you familiar with how to run queries directly against an sqlite db?
If you are, I'd like you to run the following query against the Audiobookshelf database (which you can find in ${USERDIR}/media/audiobookshelf/config/absdatabase.sqlite) :
and paste the results here.
If you're not familiar, let me know, and I'll explain how to achieve that.
@jeffreyswiggins commented on GitHub (Jul 30, 2024):
i have been a lot of things but never a good (or even a fair DBA) and I have mucked a database up before, so I will ask for the instructions. I am running a Linux Ubuntu 24.04 as my docker container host that is about as up to date as it can be as I patch it weekly via ansible scripting and this is the server where this container resides. Appreciate you guys helping me figure out the problem.
@jeffreyswiggins commented on GitHub (Jul 31, 2024):
Okay I went and just used my old standby DB Browser for SQLite. This was the results:
Execution finished without errors.
Result: 209 rows returned in 354ms
At line 1:
SELECT podcasts.id,
podcasts.title,
podcasts.tags,
podcasts.genres,
podcastepisodes.id AS epidodeId,
podcastepisodes.title AS episodeTitle,
podcastepisodes.audiofile,
podcastepisodes.chapters,
podcastepisodes.extradata
FROM podcasts
LEFT OUTER JOIN podcastepisodes
ON podcasts.id = podcastepisodes.podcastid
WHERE podcasts.id = '08101be9-9416-437b-8f36-ab65d2d4630b';
The podcast is Money For the Rest of Us that is returning for this query
@mikiher commented on GitHub (Jul 31, 2024):
Can you export all the rows (into a csv, spreadsheet, or whatever file format) and attach them here?
@jeffreyswiggins commented on GitHub (Jul 31, 2024):
audiobookshelf.export.csv
@jeffreyswiggins commented on GitHub (Jul 31, 2024):
is that CSV file i uploaded what you needed?
@mikiher commented on GitHub (Jul 31, 2024):
OK, thanks for uploading the export.
I wanted to update that I found the culprit of the crash.
In Row 27, which represets episode number 465, titled
Transforming Financial Regrets into Portfolio Gains: Five Strategies for Navigating Investment Emotions, the audioFile column (which is a JSON column) is corrupt and holds an invalid JSON record.The invalid piece looks like this:
You can see the value of
trackNumFromMeta,:54:10 -0000"looks like the ending of a date, and doesn't have the required opening doublequotes. When you examine it against other records it looks like there's a big missing chunk in the invalid record.So this record is obviously corrupt (I cannot say at this point why it is corrupt), and is causing the crash.
What is even weirder is that there is another record (row 57) with the same file and the same title which is not corrupt. Moreover, there seem to be many such near-duplicate records - again, I'm not sure at this point why.
My recommendation at this point would be to:
/podcasts/Money For the Rest of Us/directory.Money For the Rest of Usfrom your library and file system (checkDelete from file systemwhen deleting). This will (hopefully) delete all corrupt and duplicate episode records from the database.a. (recommended) Go to the
Addpage, search for the podcast, add it, and download any episodes you want to restore.b. If you have watcher enabed for the Podcasts library, copy back the backed-up folder to /podacsts and let the watcher add the episodes back
c. If watcher is disabled for your library, copy back the backed-up folder to /podacsts and run a manual scan.
I will try to dig a bit more to find the root cause of the corruption, but it's possible that there's not enough forensic evidence left to really understand what happened (this smells like a race-condition writing into the database).
@advplyr commented on GitHub (Jul 31, 2024):
This shouldn't be able to happen from Abs making multiple writes at the same time unless sqlite had a file locking issue. That would be my first guess although I only know of that happening with network file systems.
https://www.sqlite.org/howtocorrupt.html
@jeffreyswiggins commented on GitHub (Jul 31, 2024):
Okay... so trying to do anything with that podcast in the "app" results with app seeming to just drop connection and I have to refresh back to another page. Deleting it fails. Editing it it fails. Rescanning fails...
I decided to go with "Option D" and deleted the podcast files from the NAS folder and all for that podcast hoping it would let me then remove it. Same result. Got a SQL statement to just nuke it out of my database and I will think about adding it back and maybe just let it start adding new ones from today on cause it was a back log of 200+ episodes which I am not going to get to i do not think.
@mikiher commented on GitHub (Jul 31, 2024):
I believe just deleting them from the filesystem will likely not repair the database, because of all those duplicate records that are kind of "half-zombies". I think you must do step 2 above in order to repair the database.
@mikiher commented on GitHub (Jul 31, 2024):
It is also possible that the issue is not in sqlite but in Sequelize - I mean, I think it is Sequelize that takes a Javascript object and transforms it into JSON before making the insertion query into sqlite, right? Perhaps something goes wrong there.
@advplyr commented on GitHub (Jul 31, 2024):
I don't think Step 2 will work since that record of the DB will be read in the middleware step of the delete API call.
I think in these cases it is best to use a backup since we don't know what other data could be corrupted.
@mikiher commented on GitHub (Jul 31, 2024):
The quesion is - a backup from when? it is quite possible that the problem exists in all previous backups, especially if they are cleaned after 3 days as is the default.
Can you please try steps 1 and 2 anyway? Let me know if the server crashes on step 2 and we'll take it from there.
@jeffreyswiggins commented on GitHub (Jul 31, 2024):
So option 1 and 2 are really not able to be completed. I will attached a video showing how it reacts whenever you interact with that podcast right now. I had deleted the entire folder from the NAS that had the files for this podcast (json and podcast files) hoping that would help and it made no difference as I still got this same result in the web app of the "socket disconnect" if you try to interact with the podcast and no ability to delete the podcast. I then "restored" the folder back and tried and got the same results still.
Like I said previously, I would go for "option D" and just use a "SQL DELETE statement" to remove it completed from the database itself if I knew how to do that without harming other things. I will attach the video. I am thinking at this point maybe better to look at just "backing up my settings" via screenshots and then stopping the container, renaming it just to not delete it yet, and then restart "fresh and new" and add my podcasts and audiobooks back in again "like new" with scanning the Audiobooks and "adding and rescanning " the podcasts as it can and just NOT add the troublesome one
https://github.com/user-attachments/assets/a2bcd02f-82f2-4a94-9de1-3b584401d6ad
This does NOT generate a crash in the log. It simply creates a socket disconnect and then logs shows socket connected:
2024-07-31 13:49:06.585 INFO [SocketAuthority] Socket Connected TTYetxvu_9GlUfDpAAAD
@mikiher commented on GitHub (Jul 31, 2024):
The socket disconnect is indicative of a server crash.
Please wait with re-scanning everything.
I will provide you with the option D you requested, just want to test it on my server before I provide it.
@mikiher commented on GitHub (Jul 31, 2024):
So please try the following:
DELETE FROM podcastepisodes WHERE podcastId = '08101be9-9416-437b-8f36-ab65d2d4630b';@advplyr commented on GitHub (Jul 31, 2024):
So far nothing points to this being related to a specific podcast other than the corruption happened to affect that one. Also if you add that podcast back and it gets corrupted again that would be useful to know.
Since this corruption could be filesystem specific I would recommend updating the backups settings to keep at least a weeks worth of backups.
@mikiher commented on GitHub (Jul 31, 2024):
Yes, I agree with @advplyr. I don't think there's anything special or wrong about this podcast.
In fact, I tried adding that specific podcast and specific episode on my server, and it was added successfully.
@jeffreyswiggins commented on GitHub (Jul 31, 2024):
All the comments make sense. I have the app make backups. I use Kopia as a Container backup solution to take snapshot backups to a secondary NAS I have and in this case I have tested restoring back a few times and get the same results before I contacted and opened this ticket. I will increase the amount of backups form the app and I also noticed this and 2 other Kopia snapshot backups were not keeping long term backups like at 1 month, 3 months, 6 months, yearly, etc. and I have amended that so this should be covered for the future.
I will attempt the DELETE SQL statement you have provided and then Step 2 as well and see how this goes. Again thanks for all the help!
@advplyr commented on GitHub (Jul 31, 2024):
I don't know anything about Kopia but something to note is making a backup while transactions are happening can result in corrupted backups. Abs uses the built-in sqlite backup API to make backups.
@jeffreyswiggins commented on GitHub (Jul 31, 2024):
Ran: DELETE FROM podcastepisodes WHERE podcastId = '08101be9-9416-437b-8f36-ab65d2d4630b';
Results:
Execution finished with errors.
Result: database disk image is malformed
At line 1:
DELETE FROM podcastepisodes WHERE podcastId = '08101be9-9416-437b-8f36-ab65d2d4630b';
@jeffreyswiggins commented on GitHub (Jul 31, 2024):
It creates "snapshot" backups so it is a similar technique to how Virtual Machines get backed up in that a snapshot taken and it backs up that snapshot instead of having to stop the container, backup it up, and them restart it. I use it on many containers with very active databases such as my Lidarr container which has 2115 Artists, 2599702 tracks, and 6.3 TB of Lossless files it manages on that same NAS from this same Linux Docker Container server. I can simply point it to only backup the "backup files" from now one though if this is an issue and then that gives me a backups of the backups to restore from if that server is lost.
@mikiher commented on GitHub (Jul 31, 2024):
This very likely means that the database file is corrupted.
At this point, unless you have a good backup of the database, and unless @advplyr has any other suggesions, unfortunately my only suggestion would be to start from scratch...
When you do so:
Really sorry I couldn't help more.
@jeffreyswiggins commented on GitHub (Aug 1, 2024):
You guys have been fantastic and a great help trying to fix this. When I saw the malformed I started taking screenshots of the setting screens just to make sure I had it to start fresh cause I was pretty sure I would be starting over.
It's a single user instance, me, I dump most of the audiobooks out after I listen to them to a long term storage folder if I really like them or just delete them, so honestly starting over I lose "historical stats" and that is about it... and setup time which is less than an hour.
It's a mounted network location so I will make sure watcher is off and just let it scan periodically. I also do not add much, like a couple books a month and IT does the podcast adds so I would assume when it adds it that it does a form "sync" to itself enough like a scan.
I will stop the container and copy it to a .old for a few days and if something comes to mind I could spin it up (one off) and try it, but seems best to just "start fresh"!
I love this app so kind of look forward to setting it back up!
@jeffreyswiggins commented on GitHub (Aug 1, 2024):
new instance stood up and got all the books added and the podcasts sync"d.... everything is "golden" now. Guessing it was just very jacked up. Did setup the DB to created like 25 back up instances cause have space on that server so should get better recovery if it happens again.