Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8165909

JavaScript to Java String conversion is not correct

    XMLWordPrintable

Details

    • web
    • b04

    Backports

      Description

        While testing the latest build of FX for JDK 9, I was doing some random navigation on yahoo.com with HelloWebView and got an IOOBE on one of the pages. The exception message does not cause the application to fail, and the content seems to be rendered correctly in spite of the error.

        To reproduce, run HelloWebView as follows:

        $ java HelloWebView http://www.thedailyheel.com/20-stars-you-didnt-know-were-twins/?utm_source=yahoo&utm_medium=All&utm_campaign=DHCelebTwins0829

        java.lang.StringIndexOutOfBoundsException: begin 0, end 4, length 2
        at java.lang.String.checkBoundsBeginEnd(String.java:3122)
        at java.lang.String.substring(String.java:1910)
        at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.drawString(WCGraphicsPrismContext.java:960)
        at com.sun.webkit.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:290)
        at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:91)
        at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:102)
        at com.sun.webkit.graphics.WCImage.flushRQ(WCImage.java:52)
        at com.sun.javafx.webkit.prism.RTImage.lambda$getPixelBuffer$2(RTImage.java:163)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:307)
        at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:632)
        at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
        at java.lang.Thread.run(Thread.java:804)
        java.lang.StringIndexOutOfBoundsException: begin 0, end 4, length 2
        at java.lang.String.checkBoundsBeginEnd(String.java:3122)
        at java.lang.String.substring(String.java:1910)
        at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.drawString(WCGraphicsPrismContext.java:960)
        at com.sun.webkit.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:290)
        at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:91)
        at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:102)
        at com.sun.webkit.graphics.WCImage.flushRQ(WCImage.java:52)
        at com.sun.javafx.webkit.prism.RTImage.lambda$getPixelBuffer$2(RTImage.java:163)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:307)
        at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:632)
        at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
        at java.lang.Thread.run(Thread.java:804)


        2)
               java.lang.StringIndexOutOfBoundsException: String index out of range: 4
                at java.lang.String.substring(String.java:1963)
                at com.sun.javafx.webkit.prism.WCFontImpl.getGlyphsAndAdvances(WCFontImpl.java:120)
                at com.sun.webkit.network.URLLoader.twkDidReceiveData(Native Method)
                at com.sun.webkit.network.URLLoader.notifyDidReceiveData(URLLoader.java:844)
                at com.sun.webkit.network.URLLoader.lambda$didReceiveData$4(URLLoader.java:819)
                at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
                at java.security.AccessController.doPrivileged(Native Method)
                at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
                at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
                at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
                at com.sun.glass.ui.win.WinApplication.lambda$null$3(WinApplication.java:191)
                at java.lang.Thread.run(Thread.java:745)

        Attachments

          Issue Links

            Activity

              People

                arajkumar Arunprasad Rajkumar
                kcr Kevin Rushforth
                Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: