HtmlUnit / htmlunit-android

HtmlUnit packaged for Android
Apache License 2.0
35 stars 7 forks source link

ClassNotFoundException for javax.imageio.ImageIO #3

Closed sengsational closed 1 year ago

sengsational commented 2 years ago

I have specified webClient.getOptions().setThrowExceptionOnScriptError(false); thus these exceptions are not preventing the application from running. But I thought I would report what I'm seeing, in case it would be beneficial to address.

Similar to https://github.com/HtmlUnit/htmlunit-android/issues/4

2022-03-14 17:11:25.895 29458-29590/com.sengsational.myapplication E/JavaScriptErrorListener: Error during JavaScript execution
    ======= EXCEPTION START ========
    Exception class=[java.lang.RuntimeException]
    com.gargoylesoftware.htmlunit.ScriptException: Exception invoking getClientHeight
        at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:980)
        ...
2022-03-14 17:11:25.896 29458-29590/com.sengsational.myapplication E/JavaScriptErrorListener:     at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:963)
        at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:582)
        ...
     Caused by: java.lang.RuntimeException: Exception invoking getClientHeight
        at net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:238)
        ...
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/imageio/ImageIO;
        at com.gargoylesoftware.htmlunit.html.HtmlImage.readImageIfNeeded(HtmlImage.java:702)
        ...
2022-03-14 17:11:25.896 29458-29590/com.sengsational.myapplication E/JavaScriptErrorListener:     at com.gargoylesoftware.htmlunit.javascript.host.css.ComputedCSSStyleDeclaration.getContentHeight(ComputedCSSStyleDeclaration.java:1394)
        at com.gargoylesoftware.htmlunit.javascript.host.css.ComputedCSSStyleDeclaration.getCalculatedHeight(ComputedCSSStyleDeclaration.java:1179)
        ...
2022-03-14 17:11:25.896 29458-29590/com.sengsational.myapplication E/JavaScriptErrorListener:     at com.gargoylesoftware.htmlunit.javascript.host.css.ComputedCSSStyleDeclaration.getCalculatedHeight(ComputedCSSStyleDeclaration.java:1143)
        at com.gargoylesoftware.htmlunit.javascript.host.css.ComputedCSSStyleDeclaration.getTop(ComputedCSSStyleDeclaration.java:1475)
        ...
     Caused by: java.lang.ClassNotFoundException: Didn't find class "javax.imageio.ImageIO" on path: DexPathList[[dex file "/data/data/com.sengsational.myapplication/code_cache/.overlay/base.apk/classes3.dex", zip file "/data/app/~~EbFwWeeuUGmdSh0E0igOzA==/com.sengsational.myapplication-M3nFzuX8sRj-DyB3fdwihQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~EbFwWeeuUGmdSh0E0igOzA==/com.sengsational.myapplication-M3nFzuX8sRj-DyB3fdwihQ==/lib/arm64, /system/lib64, /system_ext/lib64, /product/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
            ... 110 more
    Enclosed exception: 
    java.lang.RuntimeException: Exception invoking getClientHeight
        at net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:238)
        ...
2022-03-14 17:11:25.896 29458-29590/com.sengsational.myapplication E/JavaScriptErrorListener:     at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.doProcessPostponedActions(JavaScriptEngine.java:1028)
        at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:975)
        at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:582)
        ...
2022-03-14 17:11:25.896 29458-29590/com.sengsational.myapplication E/JavaScriptErrorListener:     at com.gargoylesoftware.htmlunit.javascript.background.DefaultJavaScriptExecutor.run(DefaultJavaScriptExecutor.java:148)
        at java.lang.Thread.run(Thread.java:920)
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/imageio/ImageIO;
        at com.gargoylesoftware.htmlunit.html.HtmlImage.readImageIfNeeded(HtmlImage.java:702)
        ...
2022-03-14 17:11:25.896 29458-29590/com.sengsational.myapplication E/JavaScriptErrorListener:     at com.gargoylesoftware.htmlunit.javascript.host.css.ComputedCSSStyleDeclaration.getCalculatedHeight(ComputedCSSStyleDeclaration.java:1179)
        at com.gargoylesoftware.htmlunit.javascript.host.css.ComputedCSSStyleDeclaration.getCalculatedHeight(ComputedCSSStyleDeclaration.java:1143)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "javax.imageio.ImageIO" on path: DexPathList[[dex file "/data/data/com.sengsational.myapplication/code_cache/.overlay/base.apk/classes3.dex", zip file "/data/app/~~EbFwWeeuUGmdSh0E0igOzA==/com.sengsational.myapplication-M3nFzuX8sRj-DyB3fdwihQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~EbFwWeeuUGmdSh0E0igOzA==/com.sengsational.myapplication-M3nFzuX8sRj-DyB3fdwihQ==/lib/arm64, /system/lib64, /system_ext/lib64, /product/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)

RuntimeException_ClassNotFound_ImageIO.txt

rbri commented 2 years ago

another case where android is different, i will have a look

rbri commented 2 years ago

This seems to be harder than #4 please be a bit patient.

rbri commented 1 year ago

@sengsational

Can you please try with htmlunit-android 3.0.0-SNAPSHOT and report your results here.

rbri commented 1 year ago

Finally 3.1.0 is out. This is (hopefully) solved.

Enjoy.