Stack Overflow with LoadOnDemand

14 posts, 0 answers
  1. Adam
    Adam avatar
    177 posts
    Member since:
    Oct 2012

    Posted 23 Oct 2008 Link to this post

    I'm using a radcombobox with the loadondemand functionality. Here is the definition:

    <telerik:RadComboBox Height="200px" EnableVirtualScrolling=True ShowMoreResultsBox=True NoWrap=True OnItemsRequested="FillDomain" ID="cboDom21" runat="server" EnableItemCaching="True" EnableLoadOnDemand="True" 
                                                Width="250px" Visible=False Sort="Ascending"
                                                <CollapseAnimation Duration="200" Type="OutQuint" /> 
                                            </telerik:RadComboBox> 

    Here is the code for the function that is filling the combobox (This is from the FillDomain function)

    Dim drs() As DataRow = dt.Select("Text like '%" & e.Text.Replace("'""''") & "%'""Text ASC"
     
            Try 
                Dim itemsPerRequest As Integer = 100 
                Dim itemOffset As Integer = e.NumberOfItems 
                Dim endOffset As Integer = itemOffset + itemsPerRequest 
                If endOffset > drs.Length Then 
                    endOffset = drs.Length 
                End If 
     
                If endOffset = drs.Length Then 
                    e.EndOfItems = True 
                End If 
                Dim i As Integer = itemOffset 
                While i < endOffset 
                    ctlCbo.Items.Add(New Telerik.Web.UI.RadComboBoxItem(drs(i)("Text").ToString(), drs(i)("Value").ToString())) 
                    i = i + 1 
                End While 
     
                If drs.Length > 0 Then 
                    e.Message = [String].Format("Items <b>1</b>-<b>{0}</b> out of <b>{1}</b>", endOffset.ToString(), drs.Length.ToString()) 
                Else 
                    e.Message = "No matches" 
                End If 
            Catch 
                e.Message = "No matches" 
            End Try 

    The problem that I'm having is that after I go through and start typing things into the combobox and removing characters (basically just messing around with it testing the functionality), I end up getting a popup that says "Stack overflow at line: 117". I was getting them on different lines, but 117 seems to be the line that is causing an issue right now. I know it isn't line 117 of the code in my page and must be something under the covers in RadComboBox. Finally, the main data source for this box has over 10,000 items in it that is being filtered.

    Any idea how I can fix this, if a fix is available, or if I can get around it.

    Thanks,
    Adam
  2. Rosi
    Admin
    Rosi avatar
    2527 posts

    Posted 24 Oct 2008 Link to this post

    Hello Adam,

    Thank you for your interest in our control.

    We are not sure what cause the issue. Do you experience the same problem with less items?
    Also, please find the attached beta Q3 release to this message.

    It contains performance improvements in RadComboBox implementation. You can download it and test it.

    Regards,
    Rosi
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Adam
    Adam avatar
    177 posts
    Member since:
    Oct 2012

    Posted 24 Oct 2008 Link to this post

    Unfortunately, the patch didn't work. Now I get the error on Line 63. It does not appear to happen when there are fewer items in the main dataset. I thought that perhaps it had to do with how quickly I was typing into the combobox, but that doesn't seem to make a difference either. I can type it slowly or quickly, and I'll still get the error.
  5. Rosi
    Admin
    Rosi avatar
    2527 posts

    Posted 27 Oct 2008 Link to this post

    Hello Adam,

    I suggest you use the ShowMoreResultsBox property of RadComboBox. The ShowMoreResultsBox mechanism allows you to load portions of items, thus achieving a better performance when a huge amount of items is meant to be loaded. I suggest you load items on portion by 1000.

    Regards,
    Rosi
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  6. Adam
    Adam avatar
    177 posts
    Member since:
    Oct 2012

    Posted 27 Oct 2008 Link to this post

    The ShowMoreResultsBox has been enabled. I changed the number of items per request to 1000 and now it gets the error on line 665 (using the latest version of the 2008 Q2 controls).
  7. Rosi
    Admin
    Rosi avatar
    2527 posts

    Posted 28 Oct 2008 Link to this post

    Hello Adam,

    Please find the attached project.

    Do you experience the same problem with it? It works as expected at our side.

    Could you send us a live url where we can see the problem?

    Regards,
    Rosi
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  8. Adam
    Adam avatar
    177 posts
    Member since:
    Oct 2012

    Posted 28 Oct 2008 Link to this post

    I compared my settings with what you had. It appears that the problem is in the EnableItemCaching property. When I have it turned on, I get the stack overflow errors, when I turn it off or remove it, the errors no longer occur. This may be something worth looking into.

    Thanks,
    Adam
  9. Rosi
    Admin
    Rosi avatar
    2527 posts

    Posted 28 Oct 2008 Link to this post

    Hi Adam,

    I enabled the EnableItemCaching  property in the project which I have sent you. However the problem still does not exist.
     
    Could you please open a support ticket and send us a sample project illustrating the problem or a live url to test it locally? This will really help us to find the problem and solve it.

    Regards,
    Rosi
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  10. Adam
    Adam avatar
    177 posts
    Member since:
    Oct 2012

    Posted 28 Oct 2008 Link to this post

    You need to use items that are longer than 1 character in length (probably in the 25-50 character range would be better). The problem usually occurs after typing in at least 2 letters. It will pause for a while and then popup the error message. I've had it error out on as few as 2 characters entered, and up to 4 characters. Usually when I find a combination that breaks it, it will continue to break it until I make a change of some kind and then the combination of characters may have to change to get it to consistently break again. 
  11. Rosi
    Admin
    Rosi avatar
    2527 posts

    Posted 29 Oct 2008 Link to this post

    Hello Adam,

    We have modified the project and try to reproduce the problem but to no avail. You can see the attached movie and project for a reference.

    Are we doing something wrong?

    Regards,
    Rosi
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  12. Adam
    Adam avatar
    177 posts
    Member since:
    Oct 2012

    Posted 30 Oct 2008 Link to this post

    Here is a link to a video of it throwing the errors.

  13. Rosi
    Admin
    Rosi avatar
    2527 posts

    Posted 31 Oct 2008 Link to this post

    Hi Adam,

    Please find the attached latest internal build. This should fix the problem.

    Best wishes,
    Rosi
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  14. Adam
    Adam avatar
    177 posts
    Member since:
    Oct 2012

    Posted 05 Nov 2008 Link to this post

    It appears that the hotfix would solve the issue. When can we expect an official release of this fix?

    Thanks,
    Adam
  15. Rosi
    Admin
    Rosi avatar
    2527 posts

    Posted 05 Nov 2008 Link to this post

    Hi Adam,

    This fix will be released in our Q3 release until the end of the week.

    Kind regards,
    Rosi
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
Back to Top
UI for ASP.NET Ajax is Ready for VS 2017