Page 1 of 5 123 ... LastLast
Results 1 to 10 of 42

Thread: [DEFER-717][2.x,3.x] Stack overflow in IE6/7 using prototype 1.6.1_rc3

    Thank you for reporting this bug. We will make it our priority to review this report.
  1. #1

    Default [DEFER-717][2.x,3.x] Stack overflow in IE6/7 using prototype 1.6.1_rc3

    I am really having a difficult time solving this one today....

    At this point I am no longer even running any ext code at all I am only trying to get the page to load without creating a stack overflow error.

    This occurs when including Prototype 1.6.1_rc3 and Ext 3.0 together on the same page, this is my include structure:

    <script type="text/javascript" src="/js/prototype.js"></script>
    <script type="text/javascript" src="/js/scriptaculous.js"></script>
    <script type="text/javascript" src="/js/ext/adapter/prototype/ext-prototype-adapter.js"></script>
    <script type="text/javascript" src="/js/ext/ext-all.js"></script>

    I have narrowed down the error to the Ext.apply block and the createDelegate function inside the ext-prototype-adapter.js

    file, I am not sure if this is where the error is actually occuring or if the prototype library is somehow colliding with this block of code.

    This is only an issue in IE6 and randomly in IE7, and only occurs with any of the Prototype 1.6.1(x) versions, when prototype

    is rolled back to 1.6.0.3 everything works as it should.

    If anyone else has had any luck with this issue or if anyone ahs any suggestions I would be very appreciative. Thanks guys.

  2. #2

    Default

    surely atleast one other person on these forums uses prototype and ext together.....???

  3. #3
    Sencha User Condor's Avatar
    Join Date
    Mar 2007
    Location
    The Netherlands
    Posts
    24,246

    Default

    Not many users are working with the prototype release candiate.

    Could you post a testcase that demonstrates the problem?

  4. #4

    Default

    This is a full page that it throws the error in Internet Explorer 6. Notice all that I am doing is simply including these 2 files on the page, I am not even running any javascript code at all.

    HTML Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    
    <script type="text/javascript" src="/js/prototype.js"></script>
    <script type="text/javascript" src="/js/scriptaculous.js"></script>
    <script type="text/javascript" src="/js/ext/adapter/prototype/ext-prototype-adapter.js"></script>
    <script type="text/javascript" src="/js/ext/ext-all.js"></script>
    
    </head>
    
    <body>
    </body>
    
    </html>

  5. #5

    Default

    Could you be attempting "recursive include?"

  6. #6
    Sencha User Condor's Avatar
    Join Date
    Mar 2007
    Location
    The Netherlands
    Posts
    24,246

    Default

    No, it has to do with the fact that both Ext and Prototype define a defer method on Function.

    The Prototype version doesn't allow specifying a delay or a scope and just calls the method with the same scope after 10ms with the specified parameters.

    The infinite loop is caused by Prototype calling pollDoScroll.defer() (no parameters) which will cause the Ext defer method to directly call pollDoScroll without any delay.

    I'm going to move this thread to bugs sections.

  7. #7
    Sencha Premium User evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    19,250

    Default

    I'm not really sure how to go about this one.

    We can't modify the default behaviour of the Ext defer function, even if we include a special version for prototype it's still going to cause problems because of the way the methods are called.
    Twitter - @evantrimboli
    Former Sencha framework engineer, available for consulting.
    As of 2017-09-22 I am not employed by Sencha, all subsequent posts are my own and do not represent Sencha in any way.

  8. #8
    Sencha User Condor's Avatar
    Join Date
    Mar 2007
    Location
    The Netherlands
    Posts
    24,246

    Default

    I also don't see a way to fix this without breaking compatibility somewhere.

    Maybe we should consider deprecating all extensions to build-in javascript types (String, Date, Number, Array, Function) in Ext 4.0.
    The methods should be moved within the Ext namespace and the overrides of the build-in types should be moved to a legacy js file (that can be excluded when required).

  9. #9

    Default

    Thank you guys so much for looking at this, I know prototype 1.6.1 is about to be officially released, but I am not sure of any changes to the defer method....

    Do any of you have any suggestions or workarounds to possibly get around the issue?

  10. #10
    Sencha Premium User evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    19,250

    Default

    Make sure any calls to defer() in prototype pass at least 1 parameter (the delay).
    Twitter - @evantrimboli
    Former Sencha framework engineer, available for consulting.
    As of 2017-09-22 I am not employed by Sencha, all subsequent posts are my own and do not represent Sencha in any way.

Page 1 of 5 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •