mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
Bug: Scanner Adds Duplicates of First Track to Track List #32
Closed
opened 2026-04-24 22:56:50 +02:00 by adam
·
11 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
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#32
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 @Budlyte on GitHub (Sep 22, 2021).
Some of the books are saying "Duplicate Track" but it turns out to be the first track was added multiple times to the track list.
When I tested fixing this one by removing the year and rescanning, another one popped up with the issue. Removing the year didn't fix it.
@Budlyte commented on GitHub (Sep 22, 2021):
Looking at more of them, it appears to be adding that first track a number of times equal to the total number of tracks.
@advplyr commented on GitHub (Sep 22, 2021):
The scanner uses the OS internal id for files and folders so if they are renamed it doesn't lose track.
Are you running the docker image on Unraid?
Is this happening to any other audiobooks?
@Budlyte commented on GitHub (Sep 22, 2021):
Yes, on Unraid.
It happened to about 10. Rescanning this time didn't add any more, so maybe that one that added before had just been lying in wait.
@advplyr commented on GitHub (Sep 22, 2021):
I'm still not clear on what is happening.
If you delete the audiobook from Audiobookshelf and re-scan, is it adding the correct tracks?
When you rename a file in the audiobook folder it is duplicating the tracks?
@Budlyte commented on GitHub (Sep 22, 2021):
I haven't tried deleting & re-adding, I'll give that a go this evening.
I did rename the problem files & rescanned, and the problem came back with those same files.
Your comment about the system using the OS's file IDs and the problem repeatedly being with the files sounds like the issue may be in my OS. Though I have seen weird folders popping up in my library recently, possibly these are softlinks or something getting brought in?
I'll test more tonight.
@advplyr commented on GitHub (Sep 22, 2021):
I could definitely see issues if your files are soft links. Thanks for looking into it.
@Budlyte commented on GitHub (Sep 22, 2021):
I started up another container, audiobookshelf_test, to test it out. I was able to reproduce it with a couple and then of course when I went to get screenshots to help document it, I'm no longer able to reproduce it....
So when I was able to reproduce it, I noticed it is happening with books that are missing tracks. It happened after I went through Manage tracks and updated the track order, basically to ignore that track 1 is missing, and rescanned. Then sometimes that book now has track 2 duplicated in its list as many times as their are tracks.
I thought maybe it was softlinks because of the way the buttons are acting to uncheck tracks, but I cannot find anywhere in the entire library where duplicate tracks exist.
Here's what the buttons do on those duplicate tracks when it happens though. Click a red one makes others change state.

And now my test library actually has fewer errors in it than the original... LOL I guess I'm swapping the container names and path mappings!
@advplyr commented on GitHub (Sep 22, 2021):
When toggling a track to not include it should move to the top of the list. Even if they all have the same track number, it should still move to the top of the list, so that is strange.
Can you look in the developer console for errors? Ctrl+shift+i
@Budlyte commented on GitHub (Sep 22, 2021):
Oh neat! Here it is.
https://drive.google.com/file/d/1rMtAvFOHVtVkubed5Cp0Xl5ArGJWiv5z/view?usp=sharing
@advplyr commented on GitHub (Sep 24, 2021):
I'm still lost on this one.
It seems like your files are being issued a new inode value, which is causing the scanner to think it is a new file.
I added an extra check in the scanner to help see what is happening.
If an audio file has the same path as the audio file being scanned, but a different inode value, then it will show this warning:
Logger.warn("[Scanner] Audio file with path already exists with different inode, New: "${file.filename}" (${file.ino}) | Existing: ${audioFileWithMatchingPath.filename} (${audioFileWithMatchingPath.ino})")If you see this happen again on a scan, let me know if you see that warning in your log.
@advplyr commented on GitHub (Sep 27, 2021):
I came across an issue with the scanner not setting the inode for some files. This may have been the problem you had, but either way I added an extra step check in the scanner that should hopefully catch and resolve the issues you are having.
This is v1.2.5