Uploaded image for project: 'XMLGraphicsCommons'
  1. XMLGraphicsCommons
  2. XGC-98

UndeclaredThrowableException while loading images

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5, 2.0.1
    • Fix Version/s: 2.3
    • Component/s: None
    • Labels:
      None

      Description

      UndeclaredThrowableException is thrown if an image cannot be loaded for some reason.

      Caused by: java.lang.reflect.UndeclaredThrowableException
              at com.sun.proxy.$Proxy313.readUnsignedInt(Unknown Source)
              at org.apache.xmlgraphics.image.loader.impl.PreloaderEPS.preloadImage(PreloaderEPS.java:65) [xmlgraphics-commons-1.5.jar:1.5]
              at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:175) [xmlgraphics-commons-1.5.jar:1.5]
              at org.apache.xmlgraphics.image.loader.cache.ImageCache.needImageInfo(ImageCache.java:128) [xmlgraphics-commons-1.5.jar:1.5]
              at org.apache.xmlgraphics.image.loader.ImageManager.getImageInfo(ImageManager.java:122) [xmlgraphics-commons-1.5.jar:1.5]
              at org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:81) [fop-1.1.jar:]
              at org.apache.fop.fo.FObj.processNode(FObj.java:124) [fop-1.1.jar:]
              at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:280) [fop-1.1.jar:]
              at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:175) [fop-1.1.jar:]
      ...
      Caused by: java.lang.reflect.InvocationTargetException
              at sun.reflect.GeneratedMethodAccessor2609.invoke(Unknown Source) [:1.8.0_25]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_25]
              at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0_25]
              at org.apache.xmlgraphics.image.loader.impl.AbstractImageSessionContext$ObservingImageInputStreamInvocationHandler.invoke(AbstractImageSessionContext.java:219) [
      xmlgraphics-commons-1.5.jar:1.5]
              ... 254 more
      Caused by: java.io.EOFException
              at javax.imageio.stream.ImageInputStreamImpl.readInt(ImageInputStreamImpl.java:251) [rt.jar:1.8.0_25]
              at javax.imageio.stream.ImageInputStreamImpl.readUnsignedInt(ImageInputStreamImpl.java:266) [rt.jar:1.8.0_25]
              ... 258 more
      

      The problem being that InvocationHandlers in the classes AbstractImageSessionContext and ObservableStream do not handle InvocationTargetException properly, and the exception is propagated up to the proxied interface where InvocationTargetException is not specified.

      I am not sure if you accept pull requests on Github, anyway here it is https://github.com/apache/xml-graphics-commons/pull/1

        Attachments

        1. InvocationTargetException.patch
          2 kB
          Simon Steiner

          Issue Links

            Activity

              People

              • Assignee:
                ssteiner Simon Steiner
                Reporter:
                pref Vlad Arkhipov
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: