I am planning to create a crossplatform JWebPane using the approach of Embedding JavaFX WebView in an existing Java Swing Application (long term goal is to replace whole app with JavaFX)
I was prototyping with this following code as a basis: http://docs.oracle.com/javafx/2.0/swing/jfxpub-swing.htm
When I went back and used the code in this page I reproduced the issue simply (I'm currently on Mac OSX using javafx-sdk2.1.0-beta/)
Simply resizing the browser window after a page is loaded (say something like www.twitter.com) then an exception loop is generated:
java.lang.IllegalArgumentException: Upload requires 68805 elements, but only 68782 elements remain in the buffer
at com.sun.prism.impl.BaseTexture.checkUpdateParams(BaseTexture.java:171)
at com.sun.prism.es2.ES2Texture.update(ES2Texture.java:528)
at com.sun.prism.impl.BaseTexture.update(BaseTexture.java:109)
at com.sun.prism.impl.BaseResourceFactory.createTexture(BaseResourceFactory.java:117)
at com.sun.prism.impl.BaseResourceFactory.getCachedTexture(BaseResourceFactory.java:96)
at com.sun.prism.impl.BaseResourceFactory.getCachedTexture(BaseResourceFactory.java:87)
at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:357)
at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:292)
at com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedPgram(BaseShaderGraphics.java:721)
at com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedRect(BaseShaderGraphics.java:422)
at com.sun.prism.impl.ps.BaseShaderGraphics.fillRect(BaseShaderGraphics.java:740)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext$7.doPaint(WCGraphicsPrismContext.java:613)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext$Composite.paint(WCGraphicsPrismContext.java:1196)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.drawPattern(WCGraphicsPrismContext.java:590)
at com.sun.webpane.platform.graphics.GraphicsDecoder.drawPattern(GraphicsDecoder.java:401)
at com.sun.webpane.platform.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:190)
at com.sun.webpane.platform.graphics.WCRenderQueue.decode(WCRenderQueue.java:67)
at com.sun.webpane.platform.WebPage.paint2GC(WebPage.java:678)
at com.sun.webpane.platform.WebPage.paint(WebPage.java:658)
at com.sun.javafx.sg.prism.NGWebView.renderContent(NGWebView.java:71)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:183)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1143)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:204)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:420)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:183)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1143)
at com.sun.javafx.tk.quantum.EmbeddedPainter.doPaint(EmbeddedPainter.java:104)
at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:187)
at com.sun.javafx.tk.quantum.EmbeddedPainter.run(EmbeddedPainter.java:78)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at com.sun.prism.render.RenderJob.run(RenderJob.java:39)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:102)
at java.lang.Thread.run(Thread.java:680)
I was not sure if this code is public yet but could not find where to download on http://hg.openjdk.java.net/ to dig deeper
I was prototyping with this following code as a basis: http://docs.oracle.com/javafx/2.0/swing/jfxpub-swing.htm
When I went back and used the code in this page I reproduced the issue simply (I'm currently on Mac OSX using javafx-sdk2.1.0-beta/)
Simply resizing the browser window after a page is loaded (say something like www.twitter.com) then an exception loop is generated:
java.lang.IllegalArgumentException: Upload requires 68805 elements, but only 68782 elements remain in the buffer
at com.sun.prism.impl.BaseTexture.checkUpdateParams(BaseTexture.java:171)
at com.sun.prism.es2.ES2Texture.update(ES2Texture.java:528)
at com.sun.prism.impl.BaseTexture.update(BaseTexture.java:109)
at com.sun.prism.impl.BaseResourceFactory.createTexture(BaseResourceFactory.java:117)
at com.sun.prism.impl.BaseResourceFactory.getCachedTexture(BaseResourceFactory.java:96)
at com.sun.prism.impl.BaseResourceFactory.getCachedTexture(BaseResourceFactory.java:87)
at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:357)
at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:292)
at com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedPgram(BaseShaderGraphics.java:721)
at com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedRect(BaseShaderGraphics.java:422)
at com.sun.prism.impl.ps.BaseShaderGraphics.fillRect(BaseShaderGraphics.java:740)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext$7.doPaint(WCGraphicsPrismContext.java:613)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext$Composite.paint(WCGraphicsPrismContext.java:1196)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.drawPattern(WCGraphicsPrismContext.java:590)
at com.sun.webpane.platform.graphics.GraphicsDecoder.drawPattern(GraphicsDecoder.java:401)
at com.sun.webpane.platform.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:190)
at com.sun.webpane.platform.graphics.WCRenderQueue.decode(WCRenderQueue.java:67)
at com.sun.webpane.platform.WebPage.paint2GC(WebPage.java:678)
at com.sun.webpane.platform.WebPage.paint(WebPage.java:658)
at com.sun.javafx.sg.prism.NGWebView.renderContent(NGWebView.java:71)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:183)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1143)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:204)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:420)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:183)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1143)
at com.sun.javafx.tk.quantum.EmbeddedPainter.doPaint(EmbeddedPainter.java:104)
at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:187)
at com.sun.javafx.tk.quantum.EmbeddedPainter.run(EmbeddedPainter.java:78)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at com.sun.prism.render.RenderJob.run(RenderJob.java:39)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:102)
at java.lang.Thread.run(Thread.java:680)
I was not sure if this code is public yet but could not find where to download on http://hg.openjdk.java.net/ to dig deeper
- duplicates
-
JDK-8116775 IllegalArgumentException in ES2 pipeline
- Closed