Page MenuHomePhabricator

[Regression pre-wmf18] TypeError: Cannot read property 'split' of undefined
Closed, InvalidPublic

Description

On e.g. http://en.wikipedia.beta.wmflabs.org/wiki/User:Josve05a-beta/sandbox?veaction=edit

1Exception in load-callback in module mw.TimedText:
2TypeError: Cannot read property 'split' of undefined TypeError: Cannot read property 'split' of undefined
3 at Object.mw.MediaPlayers.getMIMETypePlayers (http://deployment.wikimedia.beta.wmflabs.org/w/load.php?debug=false&lang=de…tSource%2CTimedText%2CajaxProxy&skin=vector&version=deb3c99a3da0&*:176:554)
4 at Object.mw.MediaPlayers.defaultPlayer (http://deployment.wikimedia.beta.wmflabs.org/w/load.php?debug=false&lang=de…tSource%2CTimedText%2CajaxProxy&skin=vector&version=deb3c99a3da0&*:176:953)
5 at Object.mw.MediaElement.isPlayableType (http://deployment.wikimedia.beta.wmflabs.org/w/load.php?debug=false&lang=de…tSource%2CTimedText%2CajaxProxy&skin=vector&version=deb3c99a3da0&*:173:350)
6 at Object.mw.MediaElement.getPlayableSources (http://deployment.wikimedia.beta.wmflabs.org/w/load.php?debug=false&lang=de…tSource%2CTimedText%2CajaxProxy&skin=vector&version=deb3c99a3da0&*:173:848)
7 at Object.mw.MediaElement.autoSelectSource (http://deployment.wikimedia.beta.wmflabs.org/w/load.php?debug=false&lang=de…tSource%2CTimedText%2CajaxProxy&skin=vector&version=deb3c99a3da0&*:166:916)
8 at HTMLDivElement.mw.EmbedPlayer.setupSourcePlayer (http://deployment.wikimedia.beta.wmflabs.org/w/load.php?debug=false&lang=de…xtSource%2CTimedText%2CajaxProxy&skin=vector&version=deb3c99a3da0&*:50:449)
9 at http://deployment.wikimedia.beta.wmflabs.org/w/load.php?debug=false&lang=de…xtSource%2CTimedText%2CajaxProxy&skin=vector&version=deb3c99a3da0&*:49:276
10 at $.fn.triggerQueueCallback (http://deployment.wikimedia.beta.wmflabs.org/w/load.php?debug=false&lang=de…Support%7Cmw.MwEmbedSupport.style&skin=vector&version=0f8282880a45&*:9:149)
11 at HTMLDivElement.mw.EmbedPlayer.checkPlayerSources (http://deployment.wikimedia.beta.wmflabs.org/w/load.php?debug=false&lang=de…xtSource%2CTimedText%2CajaxProxy&skin=vector&version=deb3c99a3da0&*:49:212)
12 at http://deployment.wikimedia.beta.wmflabs.org/w/load.php?debug=false&lang=de…xtSource%2CTimedText%2CajaxProxy&skin=vector&version=deb3c99a3da0&*:38:167

Making it impossible to run VisualEditor on the beta-cluster.

Event Timeline

Josve05a raised the priority of this task from to Needs Triage.
Josve05a updated the task description. (Show Details)
Josve05a moved this task to To Triage on the Beta-Cluster-Infrastructure board.
Josve05a subscribed.
Josve05a set Security to None.
Jdforrester-WMF triaged this task as Unbreak Now! priority.Aug 5 2015, 5:55 PM

(Is this a bug in EmbedSupport or VE or Beta Cluster?)

(Is this a bug in EmbedSupport or VE or Beta Cluster?)

I Ithink it is a bug in MediaWiki-extensions-MwEmbedSupport causing problems with VisualEditor, but only in the Beta-Cluster-Infrastructure, but don't quote me on that.

Jdforrester-WMF renamed this task from TypeError: Cannot read property 'split' of undefined to [Regresion pre-wmf18] TypeError: Cannot read property 'split' of undefined.Aug 5 2015, 11:20 PM
Jdforrester-WMF subscribed.

(Is this a bug in EmbedSupport or VE or Beta Cluster?)

Provisionally declaring this a problem with master, not the Beta Cluster.

VE now works worked for a while, while logged out on the beta cluseter, however the big spinning "loading" thing is still on beta, and won't disappear. So something still...wrong.

Still can't use VE while logged in on the beta-cluster either.

1Exception in load-callback in module mw.TimedText:
2TypeError: Cannot read property 'split' of undefined TypeError: Cannot read property 'split' of undefined
3 at Object.mw.MediaPlayers.getMIMETypePlayers (eval at <anonymous> (http://en.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=WbrL31vg:4:681), <anonymous>:61:554)
4 at Object.mw.MediaPlayers.defaultPlayer (eval at <anonymous> (http://en.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=WbrL31vg:4:681), <anonymous>:61:953)
5 at Object.mw.MediaElement.isPlayableType (eval at <anonymous> (http://en.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=WbrL31vg:4:681), <anonymous>:81:350)
6 at Object.mw.MediaElement.getPlayableSources (eval at <anonymous> (http://en.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=WbrL31vg:4:681), <anonymous>:81:848)
7 at Object.mw.MediaElement.autoSelectSource (eval at <anonymous> (http://en.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=WbrL31vg:4:681), <anonymous>:74:916)
8 at HTMLDivElement.mw.EmbedPlayer.setupSourcePlayer (eval at <anonymous> (http://en.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=WbrL31vg:4:681), <anonymous>:109:449)
9 at eval (eval at <anonymous> (http://en.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=WbrL31vg:4:681), <anonymous>:108:276)
10 at $.fn.triggerQueueCallback (eval at <anonymous> (http://en.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=WbrL31vg:4:681), <anonymous>:9:149)
11 at HTMLDivElement.mw.EmbedPlayer.checkPlayerSources (eval at <anonymous> (http://en.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=WbrL31vg:4:681), <anonymous>:108:212)
12 at eval (eval at <anonymous> (http://en.wikipedia.beta.wmflabs.org/w/load.php?debug=false&lang=en&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=WbrL31vg:4:681), <anonymous>:97:167)

The blue loading bar stoppes at the end.

Screenshot 2015-08-06 at 14.05.56.png (768×1 px, 220 KB)

Aklapper renamed this task from [Regresion pre-wmf18] TypeError: Cannot read property 'split' of undefined to [Regression pre-wmf18] TypeError: Cannot read property 'split' of undefined.Aug 6 2015, 12:45 PM

FYI: This task is considered a blocker for the upcoming (August 11th) train deployment to WMF wikis. If this task is not fixed before then I will have to hold the train.

I can't repro this; the blue bar stops at the end but I see no JS errors, just an alert() about HTTP 0?

So it doesn't look to me like MwEmbedSupport or TimedMediaHandler is involved here, as I can't reproduce the JS error but I can reproduce the blue bar halting. I'm pretty sure this has to do with the failure to reach the restbase server instead.

@Josve05a, do you see that error on regular page views as well? Do you still see it with a fresh account? In other browsers? (I do not on any count.) Do you still see the VE failure? (I do, always.)

The .js error I see constanly (presents itself with the spinning-thing). On all beta-cluster pages, both while logged in and not logged in. I only have access to this browser (on a Chromebook).
Mozilla/5.0 (X11; CrOS x86_64 7077.95.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.90 Safari/537.36
The VE-error I didn't see while logged out, thne when I logged in once it has "stuck" with me now.

This now seems to be working; I can't reproduce errors on pages with videos when logged out or with no cache…

Ok I can confirm VE's working for me on beta labs as well now; it definitely sounds like the VE error was unrelated to the JS error in MwEmbed/TMH. Shall we remove the blocker tags from this and leave the bug open for the JS error?

Jdforrester-WMF claimed this task.

Given the errors were apparently coming from Multimedia code, I worried there was something broken there, like a RL module not being loaded in the right order or whatever.

But it now just looks like those were transient issues arising from the RB and VE issues. So I've closed it as 'Resolved', and on my head be it when wmf18 rolls out and all video/audio breaks. :-)

So, where does this leave the JS error in MwEmbed/TMH? Should I wat until the next wmf-release, or file/reopen this task to get that fixed?

Does that JS error still occur? Where, and doing what?

On http://en.wikipedia.beta.wmflabs.org/wiki/User:Josve05a-beta/sandbox?veaction=edit (and for all other pages on the beta-cluster) It has a "spinning" wheel which keeps loading, and the js error pops up in console.

Since I'm still experiencing the JS error on beta, and the VE bug was opened as a different task, I'm reopening this task to make sure we have a task for the JS-thing.

Experienicng this on svwp now, as well as

1Failed to execute 'write' on 'Document': It isn't possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.
2Uncaught ReferenceError: $ is not defined
3Uncaught ReferenceError: $ is not defined
4Uncaught ReferenceError: $ is not defined
5Uncaught ReferenceError: $ is not defined
6Uncaught ReferenceError: jQuery is not defined
7Uncaught ReferenceError: $ is not defined
8Uncaught ReferenceError: mediaWiki is not defined
9Uncaught ReferenceError: $ is not defined
10Uncaught ReferenceError: mw is not defined
11Uncaught ReferenceError: jQuery is not defined
12Uncaught ReferenceError: jQuery is not defined
13Uncaught ReferenceError: $ is not defined
14Uncaught ReferenceError: mw is not defined
15Uncaught ReferenceError: mw is not defined
16Uncaught ReferenceError: $ is not defined
17Uncaught ReferenceError: $ is not defined
18Uncaught ReferenceError: $ is not defined
19Uncaught ReferenceError: $ is not defined
20Uncaught ReferenceError: $ is not defined
21Uncaught ReferenceError: $ is not defined

Might be unrelated.

{console.error(String(e),e);}}}mw.trackSubscribe('resourceloader.exception',log);mw.trackSubscribe('resourceloader.assert',log);window.mw=window.mediaWiki=mw;}(jQuery));(function(mw){'use strict';mw.errorLogger={installGlobalHandler:function(window){var oldHandler=window.onerror||function(){return false;};window.onerror=function(errorMessage,url,lineNumber,columnNumber,errorObject){mw.track('global.error',{errorMessage:errorMessage,url:url,lineNumber:lineNumber,columnNumber:columnNumber,errorObject:errorObject});return oldHandler.apply(this,arguments);};}};mw.errorLogger.installGlobalHandler(window);}(mediaWiki));(function($){'use strict';if($.isFunction(window.startUp)){window.startUp();window.startUp=undefined;}}(jQuery));}());
<div id="loadingSpinner_kix-oribi-audio" style="width: 45px; height: 45px; position: absolute; top: 50%; left: 50%; z-index: 100;"><div style="position: relative; left: 0px; top: 0px;"><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-0-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(0deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(0deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-1-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(30deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(30deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-2-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(60deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(60deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-3-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(90deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(90deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-4-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(120deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(120deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-5-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(150deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(150deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-6-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(180deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(180deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-7-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(210deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(210deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-8-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(240deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(240deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-9-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(270deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(270deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-10-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(300deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(300deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div><div style="position: absolute; top: -2px; transform: translate3d(0px, 0px, 0px); opacity: 0.25; animation: opacity-100-25-11-12 1s linear infinite;"><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgb(0, 0, 0) 0px 0px 4px; transform-origin: left 50% 0px; transform: rotate(330deg) translate(10px, 0px); border-radius: 2px; top: 2px; background: rgb(0, 0, 0);"></div><div style="position: absolute; width: 12px; height: 5px; box-shadow: rgba(0, 0, 0, 0.0980392) 0px 0px 1px; transform-origin: left 50% 0px; transform: rotate(330deg) translate(10px, 0px); border-radius: 2px; background: rgb(238, 238, 238);"></div></div></div></div>

Is the 'spinnning thing'. MIght be unrelated, sincee the name seems to come from https://chrome.google.com/webstore/detail/oribi-speak-for-chrome/fncckpnmcmjoigmdohabblgilljambfi?utm_source=chrome-app-launcher-info-dialog

ori subscribed.

Not reproducible.