Last modified: 2014-11-17 10:36:00 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T31384, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 29384 - Load order of cached request in IE6 messes with dependancy resolving (mediawiki.util not available in time)
Load order of cached request in IE6 messes with dependancy resolving (mediawi...
Status: RESOLVED INVALID
Product: MediaWiki
Classification: Unclassified
ResourceLoader (Other open bugs)
1.17.x
All All
: Low critical with 2 votes (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-06-13 21:01 UTC by Erwin Dokter
Modified: 2014-11-17 10:36 UTC (History)
5 users (show)

See Also:
Web browser: Internet Explorer
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Erwin Dokter 2011-06-13 21:01:49 UTC
Here's the deal: somewhere after the introduction of ResourceLoader and the new MediaWiki javascript library, Internet Explorer 6 suffers an inordinate ammount of JavaScript abortion problems. Especially calls to mediawiki.util.js, which are responsible for either "mw.util.[function] is null or not defined" or "Object expected" errors.

The problem became apparent (on en.wiki) after several wikibits functions in Common.jss were changed to use mw.util.* instead. The problem also occurs on Commons and nl.wiki. The *only* way to have a page load correctly, is to issue a hard-reload (using CTRL-F5); only then are all scripts completed. Otherwise, either by using a normal reload or a page-click, all scripts are aborted (even fixalpha and other core scripts).

This has to be an initialization problem, and the casue may lay anywhere, either in the ResourceLoader or the mw.* library, or somewhere else; I have no way to be sure. This *may* also be caused by bug:28840, who knows...

Now, as I have no personal interest in IE6 anymore, and the browser is 10 years old, I am posing the question: is MediaWiki and its JS libraries still officially supporting IE6? If so, then this bug should be traced and fixed. If not, IE6 should be removed from the supported browsers list.
Comment 1 Brion Vibber 2011-06-13 23:48:14 UTC
Is it loading too late, or is it failing to load? What exactly do you mean by scripts being aborted? Is this something new, or the same old stuff from the last 2-3 months?
Comment 2 Brion Vibber 2011-06-13 23:50:53 UTC
Does clearing IE's cache entirely resolve or change the results?

Any consistent way to reproduce the error?

What actual visible errors are there?

Are JS errors happening during load/initialization? (I see none on a quick login in IE6 on en.wikipedia.org)

Are JS errors happening only when activating something, such as an ajax watch/unwatch request? (No problem with a quick watch attempt on en.wikipedia.org)

Do presence of certain gadgets exacerbate the problem?
Comment 3 Erwin Dokter 2011-06-14 01:05:41 UTC
Roan changed the bug title from "IE6 and Javascript: continue or drop support" to "mw.util loads too late in IE6".

The first load with an empty cache loads OK, but any subsequent (re)load or pageclick result in javascript errors (the little yellow triangle) as described above. Simply hit F5 on any page to reproduce. Only CTRL-F5 is error free. This is with all gadgets and such disabled.

I have no way of knowing if mw.util loads too late, or just too slow. Is it allowed to be cached by the browser?
Comment 4 Mark A. Hershberger 2011-07-06 20:02:40 UTC
In IE Tester, I get the following error:

Line:  15569
Char:  3
Error: Type mismatch.
Code:  0
URL:   http://en.wikipedia.org/wiki/Main_Page

I'll try disabling gadgets and see which one (if any) causes this.
Comment 5 Mark A. Hershberger 2011-07-06 20:41:52 UTC
Gadget causing the trouble looked like the UTC clock gadget.

If you know a reason why any JS problems aren't specific to a gadget that you're using, please reopen this bug with a some concrete steps to reproduce the bug.  Otherwise, this sounds like a gadget problem and WORKSFORME.
Comment 6 Krinkle 2011-07-06 23:07:57 UTC
(In reply to comment #5)
> Gadget causing the trouble looked like the UTC clock gadget.
> 
> If you know a reason why any JS problems aren't specific to a gadget that
> you're using, please reopen this bug with a some concrete steps to reproduce
> the bug.  Otherwise, this sounds like a gadget problem and WORKSFORME.

I have no steps to reproduce, but it isn't a gadget problem.

For some reason there's a bug several people are reporting (although I cannot reproduce it in WinXP IE6 virtual machine) of which the root cause is in the load order of a cached request. Which finds it's visibility by plugging in mediawiki.util too late.

This becomes critical (for IE6) if and as soon as a call to mw.util is made. This could be in the site's or user's common.js, a gadget or a core module – IE6 would report that that module is doing something wrong (calling an inexisting method).
Comment 7 Erwin Dokter 2011-07-06 23:19:23 UTC
I may have to add that my problem occurs on three different machines, all W2K. On an XP machine, I discovered that it does not show this problem. Do other reporters say which OS they are using? This may be important becuase W2K has not gotten any updates in nearly a year now, and this may cause issues while XP remains unaffected. If this is the case, then it is an OS issue which cannot be resolved.
Comment 8 Mark A. Hershberger 2011-07-07 02:05:38 UTC
> I may have to add that my problem occurs on three different machines, all W2K.
> On an XP machine, I discovered that it does not show this problem.

Is the XP machine using IE6?  If so, then this is really interesting.
Comment 9 Erwin Dokter 2011-07-07 12:33:00 UTC
> Is the XP machine using IE6?  If so, then this is really interesting.

Yes, the XP machine is running IE6.
Comment 10 Mark A. Hershberger 2011-08-03 18:50:52 UTC
Lowering priority since this is IE6 which not many people use.  Except those who do.
Comment 11 Erwin Dokter 2012-01-16 19:27:04 UTC
With the recent talk about mandatory dependency declarations in 1.19, I cannot help thinking this may be related. My old W2K boxes are pretty antique, and the lack of dependency declaration in 1.17/1.18 may well cause modules not yet being loaded when called upon.

If you can set the clockspeed in a VM, you may be able to reproduce this error by turning it down to below 500 MHz.
Comment 12 Krinkle 2012-01-20 23:19:11 UTC
Marking WORKSFORME. Code that depends on mw.util (or anything else for that matter) needs to declare it as a dependency.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links