out of memory

Kevin Rushforth kevin.rushforth at oracle.com
Tue Nov 6 11:04:53 PST 2012


Are frames being rendered during this time? If so, then you may have 
discovered a bug. If you have a test case you could file JIRA and attach it.

-- Kevin


Tom Eugelink wrote:
> Ok, this is confusing; I've confirmed using lookup that the nodes are 
> removed from the scene, however I end up with a dirtyNodes collection 
> with over 23000 buttons and 15000 labels.
>
> Every 10 ms 30 buttons and 20 labels are added... So it actually takes 
> quite some time for this to fill up and cause the out of memory 
> exception.
>
> Tom
>
>
>
> On 2012-11-06 13:56, Kevin Rushforth wrote:
>> Correct. One short-lived exception to that would be if a node was 
>> modified and then removed from the scene in the same frame. In this 
>> case it would exist in the dirty nodes list until the next 
>> synchronization pulse.
>>
>> -- Kevin
>>
>>
>> Tom Eugelink wrote:
>>> I figured as much, so these nodes still are part of the scene. They 
>>> are not "to be removed", correct?
>>>
>>> Tom
>>>
>>>
>>>
>>> On 2012-11-06 13:36, Kevin Rushforth wrote:
>>>> The dirty nodes collection is a list of nodes in a scene that have 
>>>> had their state modified. It is processed and cleared as part of 
>>>> the node synchronization step each pulse.
>>>>
>>>> -- Kevin
>>>>
>>>>
>>>> Tom Eugelink wrote:
>>>>> A user of MigPane reported that he ran into a out of memory 
>>>>> exception.
>>>>>
>>>>> http://migcalendar.com/forums/viewtopic.php?f=8&t=3916&p=8717#p8717
>>>>>
>>>>> I've created a memory dump of this and using the memory analyser 
>>>>> tool I only see that it is being held by weak references and the 
>>>>> scene node.
>>>>>
>>>>> Class Name | Shallow Heap | Retained Heap
>>>>> ---------------------------------------------------------------------------------------------------------------- 
>>>>>
>>>>> javafx.scene.control.Button @ 
>>>>> 0x319ba2f8                                         | 408 |         
>>>>> 1,672
>>>>> - [60490] javafx.scene.Node[98113] @ 
>>>>> 0x29cc8810                                 |      392,464 | 392,464
>>>>>    - dirtyNodes javafx.scene.Scene @ 
>>>>> 0x27f65d00                                 |          376 | 396,728
>>>>>       |- this$0 javafx.scene.Scene$ScenePeerListener @ 
>>>>> 0x28003d60                |           16 |            16
>>>>>       |  - sceneListener com.sun.javafx.tk.quantum.ViewScene @ 
>>>>> 0x27ffb710       | 64 |           168
>>>>>       |     |- scene com.sun.javafx.tk.quantum.PrismPen @ 
>>>>> 0x27ffc7f0             |           48 |         2,344
>>>>>       |     |  - pen com.sun.glass.ui.win.WinView @ 0x27ff4e98 
>>>>> Native Stack     |           72 |           480
>>>>>       |     |- scene 
>>>>> com.sun.javafx.tk.quantum.GlassViewEventHandler @ 
>>>>> 0x27ffc820|           48 |           408
>>>>>       |     |- scene com.sun.javafx.tk.quantum.WindowStage @ 
>>>>> 0x27f694e8          |           88 |           184
>>>>>       |     - Total: 3 entries |              |
>>>>>       |- this$0 javafx.scene.Scene$ScenePulseListener @ 
>>>>> 0x27f6a300               |           16 |            16
>>>>>       |- oldScene, value javafx.scene.Node$4 @ 
>>>>> 0x31121ca8                        |           48 |            48
>>>>>       - Total: 3 entries |              |
>>>>> ---------------------------------------------------------------------------------------------------------------- 
>>>>>
>>>>>
>>>>> What is this dirtyNodes collection and when are nodes placed in it?
>>>>>
>>>>> Tom
>>>>>
>>>
>


More information about the openjfx-dev mailing list