« Return to Thread: Locks on firefox

Re: Locks on firefox

by Bugzilla from fredrik@mumme.se :: Rate this Message:

Reply to Author | View in Thread

Thank you Arnaud !

Very descriptive, I did'nt know that.

/ Fredrik

torsdag 12 oktober 2006 08:25 skrev Arnaud Andrillon:

> I think I have same problem :
>
> Browser : Firefox 1.5 (config : default [keep-alive activated,
> network.http.max-persistent-connections-per-server : 2])
> DOJO version : HEAD [10-11-06]
>
> Using a synchronous XMLHttpRequest while loading a big enough document (
> greater than 65536 bytes) create a dead-lock :
> FF wait for server response for its XMLHttpRequest and the server waits
> for FF to read the content (document data)
>
> This code helps to reproduce the bug
> <html>
> <head>
> <script src="dojo/dojo.js.uncompressed.js"></script>
> <script>
> function docLoaded() {
> var http = dojo.hostenv.getXmlhttpObject();
> http.open('GET',"document.xml", false);
>
> alert("Calling sync XMLHttpRequest - it's gonna freeze ...");
> http.send(null);
> alert("Well, i guess they've fixed it, response (first fragment ) is " +
> http.responseText.substring(0, 255));
> }
>
> if (document.addEventListener)
> document.addEventListener("DOMContentLoaded", docLoaded, false);
>
> </script>
> </head>
> <body>
> <img src="img/Sunset.jpg" width="100" />
> <img src="img/Sunset1.jpg" width="100" />
> <img src="img/Sunset2.jpg" width="100" />
> <img src="img/Sunset3.jpg" width="100" />
> <img src="img/Sunset4.jpg" width="100" />
> </body>
> </html>
>
> This is not a DOJO problem, but you can reproduce this problem with DOJO :
> DOJO loads "required JS files" (and HTML templates) synchronously,
>
> Ex :
> Try to load an HTML page (using dojo) with 2 images (the number
> corresponds to the number of persistent connections allowed by firefox)
> whom size are greater than 65536 bytes
> (because FF loads 64Kb before allowing the server to send other
> response) , you will freeze FF
>
> Other example on Dean Edwards Blog :
> Try to open the link http://dean.edwards.name/weblog/2005/09/busted/ in
> the news " Dean Edwards’ DOMContentLoaded
> <http://dean.edwards.name/weblog/2006/06/again/> " with FireFox 1.5 (or
> 2.0 RC2)
>
> This bug only appears on the HEAD version because 0.3 version does not
> seem to use DOMContentLoaded, and window.onLoad wait for images complete
> loading. (which is bad for DOJO perf.)
>
> Ariel Falduto a écrit :
> > Why this chunk of code freezes all mi firefox ???
> >
> > anybody knows ... im currently trying to put some animated gif when
> > this file is loading but nothings happen cos' firefox locks everyting
> > =(
> >
> > what can i do ??
> >
> > NOTE: the size of "tab3.html" is 1 mb
> >
> > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
> > "http://www.w3.org/TR/html4/strict.dtd">
> > <html>
> > <head>
> > <script type="text/javascript">
> > var djConfig = {isDebug: true};
> > </script>
> > <script type="text/javascript"
> > src="scripts/dojo-0.3.1-ajax/dojo.js"></script>
> > <script type="text/javascript">
> > dojo.require("dojo.widget.ContentPane");
> >
> > function init() {
> > var pane = dojo.widget.byId("Pane1");
> > var status = dojo.byId("status");
> >
> > dojo.event.connect(dojo.byId("load"), "onclick", function(evt){
> > // load a new url into contentPane
> > pane.setUrl("tab3.html");
> > });
> >
> > dojo.event.connect(pane, "onDownloadStart", function(evt){
> > evt.preventDefault();
> > dojo.debug("Download started");
> > status.style.display = "block";
> > });
> >
> > dojo.event.connect(pane, "onDownloadEnd", function(evt){
> > // not defaultPrevent()'able
> > dojo.debug("Download finished");
> > status.style.display = "none"
> > });
> >
> > dojo.event.connect(pane, "onDownloadError", function(evt){
> > dojo.debug("Download error");
> > //evt.preventDefault(); // or
> > evt.returnValue = false;
> > status.style.display = "none";
> > })
> > }
> > dojo.addOnLoad(init);
> > </script>
> > </head>
> > <body>
> > <div id="status" style="position: absolute; top: 400px; left: 400px;
> > display:
> > none; background-color:yellow;">
> > Downloading new content, please wait...
> > </div>
> >
> > <a href="#" id="load">load some url into contentpane</a>
> >
> > <div dojoType="ContentPane" id="Pane1" style="border: 1px dotted
> > gray;width:
> > 200px; height:200px;">
> > Initial content in contentpane
> > </div>
> > </body>
> > </html>
> > _______________________________________________
> > Dojo FAQ: http://dojo.jot.com/FAQ
> > Dojo Book: http://manual.dojotoolkit.org/DojoDotBook
> > Dojo-interest@...
> > http://dojotoolkit.org/mailman/listinfo/dojo-interest
>
> _______________________________________________
> Dojo FAQ: http://dojo.jot.com/FAQ
> Dojo Book: http://manual.dojotoolkit.org/DojoDotBook
> Dojo-interest@...
> http://dojotoolkit.org/mailman/listinfo/dojo-interest
_______________________________________________
Dojo FAQ: http://dojo.jot.com/FAQ
Dojo Book: http://manual.dojotoolkit.org/DojoDotBook
Dojo-interest@...
http://dojotoolkit.org/mailman/listinfo/dojo-interest

 « Return to Thread: Locks on firefox