Opened 2 years ago

Last modified 2 years ago

#16869 confirmed Bug

Memory leak when creating / destroying inline instances

Reported by: dvotion Owned by:
Priority: Normal Milestone:
Component: General Version: 4.0
Keywords: Cc:

Description

When you dynamically create inline instances and then destroy an instance with instanceName.destroy() the mutation observers aren't destroyed and thus causing some serious memory leak and dom leakage.

On a page with multiple instances and a lot of user interaction this leak quickly starts to grow big (multiple mb's per step) and causing the ckeditor / browser to become really slow.

I've attached a screenshot of a heap snapshot comparison done in Chrome. The steps I did were:

ActionSteps = create inline instance and then destroy it

  1. do: ActionSteps
  2. take Heapsnapshot
  3. do: ActionSteps
  4. take Heapsnapshot
  5. do: ActionSteps
  6. take Heapsnapshot

Then select heapsnapshot 3 and select from dropdown "Object allocated from snapshot 1 and 2"

Attachments (1)

memleak.png (708.5 KB) - added by dvotion 2 years ago.

Download all attachments as: .zip

Change History (2)

Changed 2 years ago by dvotion

Attachment: memleak.png added

comment:1 Changed 2 years ago by Jakub Ś

Keywords: memory leak removed
Status: newconfirmed
Version: 4.6.14.0

Other related issues: #16869, #12307, #11010, #13123.

Note: See TracTickets for help on using tickets.
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy