Hi,
One of our ASP.NET WebForms application pages is using 4 RadEditors and we have noticed major browser memory leaks running in IE8 (using sIEve to detect the memory leaks). All the RadEditors have a toolbar and spellcheck support. I have tried removing the toolbar and spellcheck code to see if that makes a difference, but the leaks appear to be with the RadEditor itself. I can get the leaks to stop by setting Enabled = false for all the RadEditors. Also note in my results that leaks occur when page is loaded - I'm not doing a spell check or clicking toolbars - only posting back the page as I click on the different tabs. The RadEditors are contained in various user controls that represent the tab contents.
I created a sample app that I attached in order to isolate the problem as much as possible. You can see below that the sample app with one RadEditor leaks memory (although at a lower rate).
It is likely that upgrading to a newer browser would correct the leaks, but unfortunately, we're mandated by corporate IT to use IE8 and have no choice for upgrading the browser (Chrome and Firefox are not an option either).
Both the main app and sample app are built in VS2012 .NET 4.0 using Telerik RadControls for Ajax Q3 2013 v 2013.3.1114.40.
Thanks in advance for any assistance you can provide.
sIEve results of main app (leaks detected when moving between tabs):
Main app code (only snippets, since I can't post entire app):
Typical RadEditor tags:
<telerik:RadEditor ID="uxContactNotesTextBox" runat="server" style="width:100%;height:100%;" ToolsWidth="144px" EditModes="Design" ToolbarMode="Default" OnClientLoad="OnContactNotesEditorLoad" BorderStyle="Solid" BorderWidth="1px">
<Tools>
<telerik:EditorToolGroup>
<telerik:EditorTool Name="Save" />
<telerik:EditorSeparator />
<telerik:EditorTool Name="Cut" />
<telerik:EditorTool Name="Copy" />
<telerik:EditorTool Name="Paste" />
<telerik:EditorTool Name="AjaxSpellCheck" />
</telerik:EditorToolGroup>
</Tools>
</telerik:RadEditor>
<telerik:RadSpell ID="uxContactNoteSpellCheck" runat="server" ControlToCheck="uxContactNotesTextBox" ButtonType="PushButton" Style="display: none;" />
function OnContactNotesEditorLoad(editor, args) {
// set defaults for editor style
var style = editor.get_contentArea().style;
style.fontFamily = 'Segoe UI';
style.fontSize = '16px';
style.color = "black";
// detect when spell check is running
editor.add_spellCheckLoaded(function () {
var spell = editor.get_ajaxSpellCheck();
spell.add_spellCheckStart(function (editor, args) {
isContactNotesSpellChecking = true;
});
spell.add_spellCheckEnd(function (editor, args) {
isContactNotesSpellChecking = false;
});
});
}
sIEve results of sample app (auto-refresh enabled):
Sample app default.aspx:
default.aspx:
<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" validateRequest="false"%>
<!DOCTYPE html>
<html lang="en">
<head id="Head1" runat="server">
<meta charset="utf-8" />
<title>RadEditor Leak</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:ScriptManager runat="server">
<Scripts>
</Scripts>
</asp:ScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager" runat="server" UpdatePanelsRenderMode="Inline"/>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel" runat="server" />
<telerik:RadEditor ID="uxRadEditor" runat="server">
</telerik:RadEditor>
</form>
</body>
</html>
-ScottP
One of our ASP.NET WebForms application pages is using 4 RadEditors and we have noticed major browser memory leaks running in IE8 (using sIEve to detect the memory leaks). All the RadEditors have a toolbar and spellcheck support. I have tried removing the toolbar and spellcheck code to see if that makes a difference, but the leaks appear to be with the RadEditor itself. I can get the leaks to stop by setting Enabled = false for all the RadEditors. Also note in my results that leaks occur when page is loaded - I'm not doing a spell check or clicking toolbars - only posting back the page as I click on the different tabs. The RadEditors are contained in various user controls that represent the tab contents.
I created a sample app that I attached in order to isolate the problem as much as possible. You can see below that the sample app with one RadEditor leaks memory (although at a lower rate).
It is likely that upgrading to a newer browser would correct the leaks, but unfortunately, we're mandated by corporate IT to use IE8 and have no choice for upgrading the browser (Chrome and Firefox are not an option either).
Both the main app and sample app are built in VS2012 .NET 4.0 using Telerik RadControls for Ajax Q3 2013 v 2013.3.1114.40.
Thanks in advance for any assistance you can provide.
sIEve results of main app (leaks detected when moving between tabs):
Main app code (only snippets, since I can't post entire app):
Typical RadEditor tags:
<telerik:RadEditor ID="uxContactNotesTextBox" runat="server" style="width:100%;height:100%;" ToolsWidth="144px" EditModes="Design" ToolbarMode="Default" OnClientLoad="OnContactNotesEditorLoad" BorderStyle="Solid" BorderWidth="1px">
<Tools>
<telerik:EditorToolGroup>
<telerik:EditorTool Name="Save" />
<telerik:EditorSeparator />
<telerik:EditorTool Name="Cut" />
<telerik:EditorTool Name="Copy" />
<telerik:EditorTool Name="Paste" />
<telerik:EditorTool Name="AjaxSpellCheck" />
</telerik:EditorToolGroup>
</Tools>
</telerik:RadEditor>
<telerik:RadSpell ID="uxContactNoteSpellCheck" runat="server" ControlToCheck="uxContactNotesTextBox" ButtonType="PushButton" Style="display: none;" />
function OnContactNotesEditorLoad(editor, args) {
// set defaults for editor style
var style = editor.get_contentArea().style;
style.fontFamily = 'Segoe UI';
style.fontSize = '16px';
style.color = "black";
// detect when spell check is running
editor.add_spellCheckLoaded(function () {
var spell = editor.get_ajaxSpellCheck();
spell.add_spellCheckStart(function (editor, args) {
isContactNotesSpellChecking = true;
});
spell.add_spellCheckEnd(function (editor, args) {
isContactNotesSpellChecking = false;
});
});
}
sIEve results of sample app (auto-refresh enabled):
Sample app default.aspx:
default.aspx:
<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" validateRequest="false"%>
<!DOCTYPE html>
<html lang="en">
<head id="Head1" runat="server">
<meta charset="utf-8" />
<title>RadEditor Leak</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:ScriptManager runat="server">
<Scripts>
</Scripts>
</asp:ScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager" runat="server" UpdatePanelsRenderMode="Inline"/>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel" runat="server" />
<telerik:RadEditor ID="uxRadEditor" runat="server">
</telerik:RadEditor>
</form>
</body>
</html>
-ScottP