- From: Sean Owen <srowen@google.com>
- Date: Wed, 9 Apr 2008 23:37:43 -0400
- To: "Guido García Bernardo" <ggarciab@itdeusto.com>
- Cc: "public-mobileok-checker@w3.org" <public-mobileok-checker@w3.org>
This GIF: http://www.latavolacalda.co.uk/_blnk.gif ... is indeed corrupt, but I think the ImageIO.read() method should react differently. I filed a bug with Sun. In the meantime we just catch for IndexOutOfBoundsException as a workaround. On Tue, Apr 8, 2008 at 12:03 PM, Guido García Bernardo <ggarciab@itdeusto.com> wrote: > > Hi, > > I've found a website that causes mobileOk to crash. > > The website is http://www.latavolacalda.co.uk/ (it is the last word in web > design) and mobileOk throws the exception below. It could be caused by a > transparent GIF image with a wrong format. > Capturing the IndexOutOfBoundsException in the > HTTPImageResource.checkTransparency method is a solution, despite I don't > like to catch RuntimeExceptions, so any other idea is welcomed. > > Exception in thread "main" org.w3c.mwi.mobileok.basic.TestException: > java.util.concurrent.ExecutionException: > java.lang.reflect.InvocationTargetException > at > org.w3c.mwi.mobileok.basic.Preprocessor.extractResourcesAsynchronously(Preprocessor.java:253) > at > org.w3c.mwi.mobileok.basic.Preprocessor.preprocess(Preprocessor.java:124) > at > org.w3c.mwi.mobileok.basic.Tester.getPreprocessorResults(Tester.java:90) > at org.w3c.mwi.mobileok.basic.Tester.main(Tester.java:202) > Caused by: java.util.concurrent.ExecutionException: > java.lang.reflect.InvocationTargetException > at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source) > at java.util.concurrent.FutureTask.get(Unknown Source) > at > org.w3c.mwi.mobileok.basic.Preprocessor.extractResourcesAsynchronously(Preprocessor.java:248) > ... 3 more > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown > Source) > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown > Source) > at java.lang.reflect.Constructor.newInstance(Unknown Source) > at > org.w3c.mwi.mobileok.basic.Preprocessor$2.call(Preprocessor.java:233) > at org.w3c.mwi.mobileok.basic.Preprocessor$2.call(Preprocessor.java:1) > 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) > Caused by: java.lang.IndexOutOfBoundsException: off < 0 || len < 0 || > off+len > b.length || off+len < 0! > at javax.imageio.stream.MemoryCacheImageInputStream.read(Unknown > Source) > at com.sun.imageio.plugins.gif.GIFImageReader.getCode(Unknown Source) > at com.sun.imageio.plugins.gif.GIFImageReader.read(Unknown Source) > at javax.imageio.ImageIO.read(Unknown Source) > at javax.imageio.ImageIO.read(Unknown Source) > at > org.w3c.mwi.mobileok.basic.HTTPImageResource.checkTransparency(HTTPImageResource.java:149) > at > org.w3c.mwi.mobileok.basic.HTTPImageResource.checkGIFValidity(HTTPImageResource.java:139) > at > org.w3c.mwi.mobileok.basic.HTTPImageResource.<init>(HTTPImageResource.java:53) > ... 11 more > > Thank you ! > guido. >
Received on Thursday, 10 April 2008 03:38:46 UTC