SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Invalid 1x1 GIF coverart-images served by amazon

By the by, I got an error from your server trying to preview this code block.

31/07/2010 21.15.49:com.jthink.jaikoz.manipulate.ArtworkCache:getImageForAsin:SEVERE: IOException on reading image from amazon:The file http://images.amazon.com/images/P/B0010VJWIE.03LZZZZZZZ.jpg does not appear to be a valid image file, so
 it has been ignored
java.io.IOException: The file http://images.amazon.com/images/P/B0010VJWIE.03LZZ
ZZZZZ.jpg does not appear to be a valid image file, so it has been ignored
        at com.jthink.jaikoz.celldata.ImageData.<init>(ImageData.java:209)
        at com.jthink.jaikoz.manipulate.ArtworkCache.getImageForAsin(ArtworkCach
e.java:204)
        at com.jthink.jaikoz.manipulate.ArtworkCache.getImageForAsin(ArtworkCach
e.java:182)
        at com.jthink.jaikoz.manipulate.ArtworkCache.add(ArtworkCache.java:96)
        at com.jthink.jaikoz.manipulate.ArtworkCache.get(ArtworkCache.java:133)
        at com.jthink.jaikoz.manipulate.musicbrainzhelper.MusicBrainzUpdateSong.
updateReleaseCoverArt(MusicBrainzUpdateSong.java:195)
        at com.jthink.jaikoz.manipulate.musicbrainzhelper.MusicBrainzUpdateSong.
updateTagFromMusicBrainz(MusicBrainzUpdateSong.java:965)
        at com.jthink.jaikoz.manipulate.musicbrainzhelper.MusicBrainzRESTQuery.u
pdateFromOnlineDatabase(MusicBrainzRESTQuery.java:126)
        at com.jthink.jaikoz.manipulate.CorrectFromMusicBrainzWorkerThread.doAna
lyse(CorrectFromMusicBrainzWorkerThread.java:62)
        at com.jthink.jaikoz.manipulate.CorrectFromMusicBrainzWorkerThread.analy
se(CorrectFromMusicBrainzWorkerThread.java:103)
        at com.jthink.jaikoz.manipulate.AutoCorrecterSongBySongAnalyser$WorkerTh
read$AnalyseSong.call(AutoCorrecterSongBySongAnalyser.java:274)
        at com.jthink.jaikoz.manipulate.AutoCorrecterSongBySongAnalyser$WorkerTh
read$AnalyseSong.call(AutoCorrecterSongBySongAnalyser.java:252)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

The error here isn’t that amazon is serving a 1x1 gif for whatever reasons, the error is in my view that this should be detected so that you don’t go through all these other steps.

Though I don’t know why Amazon would serve such a gif, are you perhaps scraping their webpage instead of using their API?

The TOS of the webservice makes it impracticle to use, I am handling the 1x1 issue, so perhaps I shouldnt show stacktrace but theres no real overhead.