Opened 9 years ago

Last modified 7 years ago

#5773 confirmed Bug

SCAYT: Memory leak in IE

Reported by: Wiktor Walc Owned by:
Priority: Normal Milestone:
Component: General Version: 3.3
Keywords: IE, Review?, HasPatch Cc: WebSpellChecker.net

Description

In IE6 there is a 8MB memory leak every time an instance of CKEditor is created.

Confirmed using Process Explorer, after creating & destroying CKEditor 10 times (using AJAX sample), memory usage (private bytes) jumped from 9MB to 90MB (tested on IE6.0.3790.1830 @ Win2003/SP1, also reported by user using IE6 6.0.2900.2180).

I have attached a dump from IE Sieve.

Attachments (2)

IESieve_leak_report.txt (32.7 KB) - added by Wiktor Walc 9 years ago.
5773.patch (38.7 KB) - added by WebSpellChecker.net 7 years ago.

Download all attachments as: .zip

Change History (10)

Changed 9 years ago by Wiktor Walc

Attachment: IESieve_leak_report.txt added

comment:1 Changed 9 years ago by Wiktor Walc

Summary: Memory leak in IE6SCAYT: Memory leak in IE

Disabling scayt with:

config.scayt_autoStartup = false;

reduces the memory leak to 1.8MB in IE6.

The memory leak in IE8 with scayt enabled is around 10MB.

comment:2 Changed 9 years ago by Frederico Caldeira Knabben

Cc: WebSpellChecker.net added
Milestone: CKEditor 3.4

comment:3 Changed 8 years ago by Frederico Caldeira Knabben

Milestone: CKEditor 3.4

Changed 7 years ago by WebSpellChecker.net

Attachment: 5773.patch added

comment:4 Changed 7 years ago by WebSpellChecker.net

Keywords: Review? HasPatch added

WebSpellChecker.net team made refactoring of SCAYT plug-in. Memory leaks related to plug-in code were fixed.
WebSpellChecker.net team continues working on memory leaks issues in SCAYT core.

comment:5 Changed 7 years ago by Garry Yao

The patch is not clear of what changes has fixes the leak that makes the review hard, please dont include unrelated changes into the review.

By checking only the code, I can still confirm at least the following reference chains that would leak:

  1. CKEDITOR.plugins.undo.Image.prototype.equals -> editor
  2. oParams.onLoad -> editor.document.getWindow().$.frameElement

comment:6 Changed 7 years ago by Frederico Caldeira Knabben

This is refactoring, Garry, so I think we'll need to have a full review here and accept the patch as valid.

As always, someone on the core team should take the ownership of the ticket, eventually providing a cleaner patch for final review (only if required).

comment:7 Changed 7 years ago by Frederico Caldeira Knabben

Well... only if SpellChecker.net is really able to provide a new patch that fixes the memory leak only. Than, that's a different case.

comment:8 Changed 7 years ago by WebSpellChecker.net

We are in progress review whether we're able to prepare patch which fixes memory leaks only.

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