On Thu, 4 May 2023 12:11:13 GMT, buedi <d...@openjdk.org> wrote:

> Hello John, this issue occurs very rarely, approximately 1-2 times per month, 
> on systems that run 24/7. However, when it does occur, the JavaFx application 
> gets stuck in an endless loop (--> 
> [logError-JavaFxScene.txt](https://github.com/openjdk/jfx/files/11397119/logError-JavaFxScene.txt))
>  and cannot recover from it. Currently, I am unable to replicate this 
> phenomenon. I fully agree with you that it's essential to address the problem 
> at its root cause. However, adding an additional check for a null value would 
> at least solve a rare but blocking issue.
> 
> ![sceneError_](https://user-images.githubusercontent.com/5691507/236197639-8c240ed2-d135-4abc-9a29-5d1cfa3e0984.png)

The problem is, this kind of fix is unlikely to be accepted as it hides the 
root cause of perhaps a much more serious issue. Skipping `null`s for example 
will mean that some nodes probably didn't get synced in the last run due to an 
exception or some other kind of bug in the code (I was looking at Node reuse as 
a possible cause for this problem).

The NPE you show is probably not the first exception that is logged, but the 
one that is most visible because it keeps being repeated once the dirty nodes 
list gets into a bad state.

You said you already fixed this yourself, would you be willing to add 
diagnostics to your build that you could share so the root cause can be tracked 
down? A few log lines when a bad state is detected that could give us insights 
into what went wrong could go a long way. I will take another look tonight to 
see if I can find how this list is getting corrupted; most likely it is an 
exception thrown by `syncPeer`; if that could be caught and logged it will 
probably tell us the rest of the story.

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1123#issuecomment-1534960245

Reply via email to