JDK-8128408 : several exceptions during run of ColorfulShapesBenchmark
  • Type: Bug
  • Component: javafx
  • Sub-Component: web
  • Affected Version: fx2.0.2
  • Priority: P3
  • Status: Resolved
  • Resolution: Cannot Reproduce
  • Submitted: 2011-10-03
  • Updated: 2015-06-17
  • Resolved: 2012-06-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7
7u6Resolved
Related Reports
Blocks :  
Blocks :  
Relates :  
Description
In the run log  (http://aurora-ds.ru.oracle.com:9500/runs/15198.FX2-graphics-scrum-48/results.log) I see several exceptions:
java.lang.NullPointerException
at com.sun.prism.es2.ES2RTTexture.create(ES2RTTexture.java:75)
at com.sun.prism.es2.ES2ResourceFactory.createRTTexture(ES2ResourceFactory.java:52)
at com.sun.webpane.sg.prism.RTImage.getTexture(RTImage.java:45)
at com.sun.webpane.sg.prism.RTImage.getGraphics(RTImage.java:39)
at com.sun.webpane.sg.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:29)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.fillPath(WCGraphicsPrismContext.java:1200)
at com.sun.webpane.platform.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:266)
at com.sun.webpane.platform.graphics.WCRenderQueue.decode(WCRenderQueue.java:72)
at com.sun.webpane.platform.graphics.WCRenderQueue.decode(WCRenderQueue.java:86)
at com.sun.webpane.platform.graphics.WCRenderQueue$1.run(WCRenderQueue.java:94)
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:29)
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$ObservedRunnable.run(QuantumRenderer.java:80)
at java.lang.Thread.run(Thread.java:680)

QuantumRenderer-0 uncaught: java.lang.IllegalArgumentException
java.lang.IllegalArgumentException: RenderJob run failed
at com.sun.prism.render.RenderJob.run(RenderJob.java:30)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

The problem is reproducible with 2.0.2 graphics scrum b59
The test is locate at tests/performance/WebNodeTestSuite, "ant run-colorful-circles-bm" could be used to run the benchmark
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at com.sun.javafx.tk.quantum.QuantumRenderer$ObservedRunnable.run(QuantumRenderer.java:80)
at java.lang.Thread.run(Thread.java:680)

Comments
No more exceptions with 2.2b14. Should have been fixed by Mac animation/JOGL changes. See also RT-20860.
21-06-2012

rising priority as this is a regression
06-04-2012

Will revisit this issue once ES2 context issues are sorted out.
01-03-2012

Adding Chien to the watch list. Perhaps he can comment on whether we are in a position to make this bug easier to solve.
16-12-2011

Now WebNode.GUIMark2-Bitmap test also reproduce the same problem :( http://aurora-ds.ru.oracle.com:9504/runs/30096.FX2-graphics-scrum-48/results.log Thus I'm rising priority of the ticket
16-12-2011

The reason is the same: we access textures without initializing OpenGL rendering context. A workaround is possible but cumbersome. We'll revisit the issue after RT-17404 and/or RT-17388 are fixed. The context nightmare should be gone by that time. We'll need to revert context.begin/end calls from WCImgDecoderImpl and RTImage.
17-11-2011

yep, it is mac specific.
09-11-2011

This is Mac-specific, right? If so, please add the "macosx" label
09-11-2011

I think that the priority at least Major since one of our test fails while it uses very basic functionality (at least from HTML5 point of view :)
09-11-2011

still reproducible with latest builds: http://aurora.russia.sun.com/performance/faces/RunsCompare.xhtml?names=18331.FX2-graphics-scrum-48 http://aurora-ds.ru.oracle.com:9500/runs/18331.FX2-graphics-scrum-48/.workload.log.20111108225559 2011-11-08 22:24:43 AG[50657] java.lang.NullPointerException 2011-11-08 22:24:43 AG[50657] at com.sun.prism.es2.ES2RTTexture.create(ES2RTTexture.java:75) 2011-11-08 22:24:44 AG[50657] at com.sun.prism.es2.ES2ResourceFactory.createRTTexture(ES2ResourceFactory.java:52) 2011-11-08 22:24:44 AG[50657] at com.sun.webpane.sg.prism.RTImage.getTexture(RTImage.java:45) 2011-11-08 22:24:44 AG[50657] at com.sun.webpane.sg.prism.RTImage.getGraphics(RTImage.java:39) 2011-11-08 22:24:44 AG[50657] at com.sun.webpane.sg.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:29) 2011-11-08 22:24:45 AG[50657] at com.sun.webpane.sg.prism.WCGraphicsPrismContext.fillPath(WCGraphicsPrismContext.java:1183) 2011-11-08 22:24:45 AG[50657] at com.sun.webpane.platform.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:266) 2011-11-08 22:24:45 AG[50657] at com.sun.webpane.platform.graphics.WCRenderQueue.decode(WCRenderQueue.java:72) 2011-11-08 22:24:46 AG[50657] at com.sun.webpane.platform.graphics.WCRenderQueue.decode(WCRenderQueue.java:86) 2011-11-08 22:24:46 AG[50657] at com.sun.webpane.platform.graphics.WCRenderQueue$1.run(WCRenderQueue.java:94) 2011-11-08 22:24:46 AG[50657] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 2011-11-08 22:24:46 AG[50657] at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) 2011-11-08 22:24:47 AG[50657] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) 2011-11-08 22:24:47 AG[50657] at com.sun.prism.render.RenderJob.run(RenderJob.java:29) 2011-11-08 22:24:47 AG[50657] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 2011-11-08 22:24:48 AG[50657] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 2011-11-08 22:24:48 AG[50657] at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:101) 2011-11-08 22:24:48 AG[50657] at java.lang.Thread.run(Thread.java:680)
09-11-2011

Fixed in http://jfxsrc.us.oracle.com/javafx/2.0.2/scrum/graphics/runtime/rev/cc98f1f0e50e
26-10-2011

I think I'm on track to fix this issue. The problem is, we do not initialize OpenGL RenderingContext properly. Normally WebView rendering code is called from a PaintRunnable which initializes the context for us. Here, WCImgDecoderImpl runs a self-submitted Runnable, so it must initialize the context. I've used EmbeddedScene class for inspiration. I've added proper context initialization and proper resource cleanup. http://javaweb.us.oracle.com/jcg/fx-webrevs/RT-17232/1
18-10-2011

it looks like a thread-race, only b57 and b58 were able to execute the test correctly :( You can see the trend at http://aurora.ru.oracle.com/performance/faces/ChessBoard.xhtml?reportName=FX2-graphics-scrum-trend-web&parameters=%5Bshownbenchmarks%5D%281%3D1%29%5Brelease%5D%28pr.product.productRelease+%3D+%272.0.2%27%29%5Bbuild%5D%28pr.product.build+IS+NOT+NULL%29%5Bjdkrelease%5D%28jdk.product.productRelease+IS+NOT+NULL%29%5Brefrelease%5D2.0.2%5Bhwclass%5Dhost.machine.additionalInfo+%3D+%27Mac-Mid-Range%27&splitting=%5BX+axis%5DfxConf%5BComplement%5Dbenchmark%2C+jdkBuild%2C+jdk%2C+benchmarkSuite%2C+benchmarkName2%2C+metricName%5BZ+axis%5Dhwclass%2C+os%2C+jdkRelease%2C+benchmarkName%2C+benchmarkConf%5BY+axis%5DfxRelease%2C+fxBuild&reference=%5BOthers%5DfxRelease%2C+fxBuild%2C+fxConf%2C+benchmark%2C+benchmarkConf%2C+os%2C+hwclass%2C+jdkRelease%2C+jdkBuild%2C+jdk%2C+benchmarkSuite%2C+benchmarkName%2C+benchmarkName2%2C+metricName%5BReference+Set%5D&mixReference=false&flags=&significance=empty&hideDataConfiguration=false&calculateSummary=false&showSummaryExpanded=false&showSummaryContents=true&showComplementAttributes=false&compactTables=true&viewStyle=plot&filter= Unfortunately the testing has been started from b54, so we can not check if your fix causes the problem :(
04-10-2011

Do you know if this was happening before? I touched this code a little when fixing RT-16536 (the change went in in graphics scrum build #50), but I can't see right way how my changes could cause this problem.
04-10-2011