2009-04-19, 03:30 PM
My EWA is crashing (see below) when rendering the "Manage Recordings" page.
It appears that the source of the crash is an unenforced size limitation of 1000 "TreeView" display items within the EWA code.
On my system the total number of available, pending, and reoccurring recordings has just recently exceeded 1000. By default my "Manage Recordings" page is (was) configured to display "All" items via "TreeView". This causes the crash, and it is very reproducible. Once this occurs, the only way to get the page to render is to delete the cookie file to force the "Manage Recordings" settings back to the defaults (which will not attempt to display more than 1000 items).
I'm running the EWA version that was released along with 1.3.11.
Can you please change the code to avoid the crash? Perhaps just truncating the displayed items when the limit of 1000 items is exceeded? It would be nice to increase the limit beyond 1000 as well, but the crash is the most annoying part since the average user would not have a clue as to what went wrong and what would be required to avoid the problem.
Thanks!
By the way ... my family loves GBPVR ... and we all find the EWA interface to be extremely useful!
Here is the crash info:
[SIZE="1"][SIZE="3"]Server Error in '/gbpvr' Application.[/SIZE]
--------------------------------------------------------------------------------
[SIZE="2"]Index was outside the bounds of the array.[/SIZE]
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IndexOutOfRangeException: Index was outside the bounds of the array.
Source Error:
Line 429: displayProgramme.FillProgrammeTreeArrayItem(treeItem, Server, programme, scheduledRecording, true, channel);
Line 430: //Add the loaded ProgrammeTreeITem to the Array
Line 431: pgmTree[treeIdx] = treeItem;
Line 432: treeIdx = treeIdx + 1;
Line 433: }
Source File: c:\Program Files\devnz\gbpvr\web\Manage2.aspx.cs Line: 431
Stack Trace:
[IndexOutOfRangeException: Index was outside the bounds of the array.]
gbweb.Manage2.processTree(ProgrammeDisplay2 displayProgramme, Programme programme, ScheduledRecording scheduledRecording) in c:\Program Files\devnz\gbpvr\web\Manage2.aspx.cs:431
gbweb.Manage2.processViews() in c:\Program Files\devnz\gbpvr\web\Manage2.aspx.cs:341
gbweb.Manage2.Page_PreRender(Object sender, EventArgs e) in c:\Program Files\devnz\gbpvr\web\Manage2.aspx.cs:43
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Control.OnPreRender(EventArgs e) +80
System.Web.UI.Control.PreRenderRecursiveInternal() +88
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5676
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433[/SIZE]
It appears that the source of the crash is an unenforced size limitation of 1000 "TreeView" display items within the EWA code.
On my system the total number of available, pending, and reoccurring recordings has just recently exceeded 1000. By default my "Manage Recordings" page is (was) configured to display "All" items via "TreeView". This causes the crash, and it is very reproducible. Once this occurs, the only way to get the page to render is to delete the cookie file to force the "Manage Recordings" settings back to the defaults (which will not attempt to display more than 1000 items).
I'm running the EWA version that was released along with 1.3.11.
Can you please change the code to avoid the crash? Perhaps just truncating the displayed items when the limit of 1000 items is exceeded? It would be nice to increase the limit beyond 1000 as well, but the crash is the most annoying part since the average user would not have a clue as to what went wrong and what would be required to avoid the problem.
Thanks!
By the way ... my family loves GBPVR ... and we all find the EWA interface to be extremely useful!
Here is the crash info:
[SIZE="1"][SIZE="3"]Server Error in '/gbpvr' Application.[/SIZE]
--------------------------------------------------------------------------------
[SIZE="2"]Index was outside the bounds of the array.[/SIZE]
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IndexOutOfRangeException: Index was outside the bounds of the array.
Source Error:
Line 429: displayProgramme.FillProgrammeTreeArrayItem(treeItem, Server, programme, scheduledRecording, true, channel);
Line 430: //Add the loaded ProgrammeTreeITem to the Array
Line 431: pgmTree[treeIdx] = treeItem;
Line 432: treeIdx = treeIdx + 1;
Line 433: }
Source File: c:\Program Files\devnz\gbpvr\web\Manage2.aspx.cs Line: 431
Stack Trace:
[IndexOutOfRangeException: Index was outside the bounds of the array.]
gbweb.Manage2.processTree(ProgrammeDisplay2 displayProgramme, Programme programme, ScheduledRecording scheduledRecording) in c:\Program Files\devnz\gbpvr\web\Manage2.aspx.cs:431
gbweb.Manage2.processViews() in c:\Program Files\devnz\gbpvr\web\Manage2.aspx.cs:341
gbweb.Manage2.Page_PreRender(Object sender, EventArgs e) in c:\Program Files\devnz\gbpvr\web\Manage2.aspx.cs:43
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +13
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Control.OnPreRender(EventArgs e) +80
System.Web.UI.Control.PreRenderRecursiveInternal() +88
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5676
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433[/SIZE]