Results 1 to 9 of 9
  1. #1
    Member
    Join Date
    Sep 2009
    Location
    test
    Posts
    6

    Occasional javascript exceptions in IE6

    Hi all,

    I have some problem with Lightstreamer Client API in IE. Sometimes data on a streaming page freeze, but sometimes messages with error 120 appears. I check this in IE6. Also this page is tested in Chrome, FireFox and Opera, where it works fine. I've fixed error 120 through reloading the page. But data continue to freeze sometimes. I allowed script debugging in Internet Explorer and then saw the next javascript exception:

    Code:
    msxml3.dll: The download of the specified resource has failed.
    This exception occures in http://push.somedomain.com/lightstre...jax_frame.html, in function sendRequestExecution(...) on line 83.

    Code:
    requestObject.sender.send(_url);
    I adduce source code of the streaming page:

    Code:
    //////////////// Master Push-Page Configuration
    
    var pushPage = new PushPage();
    pushPage.context.setDebugAlertsOnClientError(false);
    pushPage.context.setRemoteAlertsOnClientError(true);
    pushPage.context.setDomain("somedomain.com");
    
    function reloadClient(code, text) {
      if( code == 120 ) {
        // sometime this error occures in IE
        setTimeout( function(){location.href = location.href + "&Test=" + code;}, 10 ); // it helps
      } else {
        setTimeout( function(){alert("Error " + code + "\n" + text);}, 10 );
      }
    };
    
    pushPage.onClientAlert = reloadClient;
    
    pushPage.onEngineCreation = function(lsEngine) {
      lsEngine.onClientAlert = reloadClient;
      lsEngine.context.setDebugAlertsOnClientError(false);
      lsEngine.context.setRemoteAlertsOnClientError(true);
      lsEngine.connection.setLSHost("push.somedomain.com");
      lsEngine.connection.setLSPort(80);
      lsEngine.connection.setAdapterName("DATALISTADAPTER");
      lsEngine.changeStatus("STREAMING");
    };
    
    pushPage.bind();
    pushPage.createEngine("DataListEngine", "ls/", "SHARE_SESSION", true);
    
    //////////////// Table Management
    
    // create an OverwriteTable; item and field names will be grabbed from
    // the corresponding HTML divs
    var table = new OverwriteTable(null, null, "MERGE");
    
    table.setDataAdapter("DATA_ADAPTER");
    table.setSnapshotRequired(true);
    
    table.onChangingValues = function(itemPos, visualUpdateInfo, itemName) {
      // some highlighting effect
    };
    
    table.onItemUpdate = function(itemPos, updateItemInfo, itemName) {
      // some field is added
    };
    
    // bind the table to the corresponding HTML divs
    pushPage.addTable(table, "data");
    What is incorrect in this code? Or how it may be change in order to avoid problems in IE?

    NB 1. We don't use somedomain.com for this project, the streaming page and other its pages load from www2.somedomain.com. All listed domains are attached to different machines.

    NB 2. The streaming page works through two iframe items.

  2. #2
    Power Member
    Join Date
    Jul 2006
    Location
    Cesano Maderno, Italy
    Posts
    784
    Hi Test6405

    the error 120 is just a client alert and can be a false positive (we've improved the detection with our latest developments so that such alert will be more effective from the next distribution on). Some info about it can be found here: http://www.lightstreamer.com/vb/showthread.php?t=354

    About the error we've never seen anything like that.
    Is such error strictly related with the freeze you're experiencing?
    Can you post a snippet of your server log that shows the requests sent by IE6 during a "seession" where you saw such error?
    Which kind of IE6 are you using? A standalone version or a complete version? (complete versions can be easily tested within a virtual machine, see http://www.microsoft.com/downloads/d...displaylang=en )

    About the freeze,
    is the CPU saturated when it happens?
    which is the engine status when it happens?
    Can you post a snippet of your server log that shows the requests sent by IE6 during a "seession" where you saw such freeze?

  3. #3
    Member
    Join Date
    Sep 2009
    Location
    test
    Posts
    6
    Hi Mone,
    Quote Originally Posted by Mone
    Is such error strictly related with the freeze you're experiencing?
    Yes, because when I refuse debugging, then streaming is frozen.
    Quote Originally Posted by Mone
    Which kind of IE6 are you using?
    I use standalone version which is standard delivery in Windows XP SP2. Version: 6.0.2900.2180.xpsp_sp2...
    Quote Originally Posted by Mone
    About the freeze,
    is the CPU saturated when it happens?
    which is the engine status when it happens?
    No, CPU is unsaturated. And when streaming is frozen, it's suffice to close the push-page and only then other streaming pages reload. I will check engine status.
    Quote Originally Posted by Mone
    Can you post a snippet of your server log that shows the requests sent by IE6 during a "seession" where you saw such freeze?
    Please, send me your mail.

    Thanks for your response.

  4. #4
    Administrator
    Join Date
    Jul 2006
    Location
    Milan
    Posts
    1,089
    You can send a private message to me or to Mone through this forum.
    Alternatively, if no private information is included in the log, you can send the log as an attachment to your next post.
    As the last resort, please write to support@lightstreamer.com

    Is it possible that you open multiple engines in your application?
    Otherwise, we need more information to proceed.
    Please ensure that the "LightstreamerLogger.connections" category is set as DEBUG in the Server log configuration file when you get the log.

  5. #5
    Member
    Join Date
    Sep 2009
    Location
    test
    Posts
    6

    Occasional javascript exceptions in IE 6 and IE 7

    Hi all,

    today I have deployed my pages in IIS and tested them with Lightstreamer on one local machine. Here is attached log file.

    This exception occures with status CONNECTING. It reproduces also in Internet Explorer 7.0.5730.13.

    Quote Originally Posted by DarioCrivelli
    Is it possible that you open multiple engines in your application?
    Otherwise, we need more information to proceed.
    I sent source code that works with Lightstreamer in first post. Por se our application presents a page with one table (its javascript code is shown above), which works through two iframe tags.

    Quote Originally Posted by DarioCrivelli
    Please ensure that the "LightstreamerLogger.connections" category is set as DEBUG in the Server log configuration file when you get the log.
    Done. Log file is attached, it consists my comments about when and what has occurred.
    Attached Files Attached Files

  6. #6
    Administrator
    Join Date
    Jul 2006
    Location
    Milan
    Posts
    1,089
    Thank you for the commented log.
    The log shows that 2 sessions (which means two engines) are active concurrently;
    in some cases, one of the two sessions closes, but it is immediately replaced by a new one.
    Do you remember how many distinct instances of IE were open during the test?
    If a single browser instance had been open, the above should not have happened and could have caused problems because of the small connection pool provided by IE.
    Note that a IE6 or IE7 window spawned from an existing window still belongs to the same process.

    The exhaustion of the connection pool is consistent with error 120 and it might explain the error on requestObject.sender.send as a timeout in the XMLHttpRequest execution.
    You say that the application is made of two iframes. Are the two pages downloaded from the same host? Is the page that contains the two iframes downloaded from a different host?
    Is it possible for us to connect to your testcase? You might send us instructions through a private message, if needed.

  7. #7
    Member
    Join Date
    Sep 2009
    Location
    test
    Posts
    6
    Quote Originally Posted by DarioCrivelli
    Do you remember how many distinct instances of IE were open during the test?
    If a single browser instance had been open, the above should not have happened and could have caused problems because of the small connection pool provided by IE.
    Note that a IE6 or IE7 window spawned from an existing window still belongs to the same process.
    I think one instance of IE was open during that test, because I launched first demo page in a new window in IE 6, but other pages was started from links on first page.

    Those javascript exceptions, errors specified as 120 or just frozen data occured even with one window of IE. Today I had tested the streaming page in one window of IE 6. It has simply frosen in some time (without exceptions). See attached log file.

    Quote Originally Posted by DarioCrivelli
    You say that the application is made of two iframes. Are the two pages downloaded from the same host? Is the page that contains the two iframes downloaded from a different host?
    The streaming page with a table works through two iframe tags, which are embedded one in another. First iframe tag is used for embedding our table in different sites and second iframe is for getting top location through javascript code in order to prevent breaking out of frame by unauthorized sites. For development purposes, all those page are placed on the same host, but later it was planned for embedding through iframe to other domains.
    Attached Files Attached Files

  8. #8
    Administrator
    Join Date
    Jul 2006
    Location
    Milan
    Posts
    1,089
    So, the two frames do not represent two twin PushPages. Does this mean that your application is made of just one PushPage and, in your last experiment, only one PushPage was involved?
    In an earlier post you said that "when streaming is frozen, it's suffice to close the push-page and only then other streaming pages reload".
    Was this last case different?

    This new log is very simple and shows no signs of a client connection pool exhaustion.
    At 14:27:31,281 the connection is replaced. Is before that time that you experienced the freezing?
    Did you notice if the Engine status had become "stalled" before that time? You can implement onStatusChange to show that information, if needed.
    Did the page freeze by itself or as a consequence of some action on the page? Do you think that this case could be related with this post?

    Unfortunately, the issue manifests itself in various ways. There is even no evidence that only one issue is occurring.
    This last case is simple and we would like to keep investigating on this one for now.

  9. #9
    Member
    Join Date
    Sep 2009
    Location
    test
    Posts
    6
    Quote Originally Posted by DarioCrivelli
    So, the two frames do not represent two twin PushPages. Does this mean that your application is made of just one PushPage and, in your last experiment, only one PushPage was involved? In an earlier post you said that "when streaming is frozen, it's suffice to close the push-page and only then other streaming pages reload". Was this last case different?
    Yes, I tested only one page.

    Quote Originally Posted by DarioCrivelli
    At 14:27:31,281 the connection is replaced. Is before that time that you experienced the freezing? Did you notice if the Engine status had become "stalled" before that time?
    Because this error is casual and appears with frequency from 10 minutes to some hours, I had noticed the freezing when the page had status CONNECTING.

    Quote Originally Posted by DarioCrivelli
    Did the page freeze by itself or as a consequence of some action on the page? Do you think that this case could be related with this post?
    No, because that doesn't explain the freezing.

 

 

Similar Threads

  1. bubbling exceptions from table listener?
    By sky.sanders@gmail.com in forum Client SDKs
    Replies: 1
    Last Post: June 11th, 2012, 10:45 AM
  2. SDK for JavaScript?
    By rufnex in forum General
    Replies: 1
    Last Post: September 17th, 2007, 10:57 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT +1. The time now is 09:11 AM.