-
Bug
-
Resolution: Cannot Reproduce
-
P4
-
None
-
8
-
JDK 8 build b76 32-bit, Windows 7 64-bit
Getting this exception when a Reflection is added to a really small Node (something on the order of 1x1 pixels, perhaps even 0x0 pixels). Cannot provide a test case at this time as the code that exhibits this isn't really isolated, but removing all reflections solves it. A PerspectiveTransform is also applied (it has the Reflection as input). Without the Reflection as input, this problem does not occur even when the Nodes are rendered at a size so small they disappear from the screen.
I hope the provided trace is enough to isolate the problem.
java.lang.IllegalArgumentException: Texture must be non-null
at com.sun.scenario.effect.impl.prism.PrTexture.<init>(PrTexture.java:36)
at com.sun.scenario.effect.impl.prism.PrDrawable.<init>(PrDrawable.java:39)
at com.sun.scenario.effect.impl.prism.ps.PPSDrawable.<init>(PPSDrawable.java:39)
at com.sun.scenario.effect.impl.prism.ps.PPSDrawable.create(PPSDrawable.java:54)
at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.createCompatibleImage(PPSRenderer.java:151)
at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.createCompatibleImage(PPSRenderer.java:62)
at com.sun.scenario.effect.impl.ImagePool.checkOut(ImagePool.java:164)
at com.sun.scenario.effect.impl.Renderer.getCompatibleImage(Renderer.java:117)
at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.getCompatibleImage(PPSRenderer.java:156)
at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.getCompatibleImage(PPSRenderer.java:62)
at com.sun.scenario.effect.impl.prism.PrReflectionPeer.filter(PrReflectionPeer.java:43)
at com.sun.scenario.effect.CoreEffect.filterImageDatas(CoreEffect.java:102)
at com.sun.scenario.effect.Reflection.filterImageDatas(Reflection.java:38)
at com.sun.scenario.effect.FilterEffect.filter(FilterEffect.java:176)
at com.sun.scenario.effect.PerspectiveTransform.filter(PerspectiveTransform.java:198)
at com.sun.scenario.effect.impl.prism.PrEffectHelper.render(PrEffectHelper.java:162)
at com.sun.javafx.sg.prism.NGNode$EffectFilter.render(NGNode.java:933)
at com.sun.javafx.sg.prism.NGNode.renderEffect(NGNode.java:691)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:400)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:67)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1265)
at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:241)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:207)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1225)
at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:623)
at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:517)
at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:543)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:398)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:67)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1265)
at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:241)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:207)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1225)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:402)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:67)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1265)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:131)
at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:197)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:74)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at com.sun.prism.render.RenderJob.run(RenderJob.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:112)
at java.lang.Thread.run(Thread.java:722)
I hope the provided trace is enough to isolate the problem.
java.lang.IllegalArgumentException: Texture must be non-null
at com.sun.scenario.effect.impl.prism.PrTexture.<init>(PrTexture.java:36)
at com.sun.scenario.effect.impl.prism.PrDrawable.<init>(PrDrawable.java:39)
at com.sun.scenario.effect.impl.prism.ps.PPSDrawable.<init>(PPSDrawable.java:39)
at com.sun.scenario.effect.impl.prism.ps.PPSDrawable.create(PPSDrawable.java:54)
at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.createCompatibleImage(PPSRenderer.java:151)
at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.createCompatibleImage(PPSRenderer.java:62)
at com.sun.scenario.effect.impl.ImagePool.checkOut(ImagePool.java:164)
at com.sun.scenario.effect.impl.Renderer.getCompatibleImage(Renderer.java:117)
at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.getCompatibleImage(PPSRenderer.java:156)
at com.sun.scenario.effect.impl.prism.ps.PPSRenderer.getCompatibleImage(PPSRenderer.java:62)
at com.sun.scenario.effect.impl.prism.PrReflectionPeer.filter(PrReflectionPeer.java:43)
at com.sun.scenario.effect.CoreEffect.filterImageDatas(CoreEffect.java:102)
at com.sun.scenario.effect.Reflection.filterImageDatas(Reflection.java:38)
at com.sun.scenario.effect.FilterEffect.filter(FilterEffect.java:176)
at com.sun.scenario.effect.PerspectiveTransform.filter(PerspectiveTransform.java:198)
at com.sun.scenario.effect.impl.prism.PrEffectHelper.render(PrEffectHelper.java:162)
at com.sun.javafx.sg.prism.NGNode$EffectFilter.render(NGNode.java:933)
at com.sun.javafx.sg.prism.NGNode.renderEffect(NGNode.java:691)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:400)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:67)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1265)
at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:241)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:207)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1225)
at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:623)
at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:517)
at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:543)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:398)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:67)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1265)
at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:241)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:207)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1225)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:402)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:67)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1265)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:131)
at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:197)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:74)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at com.sun.prism.render.RenderJob.run(RenderJob.java:35)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:112)
at java.lang.Thread.run(Thread.java:722)