Firefox 40.x+ / Qooxdoo problems

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Firefox 40.x+ / Qooxdoo problems

Matt Davis - NOAA Federal
Hi Qooxdooers,

My team has been investigating a number of problems which have suddenly cropped up with Firefox build > 40.x. I can verify the code base runs fine on the 39.x versions, but is throwing so many errors on the current version I'm not sure where to start. On the good side, it runs perfectly in IE10, Edge, and Chrome.

We have tried the following: complete browser cache removal, generating with qx.debug set to false, and distclean. The problem varies by compilation. Using 'source' and 'build' seem to be best, although the qx.util.format.DateFormat() class is throwing an error with binding (does not seem to be happening in playground). 

'source-hybrid' is totally failing, with part of a long error listing starting with:

Error: Invalid key "extend" in class "iris.web.Application"! The value is undefined/null! iris.web.fe89f857f086.js:6766:1

TypeError: qx.ui.container is undefined MainController.js:9:2

TypeError: qx.ui.container is undefined StatusBar.js:31:2

TypeError: qx.ui.container is undefined MainInterface.js:39:2

Error: Invalid key "extend" in class "qx.ui.splitpane.Pane"! The value is 
undefined/null! iris.web.fe89f857f086.js:6766:1

TypeError: qx.ui.container is undefined Login.js:7:2

TypeError: qx.ui.container is undefined AutoComplete.js:12:2

TypeError: qx.ui.form is undefined iris.web.7be41cc97661.js:34:5

TypeError: qx.ui.container is undefined

I encourage everyone to check their apps against the latest Firefox to see if any errors are thrown. Our code base is massive, and it seems like the simpler apps (as in the playground) are better off.

Thanks,
Matt

--
IRIS/iNWS Technical Lead
Decision Support Branch
Meteorological Development Lab
Office of Science and Technology Integration
National Weather Service, La Crosse, WI


------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Firefox 40.x+ / Qooxdoo problems

John Spackman-3
Hi Matt

I’ve had a few odd issues when debugging with Firefox and the source/source-hybrid builds that sound similar, although only when under the debugger and not every time.  I couldn’t track it down but it looked at the time as though the scripts were loading in the wrong order, and I suspected that the parallel loading of the boot script could be at fault.  That first error message “invalid key ‘extend’ …” reminds me of that suspicion because the superclass is not defined at the time when the browser ties to load the subclass.

