mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
[Bug]: Server crash during quick match #1755
Open
opened 2026-04-24 23:56:56 +02:00 by adam
·
14 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#1755
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 @mikiher on GitHub (Feb 23, 2024).
Originally assigned to: @mikiher on GitHub.
Describe the issue
This was reported in an audiobookshelf-windows issue.
Combined audiobookshelf-windows log (app + server): logfile.txt
Library scan logs from just before the crash:
Some log lines before the crash and the crash message itself (from logfile.txt):
Steps to reproduce the issue
I don't fully understand what happened here yet, so I'm not sure how to reproduce.
Audiobookshelf version
v2.7.2
How are you running audiobookshelf?
Windows Tray App
@advplyr commented on GitHub (Feb 23, 2024):
Usually issues like this are related to the sqlite db being stored on a network drive. The sqlite db has to be on a local drive.
@mikiher commented on GitHub (Feb 23, 2024):
The database is at "C:\Users\D-Admin\AppData\Local\Audiobookshelf\config\absdatabase.sqlite".
It's highly unlikely that this is a network drive.
@mikiher commented on GitHub (Feb 23, 2024):
I have not thouroughly checked the scan logs yet, but I have an intuition that this has to do with some addition->deletion->re-addition sequence.
@advplyr commented on GitHub (Feb 23, 2024):
These unique constraint errors are usually from race conditions
@mikiher commented on GitHub (Feb 24, 2024):
OK, I was able to reproduce it, and this one has nothing to do with race conditions, just a standard logic bug.
TLDR: The bug is caused by duplicate authors extracted from the quick match result.
I ran a quick match on a test book, using the same original title that was used in the original bug report for the quick match search on Google Books. The quick match result had the following author:
"Patricia Bragg, N.D., Ph.D., Paul C Bragg, N.D., PH.D."This is further split by
Scanner.quickMatchBookBuildUpdatePayloadinto a few authors:Patricia BraggN.D.Ph.D.Paul C BraggN.D.Ph.D.Then the following happens:
As you can see, the unique contraint error happens when we try to insert the BookAuthors table entry with the second instance of author
'N.D.'(and with same book), which we already added before.I'll take a stab at fixing this (by not adding duplicate entries).
There's also the separate issue of having Ph.D and other author titles separated from the author name by the simple comma-separation logic. I'll address that in a separate bug.
@advplyr commented on GitHub (Mar 17, 2024):
Fixed in v2.8.1
@bwalocha commented on GitHub (Dec 1, 2024):
The same issue appeares during Library Scan whet
metadata.nfocontains duplicated Author entry (Author: Author_001, Author_001), the latest docker image (v2.17.3):`General Information
ID: 123
Title: BookTitle
Author: Author_001, Author_001
Director:
Read By:
Series Name: Series
Position in Series: 1
Genre:
Tags:
Release Date: 2000
Publisher:
Language: English
Asin:
ISBN:
ISBN Pdf:
ISBN ePub:
ISBN Mobi:
Audiobook: No
Explicit: No
Abridged: No
Media Information
Source:
Media Types: pdf (1)
Number of Files: 1
Audio Length:
Cover Url:
Book Description
`
@mikiher commented on GitHub (Dec 1, 2024):
Thanks for reporting. I'll handle this.
@advplyr commented on GitHub (Dec 1, 2024):
I was testing that and when deleting the book the authors were not removed. I opened an issue for that and am working on it https://github.com/advplyr/audiobookshelf/issues/3668 (PR #3670)
@mikiher commented on GitHub (Dec 1, 2024):
Are you sure #3670 fixes the complaint above?
The issue seems to be a SequelizeUniqueConstraintError when metadata is read from an nfo file containing duplicate authors.
Have you checked this?
@advplyr commented on GitHub (Dec 1, 2024):
No it doesn't fix this issue. I meant to say that is the PR I opened to fix the issue in #3668. I thought it was relevant since there may be overlap in what you are working on but I wasn't clear in what I meant.
I deleted that and updated my original comment.
@mikiher commented on GitHub (Dec 1, 2024):
Got it, thanks. I'll use your changes when working on this.
@advplyr commented on GitHub (Dec 15, 2024):
@mikiher Are you still working on this?
@mikiher commented on GitHub (Dec 15, 2024):
Not recently. I think this is still an issue. Can you reopen and assign this to me?