5 Replies Latest reply on Jun 14, 2006 7:00 AM by burlando3990

    Repeated retrieval and parsing of XML file causes IE to display an error message

      I have a flash application that makes a HTTP call every 120 seconds to retrieve a xml file. This file is being generated with fresh data every few minutes or so and pushed to the apache web root with a unix mv command.

      I'm using the standard Flash XML object. The HTTP request is NOT over SSL (I know there is a bug related to this). Here is the code to make the retrieval:
      xmlData = null;
      xmlData = new XML();
      xmlData.ignoreWhite = true;
      xmlData.onLoad = xmlTraverse;
      xmlData.load(" http://domain/dir/somefile.xml");

      The "xmlTraverse" method was written by my team. There is no known bug in the parsing logic.

      Intermittently and unpredictably, IE will display the following dialogue box:
      "A script in this movie is causing Macromedia Flash Player 8 to run slowly. If it continues to run, your computer may become unresponive. Do you want to abort the script?"

      I originally leaned toward an infinite loop causing this problem. The timeline jumps back and forth between two frames, checking in the latter frame if the xml has been loaded and parsed before allowing execution to move to the next frame. I hardcoded the loop check to always be false, but this did not produce the message above (although it pegged my CPU).

      The only scenario where I've managed to reproduce the message above is by making a huge (50 MB) xml file. This consistently produces the message. But I don't realistically see how our xml file could ever be over 1 MB.

      First, can anyone cite another cause for this message? I'm starting to lean towards the issue lying in our parsing logic such as infinite recursion on a badly formed XML file. Second, does anyone know of a solid xml SAX parsing actionscript utility where you can assign callbacks to XML nodes? If the problem is in the parsing, we may have to replace our homegrown solution with something more robust and proven.