The Dreadful blank screen.

24 views
Skip to first unread message

Pratap Chakravarthy

unread,
Feb 7, 2010, 9:59:14 AM2/7/10
to Harshad RJ, zeta-d...@googlegroups.com
Harshad,

I am here summarizing past 2 days of roller coaster ride to decode
this problem. Also CCing "zeta-discuss"

Problem :
While accessing Zeta sites via FF3.5 the user get random blank pages.
Like the one discussed here,
http://article.gmane.org/gmane.comp.web.dojo.devel/11655

Decoding so far,

* Looks like from Firefox 3+ versions, developers are strongly advised
to not to use "Synchronous XHR" requests. Refer,
https://developer.mozilla.org/En/Using_XMLHttpRequest
* In FF3.5 some events are getting fired while a synchronous XHR is waiting.
* Image on load is getting fired before the actual image is loaded.
Refer, https://bugzilla.mozilla.org/show_bug.cgi?id=521894

Zeta is using dojo, and dojo's dojo.require() interface to load JS
modules. Now, before JS modules are getting loaded, onload events (?)
seem to be getting fired and thus causing a blank page. Specifically,
there are mails in dojo-discussion groups that suspects the cause is
because of document.write() (this I cannot confirm as of now in Zeta's
case).

For now,
I suspect that the problem is due to XHR request being pre-empted by
onload handler and so, I have re-factored all the templates to not to
use dojo.require() and built everything into dojo.js, dijit.js and
dojogrid.js, which are fetched using <script> tags. This seems to
"reduce the probability of blank pages".

I will go ahead with 0.5 beta 2 release and take a wait and watch
approach to this issue, since this problem does not ever occur in
FF3.0.
Though this bug report seems to indicate similar issue in FF3.0
https://bugzilla.mozilla.org/show_bug.cgi?id=478277. Is Zeta just
getting lucky on FF3.0 then ? ;-)

There were also couple of fixes in dojo between 1.3 and 1.4 version
related to FF3+ compliance. So I am upgrading Zeta to Dojo release
1.4.1.
http://bugs.dojotoolkit.org/ticket/8976
http://trac.dojotoolkit.org/ticket/9663 (marked for future release)
http://article.gmane.org/gmane.comp.web.dojo.devel/12147

If any one is using FF3.6 please let me know whether u are facing this
issue. You can check this @ sandbox.devwhiz.net with login
admin/admin123

PS: This blog discuss similar issue,
http://www.nczonline.net/blog/2009/07/09/firefox-35firebug-xmlhttprequest-and-readystatechange-bug/

Cheers,

On Fri, Feb 5, 2010 at 9:41 AM, Harshad RJ <harsh...@gmail.com> wrote:
> Checked in FF 3.5 and it is working fine.
>
> Only thing is, it's very slow compared to earlier. It is making several
> requests to server for every page. If you have solved the race-condition,
> why not set the expires header to atleast a few minutes or hours in future?
>
> On Fri, Feb 5, 2010 at 9:32 AM, Pratap Chakravarthy <prat...@gmail.com>
> wrote:
>>
>> Some more update,
>>
>> 1. Seem to be working fine on 3.0, 3.5, 3.6 versions of Firefox in
>> Windows.
>> 2. Seem to working fine on Chrome in Windows.
>>
>> Havn't yet checked with 3.6 on Linux. If you can get your hands on it,
>> please let me know.
>>
>> On Thu, Feb 4, 2010 at 10:25 AM, Harshad RJ <harsh...@gmail.com> wrote:
>> > Nope, no such scripts.
>> >
>> > On Thu, Feb 4, 2010 at 9:51 AM, Pratap Chakravarthy <prat...@gmail.com>
>> > wrote:
>> >>
>> >> By any chance, are you using add-ons like NoScript etc ... ? Just
>> >> collecting more inputs from u.
>> >>
>> >> On Thu, Feb 4, 2010 at 12:03 AM, Harshad RJ <harsh...@gmail.com>
>> >> wrote:
>> >> > Now I see this error:
>> >> >
>> >> > dijit.layout is undefined
>> >> > zwidgets.js() zwidgets.js (line 1953)
>> >> > [dijit.layout.ContentPane, dijit._Templated], zwidgets.js (line 1953)
>> >> >
>> >> > On Wed, Feb 3, 2010 at 11:32 PM, Pratap Chakravarthy
>> >> > <prat...@gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> Okay, looks like as per the documentation the sequence should not
>> >> >> break anything, because, dojo's onload event is called only after
>> >> >> all
>> >> >> the resources referenced by the page are fetched.
>> >> >>
>> >> >> But this link says something about firefox 3.5, where now, FF is
>> >> >> trying to render as it loads in the background, I do not fully
>> >> >> understand this.
>> >> >>
>> >> >> I am just wondering whether this problem will be occurring with
>> >> >> other
>> >> >> browsers like, chrome.
>> >> >>
>> >> >> Nevertheless I have sequence zlib.js referencing element before the
>> >> >> inline JS element. Can u see any difference ?
>> >> >>
>> >> >> On Wed, Feb 3, 2010 at 11:16 PM, Pratap Chakravarthy
>> >> >> <prat...@gmail.com>
>> >> >> wrote:
>> >> >> > Boy, I think you could have spotted the problem.
>> >> >> > Some how, zlib.js expires while u are browsing, and you seem to be
>> >> >> > getting this problem. Hold, will check the script execution
>> >> >> > sequence
>> >> >> > in FF and be back.
>> >> >> >
>> >> >> > On Wed, Feb 3, 2010 at 11:10 PM, Harshad RJ <harsh...@gmail.com>
>> >> >> > wrote:
>> >> >> >> There's nothing in the NETpanel except the GET request for the
>> >> >> >> primary
>> >> >> >> URL:
>> >> >> >> http://uproot.devwhiz.net/p/test/t
>> >> >> >>
>> >> >> >> I can see that in the html, the reference to zlib is coming after
>> >> >> >> the
>> >> >> >> call
>> >> >> >> to init_zeta
>> >> >> >>
>> >> >> >> Dunno if that makes a difference.
>> >> >> >>
>> >> >> >>
>> >> >> >> On Wed, Feb 3, 2010 at 11:06 PM, Pratap Chakravarthy
>> >> >> >> <prat...@gmail.com>
>> >> >> >> wrote:
>> >> >> >>>
>> >> >> >>> The only reason for that could be, because zlib.js is not loaded
>> >> >> >>> properly. If u still have the firebug open, can u check the Net
>> >> >> >>> panel,
>> >> >> >>> and see what it says for zlib.js ?
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> On Wed, Feb 3, 2010 at 11:01 PM, Harshad RJ
>> >> >> >>> <harsh...@gmail.com>
>> >> >> >>> wrote:
>> >> >> >>> > It is not related to gzip. I have it all enabled.
>> >> >> >>> >
>> >> >> >>> > I think I found the problem. It's showing a javascript error:
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> > flashmsghandler is not defined
>> >> >> >>> >
>> >> >> >>> > Stack trace:
>> >> >> >>> >
>> >> >> >>> > init_zeta()t (line 38)
>> >> >> >>> > toString()dojo.js (line 16)
>> >> >> >>> > toString()dojo.js (line 16)
>> >> >> >>> > toString()dojo.js (line 16)
>> >> >> >>> > toString()dojo.js (line 16)
>> >> >> >>> > dojo.subscribe( 'flash', null, flashmsghandler );
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> > On Wed, Feb 3, 2010 at 7:38 PM, Pratap Chakravarthy
>> >> >> >>> > <prat...@gmail.com>
>> >> >> >>> > wrote:
>> >> >> >>> >>
>> >> >> >>> >> Hey when u find time, can you track request - response
>> >> >> >>> >> between
>> >> >> >>> >> firefox<->Server with LiveHTTPHeaders ? I am using GZip by
>> >> >> >>> >> default.
>> >> >> >>> >> I
>> >> >> >>> >> am not sure whether this is causing the problem.
>> >> >> >>> >> It would also be helpful to see the number of urls fetched
>> >> >> >>> >> (using
>> >> >> >>> >> firebug or LiveHTTPHeaders)
>> >> >> >>> >>
>> >> >> >>> >> Thanks,
>> >> >> >>> >>
>> >> >> >>> >> On Wed, Feb 3, 2010 at 5:58 PM, Harshad RJ
>> >> >> >>> >> <harsh...@gmail.com>
>> >> >> >>> >> wrote:
>> >> >> >>> >> > Attached HTML of blank page
>> >> >> >>> >> >
>> >> >> >>> >> > On Wed, Feb 3, 2010 at 5:52 PM, Pratap Chakravarthy
>> >> >> >>> >> > <prat...@gmail.com>
>> >> >> >>> >> > wrote:
>> >> >> >>> >> >>
>> >> >> >>> >> >> 0.43dev
>> >> >> >>> >> >> -------
>> >> >> >>> >> >> (Zwiki version : 0.82dev)
>> >> >> >>> >> >> (Database version : 0.8 )
>> >> >> >>> >> >>
>> >> >> >>> >> >> - Zeta features and enhancements
>> >> >> >>> >> >>    - User password is stored as hash digest.
>> >> >> >>> >> >>    - XMLRPC defined and implemented, enabling third-party
>> >> >> >>> >> >> applications
>> >> >> >>> >> >> to
>> >> >> >>> >> >>      interface.
>> >> >> >>> >> >>    - XMLRPC client for python.
>> >> >> >>> >> >>    - Zeta integrated with Vim.
>> >> >> >>> >> >>    - Vim plugin for syntax highlighting for ZWiki text.
>> >> >> >>> >> >>    - Library to parse plain text from 3rd party
>> >> >> >>> >> >> application
>> >> >> >>> >> >> to
>> >> >> >>> >> >> structured
>> >> >> >>> >> >>      object to interface with Zeta.
>> >> >> >>> >> >>    - Ticket filters like resolved, unresolved added for
>> >> >> >>> >> >> ticket
>> >> >> >>> >> >> index.
>> >> >> >>> >> >>    - Database upgradation libraries.
>> >> >> >>> >> >>
>> >> >> >>> >> >> - Zeta bugfixes
>> >> >> >>> >> >>    - UAT initiated.
>> >> >> >>> >> >>    - Improved templates for ticket, wiki, vcs, review
>> >> >> >>> >> >> index.
>> >> >> >>> >> >>    - Improved performance for submit request.
>> >> >> >>> >> >>
>> >> >> >>> >> >>
>> >> >> >>> >> >> 0.5b1
>> >> >> >>> >> >> -----
>> >> >> >>> >> >> (Zwiki version : 0.83dev)
>> >> >> >>> >> >> (Database version : 0.9 )
>> >> >> >>> >> >>
>> >> >> >>> >> >> - Zeta features and enhancements
>> >> >> >>> >> >>    - release-upgrade-regression process created to test
>> >> >> >>> >> >> the
>> >> >> >>> >> >> stability
>> >> >> >>> >> >> of
>> >> >> >>> >> >> an
>> >> >> >>> >> >>      existing deployment when upgraded to the latest
>> >> >> >>> >> >> release.
>> >> >> >>> >> >>    - Basic User Acceptance Test suite created using
>> >> >> >>> >> >> selenium.
>> >> >> >>> >> >>
>> >> >> >>> >> >> - Zeta bugfixes
>> >> >> >>> >> >>    - Cache invalidation bug fix for project-admin and
>> >> >> >>> >> >> project-team,
>> >> >> >>> >> >>      permission mapping.
>> >> >> >>> >> >>    - Form validation logic in the front end, for
>> >> >> >>> >> >>        create-project, create-ticket, create-component,
>> >> >> >>> >> >>        update-component, create-milestone,
>> >> >> >>> >> >> update-milestone,
>> >> >> >>> >> >>        create-version, update-version
>> >> >> >>> >> >>    - Refined logging for database updates.
>> >> >> >>> >> >>    - Changed html template for timelines.
>> >> >> >>> >> >>
>> >> >> >>> >> >>
>> >> >> >>> >> >> --
>> >> >> >>> >> >> Pratap.
>> >> >> >>> >> >
>> >> >> >>> >> >
>> >> >> >>> >> >
>> >> >> >>> >> > --
>> >> >> >>> >> > Harshad RJ
>> >> >> >>> >> > http://hrj.wikidot.com
>> >> >> >>> >> >
>> >> >> >>> >>
>> >> >> >>> >>
>> >> >> >>> >>
>> >> >> >>> >> --
>> >> >> >>> >> Pratap.
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> > --
>> >> >> >>> > Harshad RJ
>> >> >> >>> > http://hrj.wikidot.com
>> >> >> >>> >
>> >> >> >>>
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> --
>> >> >> >>> Pratap.
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> --
>> >> >> >> Harshad RJ
>> >> >> >> http://hrj.wikidot.com
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > Pratap.
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Pratap.
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Harshad RJ
>> >> > http://hrj.wikidot.com
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Pratap.
>> >
>> >
>> >
>> > --
>> > Harshad RJ
>> > http://hrj.wikidot.com
>> >
>>
>>
>>
>> --
>> Pratap.
>
>
>
> --
> Harshad RJ
> http://hrj.wikidot.com
>

--
Pratap.

Reply all
Reply to author
Forward
0 new messages