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

JavaScript to Java String conversion is not correct

    Details

    • Subcomponent:
      web
    • Introduced In Build:
      b04
    • Introduced In Version:

      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

                • Assignee:
                  arajkumar Arunprasad Rajkumar (Inactive)
                  Reporter:
                  kcr Kevin Rushforth
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: