I noticed after 20+ times reindexing, some of the missing tracks appear or re-appear. So it does seem to be some problem with the indexing. I think the metadata should be fine, though -- the tracks look and play okay in both iTunes and Mediamonkey.
This might be the cause, from subsonic_sh.log. The machine has 1GB RAM, which I would think should be enough, although maybe this is a JVM specific issue:
- Code: Select all
50905303 [btpool0-64] INFO org.apache.http.impl.client.DefaultHttpClient - Retrying request
Exception in thread "Search Index Generator" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:3209)
at java.lang.String.<init>(String.java:215)
at java.lang.StringBuffer.toString(StringBuffer.java:585)
at java.io.BufferedReader.readLine(BufferedReader.java:334)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at net.sourceforge.subsonic.service.SearchService.getIndex(SearchService.java:545)
at net.sourceforge.subsonic.service.SearchService.doCreateIndex(SearchService.java:151)
at net.sourceforge.subsonic.service.SearchService.access$000(SearchService.java:60)
at net.sourceforge.subsonic.service.SearchService$1.run(SearchService.java:113)
There are also some suspicious errors in subsonic.log, e.g.:
- Code: Select all
[2011-06-06 03:14:18,843] WARN JaudiotaggerParser - Error when parsing tags in [path to file.m4a]
org.jaudiotagger.audio.exceptions.CannotReadException: [path to file.m4a]:Index: 2, Size: 2
at org.jaudiotagger.audio.generic.AudioFileReader.read(AudioFileReader.java:117)
at org.jaudiotagger.audio.AudioFileIO.readFile(AudioFileIO.java:285)
at org.jaudiotagger.audio.AudioFileIO.read(AudioFileIO.java:148)
at net.sourceforge.subsonic.service.metadata.JaudiotaggerParser.getRawMetaData(JaudiotaggerParser.java:71)
at net.sourceforge.subsonic.service.metadata.MetaDataParser.getMetaData(MetaDataParser.java:43)
at net.sourceforge.subsonic.domain.MusicFile.getMetaData(MusicFile.java:242)
at net.sourceforge.subsonic.service.SearchService$Line.forFile(SearchService.java:717)
at net.sourceforge.subsonic.service.SearchService$Scanner.visit(SearchService.java:813)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:348)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:355)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:355)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:355)
at net.sourceforge.subsonic.service.SearchService.doCreateIndex(SearchService.java:139)
at net.sourceforge.subsonic.service.SearchService.access$000(SearchService.java:60)
at net.sourceforge.subsonic.service.SearchService$1.run(SearchService.java:113)
Caused by: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at org.jaudiotagger.tag.mp4.field.Mp4TrackField.build(Mp4TrackField.java:143)
at org.jaudiotagger.tag.mp4.Mp4TagField.<init>(Mp4TagField.java:86)
at org.jaudiotagger.tag.mp4.field.Mp4TagTextField.<init>(Mp4TagTextField.java:65)
at org.jaudiotagger.tag.mp4.field.Mp4TagTextNumberField.<init>(Mp4TagTextNumberField.java:57)
at org.jaudiotagger.tag.mp4.field.Mp4TrackField.<init>(Mp4TrackField.java:127)
at org.jaudiotagger.audio.mp4.Mp4TagReader.createMp4Field(Mp4TagReader.java:216)
at org.jaudiotagger.audio.mp4.Mp4TagReader.read(Mp4TagReader.java:161)
at org.jaudiotagger.audio.mp4.Mp4FileReader.getTag(Mp4FileReader.java:46)
at org.jaudiotagger.audio.generic.AudioFileReader.read(AudioFileReader.java:106)
... 14 more
Another one:
- Code: Select all
[2011-06-06 03:12:14,634] WARN JaudiotaggerParser - Error when parsing tags in [path to file.ogg]
org.jaudiotagger.audio.exceptions.CannotReadException: [path to file.ogg]:/ by zero
at org.jaudiotagger.audio.generic.AudioFileReader.read(AudioFileReader.java:117)
at org.jaudiotagger.audio.AudioFileIO.readFile(AudioFileIO.java:285)
at org.jaudiotagger.audio.AudioFileIO.read(AudioFileIO.java:148)
at net.sourceforge.subsonic.service.metadata.JaudiotaggerParser.getRawMetaData(JaudiotaggerParser.java:71)
at net.sourceforge.subsonic.service.metadata.MetaDataParser.getMetaData(MetaDataParser.java:43)
at net.sourceforge.subsonic.domain.MusicFile.getMetaData(MusicFile.java:242)
at net.sourceforge.subsonic.service.SearchService$Line.forFile(SearchService.java:717)
at net.sourceforge.subsonic.service.SearchService$Scanner.visit(SearchService.java:813)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:348)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:355)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:355)
at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:355)
at net.sourceforge.subsonic.service.SearchService.doCreateIndex(SearchService.java:139)
at net.sourceforge.subsonic.service.SearchService.access$000(SearchService.java:60)
at net.sourceforge.subsonic.service.SearchService$1.run(SearchService.java:113)
Caused by: java.lang.ArithmeticException: / by zero
at org.jaudiotagger.audio.ogg.util.OggInfoReader.computeBitrate(OggInfoReader.java:132)
at org.jaudiotagger.audio.ogg.util.OggInfoReader.read(OggInfoReader.java:123)
at org.jaudiotagger.audio.ogg.OggFileReader.getEncodingInfo(OggFileReader.java:62)
at org.jaudiotagger.audio.generic.AudioFileReader.read(AudioFileReader.java:104)
... 14 more