RejectedExecutionException
Kevin Rushforth
kevin.rushforth at oracle.com
Thu Aug 6 15:10:56 UTC 2015
I agree. Please file a bug.
-- Kevin
Tom Eugelink wrote:
> Indeed, this exception put me on the wrong track, trying to figure out
> why the test was failing based on the exception, while I was "just"
> asserting the wrong property.
>
> I now also understand what it is trying to tell me. And I must agree
> with Mike; given that the renderer is terminated, and it does no
> longer accept new jobs, there is no need to confuse coders and users
> with exceptions that neither have control over. Or can the coder do
> something to prevent these? Maybe allow for a way to hook into these
> exceptions with a callback / listener, or have them thrown via a
> command line setting, so if there is some kind issue they still can be
> tracked.
>
>
> On 4-8-2015 14:43, Mike Hearn wrote:
>> Race free shutdown in multi-threaded programs is always very hard. At
>> Google some programs and libraries simply didn't support it: for
>> servers, the cost in terms of bugs and extra code was deemed to
>> outweigh the benefits, so the only "supported" way for a process to
>> end was for it to be killed.
>>
>> JavaFX does not have that luxury. It must be able to shut down
>> cleanly without races. In this case, the message is probably
>> harmless: who cares if a render job doesn't complete if you're busy
>> tearing down process state? So perhaps Quantum should just set a
>> custom reject handler that ignores the issue instead of throwing.
>>
>>
>> On Mon, Aug 3, 2015 at 4:10 PM, Tom Eugelink <tbee at tbee.org
>> <mailto:tbee at tbee.org>> wrote:
>>
>> Working on a new skin for JFXtras Agenda... What is JavaFX trying
>> to tell me with this exception?
>>
>> java.util.concurrent.RejectedExecutionException: Task
>> com.sun.javafx.tk.quantum.PaintRenderJob at 33cf88 rejected from
>> com.sun.javafx.tk.quantum.QuantumRenderer at 1133212[Terminated, pool
>> size = 0, active threads = 0, queued tasks = 0, completed tasks = 30]
>> at
>> java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047)
>>
>> at
>> java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823)
>>
>> at
>> java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369)
>>
>> at
>> java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
>>
>> at
>> com.sun.javafx.tk.quantum.QuantumRenderer.submitRenderJob(QuantumRenderer.java:218)
>>
>> at
>> com.sun.javafx.tk.quantum.QuantumToolkit.addRenderJob(QuantumToolkit.java:467)
>>
>> at
>> com.sun.javafx.tk.quantum.ViewScene.repaint(ViewScene.java:140)
>> at
>> com.sun.javafx.tk.quantum.PaintCollector.renderAll(PaintCollector.java:435)
>>
>> at
>> com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:526)
>> at
>> com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:505)
>> at
>> com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$400(QuantumToolkit.java:334)
>>
>> at
>> com.sun.javafx.tk.quantum.QuantumToolkit$$Lambda$47/14510047.run(Unknown
>> Source)
>> 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$145(WinApplication.java:101)
>>
>> at
>> com.sun.glass.ui.win.WinApplication$$Lambda$43/19282349.run(Unknown
>> Source)
>> at java.lang.Thread.run(Thread.java:745)
>>
>>
>
More information about the openjfx-dev
mailing list