Project

General

Profile

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.

Status:
New
Priority:
Normal
Target version:
-
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:

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.

Also available in: Atom PDF