As an experiment, try modifying your boot script to change 
var isLoadParallel = 'async' in document.createElement('script);’ 

To just ‘isLoadParallel=false’ and see what happens (your changes will be overwritten each time you run the generator, so you can patch original at qooxdoo/tool/data/generator/loader.tmpl.js)

John

From: Matt Davis - NOAA Federal
Reply-To: qooxdoo Development
Date: Thursday, 8 October 2015 at 22:05
To: qooxdoo Development
Subject: [qooxdoo-devel] Firefox 40.x+ / Qooxdoo problems

Hi Qooxdooers,

My team has been investigating a number of problems which have suddenly cropped up with Firefox build > 40.x. I can verify the code base runs fine on the 39.x versions, but is throwing so many errors on the current version I'm not sure where to start. On the good side, it runs perfectly in IE10, Edge, and Chrome.

We have tried the following: complete browser cache removal, generating with qx.debug set to false, and distclean. The problem varies by compilation. Using 'source' and 'build' seem to be best, although the qx.util.format.DateFormat() class is throwing an error with binding (does not seem to be happening in playground). 

'source-hybrid' is totally failing, with part of a long error listing starting with:

Error: Invalid key "extend" in class "iris.web.Application"! The value is undefined/null! iris.web.fe89f857f086.js:6766:1

TypeError: qx.ui.container is undefined MainController.js:9:2

TypeError: qx.ui.container is undefined StatusBar.js:31:2

TypeError: qx.ui.container is undefined MainInterface.js:39:2

Error: Invalid key "extend" in class "qx.ui.splitpane.Pane"! The value is 
undefined/null! iris.web.fe89f857f086.js:6766:1

TypeError: qx.ui.container is undefined Login.js:7:2

TypeError: qx.ui.container is undefined AutoComplete.js:12:2

TypeError: qx.ui.form is undefined iris.web.7be41cc97661.js:34:5

TypeError: qx.ui.container is undefined

I encourage everyone to check their apps against the latest Firefox to see if any errors are thrown. Our code base is massive, and it seems like the simpler apps (as in the playground) are better off.

Thanks,
Matt

--
IRIS/iNWS Technical Lead
Decision Support Branch
Meteorological Development Lab
Office of Science and Technology Integration
National Weather Service, La Crosse, WI

------------------------------------------------------------------------------ _______________________________________________ qooxdoo-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Firefox 40.x+ / Qooxdoo problems

John Spackman-3
Actually I’ve just confirmed that isLoadParallel is the problem – in my app, I’ve just deleted the qx cache, every generated artefact and recompiled and I immediately get the same list of errors in the console window.  Changing isLoadParallel=false fixes the problem.

Interestingly this only seems to occur when the debugger is open; I can reproduce this every time if the debugger is open, but if it’s closed during app startup then everything’s fine.

I don’t understand how this ever worked because the loader is loading scripts with async=true, but AIUI async scripts are run in the order that they become available, and not in the order that they were added to the document.    This suggests that that if the server happened to return the first script slower than the second script then the order would be wrong regardless of the browser - but the files are relatively similar in size so perhaps the ordering is actually quite predictable in reality and so this problem does not normally crop up.

Perhaps a more likely trigger of the problem is whether the script comes from the browser’s cache, and how activating the debugger might have subtle effects on how the cache operates.  I’ve just cleared Firefox’s cache and refreshed with the debugger open and it worked fine – but refresh once more and it’s immediately broken.

In  this blog entry http://news.qooxdoo.org/2010/02 there is a description of using async loading to load parts in parallel, but then evaluate them in them in order – however, it says that for parts the generator wraps the content with a closure to allow controlling the evaluation order, but this cannot (and does not) happen when loading from source.

John

From: John Spackman
Reply-To: qooxdoo Development
Date: Friday, 9 October 2015 at 07:51
To: qooxdoo Development
Subject: Re: [qooxdoo-devel] Firefox 40.x+ / Qooxdoo problems

Hi Matt

I’ve had a few odd issues when debugging with Firefox and the source/source-hybrid builds that sound similar, although only when under the debugger and not every time.  I couldn’t track it down but it looked at the time as though the scripts were loading in the wrong order, and I suspected that the parallel loading of the boot script could be at fault.  That first error message “invalid key ‘extend’ …” reminds me of that suspicion because the superclass is not defined at the time when the browser ties to load the subclass.

As an experiment, try modifying your boot script to change 
var isLoadParallel = 'async' in document.createElement('script);’ 

To just ‘isLoadParallel=false’ and see what happens (your changes will be overwritten each time you run the generator, so you can patch original at qooxdoo/tool/data/generator/loader.tmpl.js)

John

From: Matt Davis - NOAA Federal
Reply-To: qooxdoo Development
Date: Thursday, 8 October 2015 at 22:05
To: qooxdoo Development
Subject: [qooxdoo-devel] Firefox 40.x+ / Qooxdoo problems

Hi Qooxdooers,

My team has been investigating a number of problems which have suddenly cropped up with Firefox build > 40.x. I can verify the code base runs fine on the 39.x versions, but is throwing so many errors on the current version I'm not sure where to start. On the good side, it runs perfectly in IE10, Edge, and Chrome.

We have tried the following: complete browser cache removal, generating with qx.debug set to false, and distclean. The problem varies by compilation. Using 'source' and 'build' seem to be best, although the qx.util.format.DateFormat() class is throwing an error with binding (does not seem to be happening in playground). 

'source-hybrid' is totally failing, with part of a long error listing starting with:

Error: Invalid key "extend" in class "iris.web.Application"! The value is undefined/null! iris.web.fe89f857f086.js:6766:1

TypeError: qx.ui.container is undefined MainController.js:9:2

TypeError: qx.ui.container is undefined StatusBar.js:31:2

TypeError: qx.ui.container is undefined MainInterface.js:39:2

Error: Invalid key "extend" in class "qx.ui.splitpane.Pane"! The value is 
undefined/null! iris.web.fe89f857f086.js:6766:1

TypeError: qx.ui.container is undefined Login.js:7:2

TypeError: qx.ui.container is undefined AutoComplete.js:12:2

TypeError: qx.ui.form is undefined iris.web.7be41cc97661.js:34:5

TypeError: qx.ui.container is undefined

I encourage everyone to check their apps against the latest Firefox to see if any errors are thrown. Our code base is massive, and it seems like the simpler apps (as in the playground) are better off.

Thanks,
Matt

--
IRIS/iNWS Technical Lead
Decision Support Branch
Meteorological Development Lab
Office of Science and Technology Integration
National Weather Service, La Crosse, WI

------------------------------------------------------------------------------ _______________________________________________ qooxdoo-devel mailing list [hidden email]https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
------------------------------------------------------------------------------ _______________________________________________ qooxdoo-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Firefox 40.x+ / Qooxdoo problems

Matt Davis - NOAA Federal
Thanks for the help John! You were exactly right, set isLoadParallel=false fixed our major problem as well. Concerning the DateFormat error in Firefox, commenting the throw(exc) at line 271 of SingleValueBinding.js fixed this, and, all instance of DateFormat in our code seem to be working properly now.

Thanks for the help,
Matt 

On Fri, Oct 9, 2015 at 2:30 AM, John Spackman <[hidden email]> wrote:
Actually I’ve just confirmed that isLoadParallel is the problem – in my app, I’ve just deleted the qx cache, every generated artefact and recompiled and I immediately get the same list of errors in the console window.  Changing isLoadParallel=false fixes the problem.

Interestingly this only seems to occur when the debugger is open; I can reproduce this every time if the debugger is open, but if it’s closed during app startup then everything’s fine.

I don’t understand how this ever worked because the loader is loading scripts with async=true, but AIUI async scripts are run in the order that they become available, and not in the order that they were added to the document.    This suggests that that if the server happened to return the first script slower than the second script then the order would be wrong regardless of the browser - but the files are relatively similar in size so perhaps the ordering is actually quite predictable in reality and so this problem does not normally crop up.

Perhaps a more likely trigger of the problem is whether the script comes from the browser’s cache, and how activating the debugger might have subtle effects on how the cache operates.  I’ve just cleared Firefox’s cache and refreshed with the debugger open and it worked fine – but refresh once more and it’s immediately broken.

In  this blog entry http://news.qooxdoo.org/2010/02 there is a description of using async loading to load parts in parallel, but then evaluate them in them in order – however, it says that for parts the generator wraps the content with a closure to allow controlling the evaluation order, but this cannot (and does not) happen when loading from source.

John

From: John Spackman
Reply-To: qooxdoo Development
Date: Friday, 9 October 2015 at 07:51
To: qooxdoo Development
Subject: Re: [qooxdoo-devel] Firefox 40.x+ / Qooxdoo problems

Hi Matt

I’ve had a few odd issues when debugging with Firefox and the source/source-hybrid builds that sound similar, although only when under the debugger and not every time.  I couldn’t track it down but it looked at the time as though the scripts were loading in the wrong order, and I suspected that the parallel loading of the boot script could be at fault.  That first error message “invalid key ‘extend’ …” reminds me of that suspicion because the superclass is not defined at the time when the browser ties to load the subclass.

As an experiment, try modifying your boot script to change 
var isLoadParallel = 'async' in document.createElement('script);’ 

To just ‘isLoadParallel=false’ and see what happens (your changes will be overwritten each time you run the generator, so you can patch original at qooxdoo/tool/data/generator/loader.tmpl.js)

John

From: Matt Davis - NOAA Federal
Reply-To: qooxdoo Development
Date: Thursday, 8 October 2015 at 22:05
To: qooxdoo Development
Subject: [qooxdoo-devel] Firefox 40.x+ / Qooxdoo problems

Hi Qooxdooers,

My team has been investigating a number of problems which have suddenly cropped up with Firefox build > 40.x. I can verify the code base runs fine on the 39.x versions, but is throwing so many errors on the current version I'm not sure where to start. On the good side, it runs perfectly in IE10, Edge, and Chrome.

We have tried the following: complete browser cache removal, generating with qx.debug set to false, and distclean. The problem varies by compilation. Using 'source' and 'build' seem to be best, although the qx.util.format.DateFormat() class is throwing an error with binding (does not seem to be happening in playground). 

'source-hybrid' is totally failing, with part of a long error listing starting with:

Error: Invalid key "extend" in class "iris.web.Application"! The value is undefined/null! iris.web.fe89f857f086.js:6766:1

TypeError: qx.ui.container is undefined MainController.js:9:2

TypeError: qx.ui.container is undefined StatusBar.js:31:2

TypeError: qx.ui.container is undefined MainInterface.js:39:2

Error: Invalid key "extend" in class "qx.ui.splitpane.Pane"! The value is 
undefined/null! iris.web.fe89f857f086.js:6766:1

TypeError: qx.ui.container is undefined Login.js:7:2

TypeError: qx.ui.container is undefined AutoComplete.js:12:2

TypeError: qx.ui.form is undefined iris.web.7be41cc97661.js:34:5

TypeError: qx.ui.container is undefined

I encourage everyone to check their apps against the latest Firefox to see if any errors are thrown. Our code base is massive, and it seems like the simpler apps (as in the playground) are better off.

Thanks,
Matt

--
IRIS/iNWS Technical Lead
Decision Support Branch
Meteorological Development Lab
Office of Science and Technology Integration
National Weather Service, La Crosse, WI

------------------------------------------------------------------------------ _______________________________________________ qooxdoo-devel mailing list [hidden email]https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
------------------------------------------------------------------------------ _______________________________________________ qooxdoo-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel




--
IRIS/iNWS Technical Lead
Decision Support Branch
Meteorological Development Lab
Office of Science and Technology Integration
National Weather Service, La Crosse, WI
(608) 406-0537


------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Firefox 40.x+ / Qooxdoo problems

thron7
Just a quick hint concerning modifying isLoadParallel:

If you don't want to patch the original loader.tmpl.js, as John suggested, you can always create a copy from it, adapt that, and then set the config.json value

  compile-options/paths/loader-template [1]

to the path of your copy. This is e.g. interesting if you have multiple projects and want to set it on a per-project basis.

T.



------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Firefox 40.x+ / Qooxdoo problems

Matt Davis - NOAA Federal
Thanks Thron7. I have an update as well. As written, the fix broke the TestRunner in all browsers, so I wrapped it in a conditional to only use isLoadParallel=false if it was Firefox.

Matt

On Fri, Oct 9, 2015 at 4:23 PM, thron7 <[hidden email]> wrote:
Just a quick hint concerning modifying isLoadParallel:

If you don't want to patch the original loader.tmpl.js, as John suggested, you can always create a copy from it, adapt that, and then set the config.json value

  compile-options/paths/loader-template [1]

to the path of your copy. This is e.g. interesting if you have multiple projects and want to set it on a per-project basis.

T.



------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel




--
IRIS/iNWS Technical Lead
Decision Support Branch
Meteorological Development Lab
Office of Science and Technology Integration
National Weather Service, La Crosse, WI
(608) 406-0537


------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Firefox 40.x+ / Qooxdoo problems

rsantiagopaz
Hi (sorry the english)

this 2 tips:

isLoadParallel = 'false'

commenting the throw(exc)


fix 2 problems I have, the first with my old firebug problem, the second with the SingleValueBinding, firefox 41.0.1 and old 4.x builds (recompiled).
Reply | Threaded
Open this post in threaded view
|

Re: Firefox 40.x+ / Qooxdoo problems

Andreas Ecker-2
In reply to this post by Matt Davis - NOAA Federal
Hi Matt et al.,

thanks for sharing and investigating this issue. I created a proper bug report in bugzilla for everyone to contribute and follow-up:

Typically when encountering an issue, it’s best to create a bug report. Thats the proper workflow. The mailing list is rather for some general discussion; any issue specific discussion should be done and documented right within a bug report. Still, when you created a bug report, it’s fine to point people on the mailing list to this bug and ask for collaboration. ;-)

Bye,

Andreas

-- 
Andreas Ecker

Project Lead
http://qooxdoo.org


Von: Matt Davis - NOAA Federal <[hidden email]>
Antworten an: qooxdoo Development <[hidden email]>
Datum: Samstag, 10. Oktober 2015 16:05
An: qooxdoo Development <[hidden email]>
Betreff: Re: [qooxdoo-devel] Firefox 40.x+ / Qooxdoo problems

Thanks Thron7. I have an update as well. As written, the fix broke the TestRunner in all browsers, so I wrapped it in a conditional to only use isLoadParallel=false if it was Firefox.

Matt

On Fri, Oct 9, 2015 at 4:23 PM, thron7 <[hidden email]> wrote:
Just a quick hint concerning modifying isLoadParallel:

If you don't want to patch the original loader.tmpl.js, as John suggested, you can always create a copy from it, adapt that, and then set the config.json value

  compile-options/paths/loader-template [1]

to the path of your copy. This is e.g. interesting if you have multiple projects and want to set it on a per-project basis.

T.



------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel




--
IRIS/iNWS Technical Lead
Decision Support Branch
Meteorological Development Lab
Office of Science and Technology Integration
National Weather Service, La Crosse, WI
(608) 406-0537


------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
Reply | Threaded
Open this post in threaded view
|

Re: Firefox 40.x+ / Qooxdoo problems

Andreas Ecker-2
In reply to this post by Matt Davis - NOAA Federal
Matt,

could you please create a bug report for "DateFormat() class is throwing an error with binding”? Thus one could follow-up and try to resolve the issue (your current workaround: "commenting the throw(exc)”). Appreciated  :-),

Andreas


------------------------------------------------------------------------------

_______________________________________________
qooxdoo-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel