Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Problem importing tags into the database #400

Closed
microniko opened this issue Mar 23, 2024 · 3 comments
Closed

[Bug]: Problem importing tags into the database #400

microniko opened this issue Mar 23, 2024 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@microniko
Copy link

What happened?

misrecognized ID3 tags of files FLAC.

Steps to reproduce

I've just added a music album in FLAC format. Airsonic has found the files and they are in the database. However, for files 1 to 9, the "title" field and the track number have not been transmitted to the database. The file name was put in the title field and there's nothing in the track number, even though this data exists in the ID3. Files 10 to 17 are OK.

Hypothesis: could this be due to the fact that the track numbers in the ID3 tag are of the form 01, 02, ... 09?

There is an error in the log related to permissions not being granted, but the rights are the same for all files :

ls -lha
total 362M
drwxrwx--- 1 nicolas 1005  824 23 mars  11:35  .
drwxrwx--- 1 nicolas 1005   92 22 mars  18:35  ..
-rwxrwx--- 1 nicolas 1005  25M 22 mars  18:34 '10 - BAD (Feat Omah Lay).flac'
-rwxrwx--- 1 nicolas 1005  21M 22 mars  18:34 '11 - DANS LA PEAU.flac'
-rwxrwx--- 1 nicolas 1005  20M 22 mars  18:34 '12 - NO LOVE (Feat Ayra Starr).flac'
-rwxrwx--- 1 nicolas 1005  19M 22 mars  18:34 '13 - EUROSTAR (Feat Central Cee).flac'
-rwxrwx--- 1 nicolas 1005  25M 22 mars  18:34 '14 - CHIRAQ.flac'
-rwxrwx--- 1 nicolas 1005  23M 22 mars  18:34 '15 - PLUS QU EUX.flac'
-rwxrwx--- 1 nicolas 1005  18M 22 mars  18:34 '16 - BON QU A CA.flac'
-rwxrwx--- 1 nicolas 1005  21M 22 mars  18:34 '17 - GRANDS ENSEMBLES.flac'
-rwxrwx--- 1 nicolas 1005  19M 22 mars  18:34 '1 - LA VIE DE JOHNNY.flac'
-rwxrwx--- 1 nicolas 1005  25M 22 mars  18:34 '2 - YO MOKO OYEBI.flac'
-rwxrwx--- 1 nicolas 1005  20M 22 mars  18:34 '3 - RICH PORTER.flac'
-rwxrwx--- 1 nicolas 1005  21M 22 mars  18:34 '4 - GOD BLESS.flac'
-rwxrwx--- 1 nicolas 1005  26M 22 mars  18:34 '5 - BLUE STORY (Feat Lil Baby).flac'
-rwxrwx--- 1 nicolas 1005  19M 22 mars  18:34 '6 - EDOUARD NAHUM.flac'
-rwxrwx--- 1 nicolas 1005  24M 22 mars  18:34 '7 - 25 G.flac'
-rwxrwx--- 1 nicolas 1005  19M 22 mars  18:34 '8 - RESPECT.flac'
-rwxrwx--- 1 nicolas 1005  24M 22 mars  18:34 '9 - BRANCHE SUR SNAP.flac'
-rw-r--r-- 1    1005 1001 145K 23 mars  11:35  cover.png

Version

11.1.x (Edge)

Version Detail

11.1.4-SNAPSHOT.20240313072841

Operating System

GNU/Linux Debian

Java Version

Apache Tomcat/9.0.80, java 17.0.9, Linux (295,6 MB / 339,0 MB)

Database

MariaDB 8.x

DB Detail

No response

Configuration paramter

JWTKey=xxx
SettingsChanged=xxx
IndexCreationInterval=1
IndexCreationHour=5
FastCacheEnabled=false
OrganizeByFolderStructure=true
ExcludePattern=
IgnoreSymLinks=false
PodcastUpdateInterval=24
PodcastEpisodeRetentionCount=-1
PodcastEpisodeDownloadCount=-1
PodcastFolder=/musique/podcasts
IndexString=A B C D E F G H I J K L M N O P Q R S T U V W X-Z(XYZ)
IgnoredArticles=The El La Los Las Le Les
Shortcuts=New Incoming Podcast
PlaylistFolder=/var/playlists
MusicFileTypes=mp3 ogg oga aac m4a m4b flac wav wma aif aiff ape mpc shn mka opus
VideoFileTypes=flv avi mpg mpeg mp4 m4v mkv mov wmv ogv divx m2ts webm
CoverArtFileTypes2=cover.jpg cover.png cover.gif folder.jpg jpg jpeg gif png
SortAlbumsByYear=true
GettingStartedEnabled=false
WelcomeTitle=XXX
WelcomeSubtitle=XX
WelcomeMessage2=Bienvenue 
LoginMessage=XX
Theme=coolandclean
LocaleLanguage=fr
LocaleCountry=
LocaleVariant=
DatabaseMysqlMaxlength=512
DatabaseConfigType=EMBED
DatabaseConfigEmbedDriver=org.mariadb.jdbc.Driver
DatabaseConfigEmbedPassword=XX
DatabaseConfigEmbedUrl=jdbc:mariadb://localhost:3306/db
DatabaseConfigEmbedUsername=username
DatabaseUsertableQuote=
server.use-forward-headers=native 
server.forward-headers-strategy=framework 
EncryptionKeyPassword=YY 
EncryptionKeySalt=XX 
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/db
spring.datasource.username=username
spring.datasource.password=zouk
spring.liquibase.parameters.mysqlVarcharLimit=512
spring.liquibase.parameters.defaultPodcastFolder=/musique/podcasts
UploadsFolder=%{['USER_MUSIC_FOLDERS'][0]}/Incoming
EnableCueIndexing=true
HideIndexedFiles=true

Proxy Server

No response

client detail

No response

language

French

Relevant log output

When the automatic scan :

2024-03-23 05:00:08.485  INFO --- o.a.p.s.MediaScannerService              : Scanned media library with 3501 entries.
2024-03-23 05:00:08.717  INFO --- o.a.p.s.m.JaudiotaggerParser             : Failed to find cover art tag in /zic/Ninho/NI/1 - LA VIE DE JOHNNY.flac

org.jaudiotagger.audio.exceptions.NoReadPermissionsException: Unable to read file do not have permission to read: /zic/Ninho/NI/1 - LA VIE DE JOHNNY.flac
	at org.jaudiotagger.audio.generic.AudioFileReader2.read(AudioFileReader2.java:51) ~[jaudiotagger-3.0.1.jar!/:na]
	at org.jaudiotagger.audio.AudioFileIO.readFile(AudioFileIO.java:356) ~[jaudiotagger-3.0.1.jar!/:na]
	at org.jaudiotagger.audio.AudioFileIO.read(AudioFileIO.java:192) ~[jaudiotagger-3.0.1.jar!/:na]
	at org.airsonic.player.service.metadata.JaudiotaggerParser.getArtwork(JaudiotaggerParser.java:217) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.metadata.JaudiotaggerParser.isImageAvailable(JaudiotaggerParser.java:209) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647) ~[na:na]
	at org.airsonic.player.service.MediaFileService.findTagCover(MediaFileService.java:1281) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaFileService.findCoverArt(MediaFileService.java:1257) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaFileService.updateMediaFileByFile(MediaFileService.java:986) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaFileService.createMediaFileByFile(MediaFileService.java:877) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaFileService.lambda$24(MediaFileService.java:747) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) ~[na:na]
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.helpComplete(ForkJoinPool.java:1223) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool.helpComplete(ForkJoinPool.java:1915) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:433) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:687) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:679) ~[na:na]
	at org.airsonic.player.service.MediaFileService.updateChildren(MediaFileService.java:759) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaFileService.getChildrenOf(MediaFileService.java:314) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaScannerService.lambda$23(MediaScannerService.java:360) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1375) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:436) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:670) ~[na:na]
	at org.airsonic.player.service.MediaScannerService.scanFile(MediaScannerService.java:387) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaScannerService.lambda$24(MediaScannerService.java:362) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[na:na]
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) ~[na:na]
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool.helpJoin(ForkJoinPool.java:1883) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:440) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:687) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765) ~[na:na]
	at org.airsonic.player.service.MediaScannerService.lambda$7(MediaScannerService.java:263) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1375) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:436) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:670) ~[na:na]
	at org.airsonic.player.service.MediaScannerService.doScanLibrary(MediaScannerService.java:268) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaScannerService.lambda$2(MediaScannerService.java:219) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[na:na]

2024-03-23 05:00:08.721  INFO --- o.a.p.s.m.JaudiotaggerParser             : Failed to find cover art tag in /zic/Ninho/NI/2 - YO MOKO OYEBI.flac

org.jaudiotagger.audio.exceptions.NoReadPermissionsException: Unable to read file do not have permission to read: /zic/Ninho/NI/2 - YO MOKO OYEBI.flac
	at org.jaudiotagger.audio.generic.AudioFileReader2.read(AudioFileReader2.java:51) ~[jaudiotagger-3.0.1.jar!/:na]
	at org.jaudiotagger.audio.AudioFileIO.readFile(AudioFileIO.java:356) ~[jaudiotagger-3.0.1.jar!/:na]
	at org.jaudiotagger.audio.AudioFileIO.read(AudioFileIO.java:192) ~[jaudiotagger-3.0.1.jar!/:na]
	at org.airsonic.player.service.metadata.JaudiotaggerParser.getArtwork(JaudiotaggerParser.java:217) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.metadata.JaudiotaggerParser.isImageAvailable(JaudiotaggerParser.java:209) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[na:na]
	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647) ~[na:na]
	at org.airsonic.player.service.MediaFileService.findTagCover(MediaFileService.java:1281) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaFileService.findCoverArt(MediaFileService.java:1257) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaFileService.updateMediaFileByFile(MediaFileService.java:986) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaFileService.createMediaFileByFile(MediaFileService.java:877) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaFileService.lambda$24(MediaFileService.java:747) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[na:na]
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) ~[na:na]
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.helpComplete(ForkJoinPool.java:1223) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool.helpComplete(ForkJoinPool.java:1915) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:433) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:687) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:679) ~[na:na]
	at org.airsonic.player.service.MediaFileService.updateChildren(MediaFileService.java:759) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaFileService.getChildrenOf(MediaFileService.java:314) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaScannerService.lambda$23(MediaScannerService.java:360) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1375) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:436) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:670) ~[na:na]
	at org.airsonic.player.service.MediaScannerService.scanFile(MediaScannerService.java:387) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaScannerService.lambda$24(MediaScannerService.java:362) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[na:na]
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) ~[na:na]
	at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool.helpJoin(ForkJoinPool.java:1883) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:440) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:687) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) ~[na:na]
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) ~[na:na]
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[na:na]
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765) ~[na:na]
	at org.airsonic.player.service.MediaScannerService.lambda$7(MediaScannerService.java:263) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1375) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:436) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:670) ~[na:na]
	at org.airsonic.player.service.MediaScannerService.doScanLibrary(MediaScannerService.java:268) ~[classes!/:11.1.4-SNAPSHOT]
	at org.airsonic.player.service.MediaScannerService.lambda$2(MediaScannerService.java:219) ~[classes!/:11.1.4-SNAPSHOT]
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[na:na]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[na:na]
@microniko microniko added the bug Something isn't working label Mar 23, 2024
@kagemomiji
Copy link
Owner

@microniko
I have tested on ID3 tags formatted as 01, 02, etc., and confirmed that the TrackNumber can be correctly imported without any issues.
You mentioned that the Title field is directly taking the filename. Could you please check if the ID3Tag also sets the Title in the format <TrackNumber> - <Title>?
It has indeed been confirmed that there is a bug where the Track Number is not removed if the ID3Tag’s Title field is set in the format of a single digit number followed by - <Title>.

@kagemomiji kagemomiji self-assigned this May 12, 2024
@kagemomiji kagemomiji added this to the 11.1.4 milestone May 12, 2024
@microniko
Copy link
Author

microniko commented May 15, 2024

Hello,
The ID3Tag doesn't set the Title in the format <TrackNumber> - <Title>.

I won't be able to test it anymore because I had a big problem in a table in the MySQL database (that could not be repair) and I had to restore an old backup before my bug report.
I then forced the scanning of the files (the files are stored separately) and Airsonic succeeded in integrating the album into the database.
Perhaps this was not a real bug ?

@kagemomiji
Copy link
Owner

@microniko
I could not reproduce the bug on our end, so let's consider it resolved for now.
If it recurs, please report it again.
Thank you!

@kagemomiji kagemomiji removed this from the 11.1.4 milestone May 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

No branches or pull requests

2 participants