Bug #11944
Swing GUI client OutOfMemoryError: deleted windows kept alive by unprocessed OS events
Added by Razvan-Nicolae Chichirau 7 days ago. Updated 7 days ago.
Start date:
Due date:
% Done:
0%
billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:
reviewer:
production:
No
env_name:
topics:
History
#1 Updated by Razvan-Nicolae Chichirau 7 days ago
Run this with a Swing GUI client:
define variable i as integer no-undo.
define variable hMain as handle no-undo.
pause 0 before-hide.
hMain = current-window.
do i = 1 to 20000:
run oneWindow.
if i mod 10 = 0 then
display i label "Windows opened".
end.
procedure oneWindow:
define variable hW as handle no-undo.
create window hW assign width-chars = 300 height-chars = 90.
hW:visible = true.
current-window = hW.
current-window = hMain.
delete object hW.
end procedure.
The output of a jmap -histo:live ran every 5 seconds for the ClientDriver until OOM:
ShowHide
----------------------------------------------------------------------------------------
15:19:11 pid 194636 heap used 41.3 MB / committed 136.0 MB / max 7852.0 MB (0.5% of max)
1. byte[] 42394 inst 20.8 MB
2. int[] 2986 inst 2.7 MB
3. java.lang.String 40912 inst 0.9 MB
4. java.lang.Class 5619 inst 0.7 MB
5. java.util.HashMap$Node 18222 inst 0.6 MB
388. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$1 1 inst 0.0 MB
591. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow 1 inst 0.0 MB
1172. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$4 1 inst 0.0 MB
1538. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$256/0x0000731c9c31b388 1 inst 0.0 MB
1539. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2 1 inst 0.0 MB
1540. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3 1 inst 0.0 MB
----------------------------------------------------------------------------------------
15:19:16 pid 194636 heap used 1237.9 MB / committed 2088.0 MB / max 7852.0 MB (15.8% of max)
1. int[] 4141 inst 1067.8 MB
2. byte[] 54097 inst 21.7 MB
3. java.lang.String 52536 inst 1.2 MB
4. sun.font.TrueTypeFont$DirectoryEntry 35399 inst 0.8 MB
5. java.lang.Class 6470 inst 0.8 MB
73. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$1 48 inst 0.0 MB
130. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow 48 inst 0.0 MB
137. java.awt.image.BufferedImage 148 inst 0.0 MB
235. com.goldencode.p2j.ui.client.event.InvocationEvent 49 inst 0.0 MB
259. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$4 48 inst 0.0 MB
382. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3 48 inst 0.0 MB
383. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3$$Lambda$320/0x0000731c9c41c228 48 inst 0.0 MB
540. java.awt.event.InvocationEvent 5 inst 0.0 MB
1417. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$256/0x0000731c9c31b388 2 inst 0.0 MB
1418. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2 2 inst 0.0 MB
1589. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$287/0x0000731c9c3bbac0 1 inst 0.0 MB
1590. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2$$Lambda$371/0x0000731c9c42e718 1 inst 0.0 MB
1889. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$260/0x0000731c9c320000 1 inst 0.0 MB
1890. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$337/0x0000731c9c41f400 1 inst 0.0 MB
----------------------------------------------------------------------------------------
15:19:22 pid 194636 heap used 2949.0 MB / committed 4860.0 MB / max 7852.0 MB (37.6% of max)
1. int[] 5512 inst 2668.8 MB
2. byte[] 54746 inst 22.0 MB
3. java.lang.String 53114 inst 1.2 MB
4. sun.font.TrueTypeFont$DirectoryEntry 35399 inst 0.8 MB
5. java.lang.Class 6473 inst 0.8 MB
40. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$1 119 inst 0.0 MB
89. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow 119 inst 0.0 MB
95. java.awt.image.BufferedImage 362 inst 0.0 MB
175. com.goldencode.p2j.ui.client.event.InvocationEvent 119 inst 0.0 MB
198. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$4 119 inst 0.0 MB
270. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3 119 inst 0.0 MB
272. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3$$Lambda$320/0x0000731c9c41c228 118 inst 0.0 MB
1414. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$256/0x0000731c9c31b388 2 inst 0.0 MB
1415. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2 2 inst 0.0 MB
1584. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2$$Lambda$371/0x0000731c9c42e718 1 inst 0.0 MB
----------------------------------------------------------------------------------------
15:19:27 pid 194636 heap used 4892.0 MB / committed 7852.0 MB / max 7852.0 MB (62.3% of max)
1. int[] 7439 inst 4533.9 MB
2. byte[] 55858 inst 22.4 MB
3. java.lang.String 53525 inst 1.2 MB
4. sun.font.TrueTypeFont$DirectoryEntry 35399 inst 0.8 MB
5. java.lang.Class 6477 inst 0.8 MB
30. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$1 200 inst 0.1 MB
73. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow 200 inst 0.0 MB
75. java.awt.image.BufferedImage 616 inst 0.0 MB
156. com.goldencode.p2j.ui.client.event.InvocationEvent 201 inst 0.0 MB
170. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$4 200 inst 0.0 MB
241. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3 200 inst 0.0 MB
242. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3$$Lambda$320/0x0000731c9c41c228 200 inst 0.0 MB
453. java.awt.event.InvocationEvent 9 inst 0.0 MB
1107. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$274/0x0000731c9c38ed18 2 inst 0.0 MB
1221. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$260/0x0000731c9c320000 3 inst 0.0 MB
1504. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$256/0x0000731c9c31b388 2 inst 0.0 MB
1505. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2 2 inst 0.0 MB
1674. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$259/0x0000731c9c31bd98 1 inst 0.0 MB
1675. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$287/0x0000731c9c3bbac0 1 inst 0.0 MB
1676. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$318/0x0000731c9c415cf8 1 inst 0.0 MB
1677. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2$$Lambda$371/0x0000731c9c42e718 1 inst 0.0 MB
1986. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$319/0x0000731c9c41c000 1 inst 0.0 MB
----------------------------------------------------------------------------------------
15:19:32 pid 194636 heap used 6377.4 MB / committed 7852.0 MB / max 7852.0 MB (81.2% of max)
1. int[] 8792 inst 5933.1 MB
2. byte[] 56442 inst 22.7 MB
3. java.lang.String 53701 inst 1.2 MB
4. sun.font.TrueTypeFont$DirectoryEntry 35399 inst 0.8 MB
5. java.lang.Class 6477 inst 0.8 MB
24. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$1 262 inst 0.1 MB
62. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow 262 inst 0.0 MB
69. java.awt.image.BufferedImage 804 inst 0.0 MB
144. com.goldencode.p2j.ui.client.event.InvocationEvent 263 inst 0.0 MB
164. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$4 262 inst 0.0 MB
228. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3 262 inst 0.0 MB
229. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3$$Lambda$320/0x0000731c9c41c228 262 inst 0.0 MB
336. java.awt.event.InvocationEvent 20 inst 0.0 MB
915. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$260/0x0000731c9c320000 6 inst 0.0 MB
916. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$274/0x0000731c9c38ed18 3 inst 0.0 MB
1233. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$287/0x0000731c9c3bbac0 2 inst 0.0 MB
1527. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$256/0x0000731c9c31b388 2 inst 0.0 MB
1528. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2 2 inst 0.0 MB
1704. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$259/0x0000731c9c31bd98 1 inst 0.0 MB
1705. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$318/0x0000731c9c415cf8 1 inst 0.0 MB
1706. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2$$Lambda$371/0x0000731c9c42e718 1 inst 0.0 MB
2013. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$319/0x0000731c9c41c000 1 inst 0.0 MB
2014. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$337/0x0000731c9c41f400 1 inst 0.0 MB
----------------------------------------------------------------------------------------
15:19:38 pid 194636 heap used 7334.1 MB / committed 7852.0 MB / max 7852.0 MB (93.4% of max)
1. int[] 9093 inst 6873.3 MB
2. byte[] 53862 inst 22.7 MB
3. java.lang.String 52161 inst 1.2 MB
4. sun.font.TrueTypeFont$DirectoryEntry 35399 inst 0.8 MB
5. java.lang.Class 6328 inst 0.7 MB
23. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$1 305 inst 0.1 MB
51. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow 305 inst 0.0 MB
57. java.awt.image.BufferedImage 920 inst 0.0 MB
124. com.goldencode.p2j.ui.client.event.InvocationEvent 305 inst 0.0 MB
142. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$4 305 inst 0.0 MB
192. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3 305 inst 0.0 MB
195. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$3$$Lambda$320/0x0000731c9c41c228 304 inst 0.0 MB
1389. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$$Lambda$256/0x0000731c9c31b388 2 inst 0.0 MB
1390. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2 2 inst 0.0 MB
1559. com.goldencode.p2j.ui.client.gui.driver.swing.SwingEmulatedWindow$2$$Lambda$371/0x0000731c9c42e718 1 inst 0.0 MB
SwingEmulatedWindow instances are accumulating and at around 300 instances, the client receives an OOM. Memory usages on ChUI terminal/web or GUI web are OK.