Went to russian wikipedia, went to moscow page, clicked on coordinates at top right. See blank page.
Description
Details
Project | Branch | Lines +/- | Subject | |
---|---|---|---|---|
operations/puppet | production | +8 -6 | Maps cache: fix parameters stripped away |
Related Objects
- Mentioned In
- T226278: jQuery.Deferred exception: layer is undefined addDataGroups when loading a map
T167050: Kartographer should handle external data errors gracefully
T167048: Services need external monitoring
T166776: Geoshape and geoline subservices need monitoring - Mentioned Here
- T167050: Kartographer should handle external data errors gracefully
Event Timeline
Same problem on frwiki, got this error in my JS console in my firefox 53.0.3 when trying to display a maplink on fr:Paris:
TypeError: layer is undefined Map.js:400:7 addDataGroups/</< https://fr.wikipedia.org/w/extensions/Kartographer/modules/box/Map.js:400:7 each https://fr.wikipedia.org/w/load.php:384:14 addDataGroups/< https://fr.wikipedia.org/w/extensions/Kartographer/modules/box/Map.js:390:5 then/</</< https://fr.wikipedia.org/w/load.php:3305:30 fire https://fr.wikipedia.org/w/load.php:3148:10 fireWith https://fr.wikipedia.org/w/load.php:3260:7 then/</</< https://fr.wikipedia.org/w/load.php:3312:10 fire https://fr.wikipedia.org/w/load.php:3148:10 fireWith https://fr.wikipedia.org/w/load.php:3260:7 Deferred/</deferred[tuple[0]] https://fr.wikipedia.org/w/load.php:3350:5 bound self-hosted:914:17 then/</</< https://fr.wikipedia.org/w/load.php:3305:30 fire https://fr.wikipedia.org/w/load.php:3148:10 fireWith https://fr.wikipedia.org/w/load.php:3260:7 Deferred/</deferred[tuple[0]] https://fr.wikipedia.org/w/load.php:3350:5 fire https://fr.wikipedia.org/w/load.php:3148:10 fireWith https://fr.wikipedia.org/w/load.php:3260:7 Deferred/</deferred[tuple[0]] https://fr.wikipedia.org/w/load.php:3350:5 fire https://fr.wikipedia.org/w/load.php:3148:10 fireWith https://fr.wikipedia.org/w/load.php:3260:7 then/</</< https://fr.wikipedia.org/w/load.php:3312:10 fire https://fr.wikipedia.org/w/load.php:3148:10 fireWith https://fr.wikipedia.org/w/load.php:3260:7 then/</</< https://fr.wikipedia.org/w/load.php:3312:10 fire https://fr.wikipedia.org/w/load.php:3148:10 fireWith https://fr.wikipedia.org/w/load.php:3260:7 done https://fr.wikipedia.org/w/load.php:9316:5 callback https://fr.wikipedia.org/w/load.php:9718:8
the code used to display the maplink:
<maplink latitude="48.856578" longitude="2.351828" text="48° 51′ 24″ nord, 2° 21′ 07″ est" zoom="9"> [ { "type":"Feature", "geometry": { "coordinates": [ 2.351828, 48.856578 ], "type": "Point" }, "properties": { "marker-color":"228b22" } }, { "properties": { "fill-opacity":0.2 }, "type": "ExternalData", "service": "geoshape", "ids":"Q90" } ] </maplink>
Shape service requests like https://maps.wikimedia.org/geoline?getgeojson=1&ids=Q649 fail with "\"ids\" or \"query\" parameter must be given", causing a frontend error:
Uncaught TypeError: Cannot set property 'dataGroup' of undefined at ExternalGroup.<anonymous> (https://ru.wikipedia.org/w/load.php?debug=false&lang=ru&modules=ext.kartogr…x%7Cmapbox%7Coojs-ui.styles.icons-media&skin=vector&version=1xxskcz:11:269) at Function.each (https://ru.wikipedia.org/w/load.php?debug=false&lang=ru&modules=jquery%2Cme…7Cmediawiki.legacy.wikibits&only=scripts&skin=vector&version=0r0nkm9:5:235) at Object.<anonymous> (https://ru.wikipedia.org/w/load.php?debug=false&lang=ru&modules=ext.kartogr…x%7Cmapbox%7Coojs-ui.styles.icons-media&skin=vector&version=1xxskcz:10:989) at Object.<anonymous> (https://ru.wikipedia.org/w/load.php?debug=false&lang=ru&modules=jquery%2Cme…Cmediawiki.legacy.wikibits&only=scripts&skin=vector&version=0r0nkm9:47:129) at fire (https://ru.wikipedia.org/w/load.php?debug=false&lang=ru&modules=jquery%2Cme…Cmediawiki.legacy.wikibits&only=scripts&skin=vector&version=0r0nkm9:45:122) at Object.fireWith [as resolveWith] (https://ru.wikipedia.org/w/load.php?debug=false&lang=ru&modules=jquery%2Cme…Cmediawiki.legacy.wikibits&only=scripts&skin=vector&version=0r0nkm9:46:431) at Object.<anonymous> (https://ru.wikipedia.org/w/load.php?debug=false&lang=ru&modules=jquery%2Cme…Cmediawiki.legacy.wikibits&only=scripts&skin=vector&version=0r0nkm9:47:322) at fire (https://ru.wikipedia.org/w/load.php?debug=false&lang=ru&modules=jquery%2Cme…Cmediawiki.legacy.wikibits&only=scripts&skin=vector&version=0r0nkm9:45:122) at Object.fireWith [as resolveWith] (https://ru.wikipedia.org/w/load.php?debug=false&lang=ru&modules=jquery%2Cme…Cmediawiki.legacy.wikibits&only=scripts&skin=vector&version=0r0nkm9:46:431) at Object.deferred.(anonymous function) [as resolve] (https://ru.wikipedia.org/w/load.php?debug=false&lang=ru&modules=jquery%2Cme…Cmediawiki.legacy.wikibits&only=scripts&skin=vector&version=0r0nkm9:47:790) (anonymous) @ load.php?debug=false&lang=ru&modules=ext.kartographer.box|mapbox|oojs-ui.styles.icons-media&skin=ve…:11 each @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:5 (anonymous) @ load.php?debug=false&lang=ru&modules=ext.kartographer.box|mapbox|oojs-ui.styles.icons-media&skin=ve…:10 (anonymous) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 (anonymous) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 deferred.(anonymous function) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 (anonymous) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 deferred.(anonymous function) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 deferred.(anonymous function) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 (anonymous) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 deferred.(anonymous function) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 (anonymous) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 done @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:135 callback @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:141 load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:140 GET https://maps.wikimedia.org/geoline?getgeojson=1&ids=Q649 400 () send @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:140 ajax @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:134 jQuery.(anonymous function) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:136 getJSON @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:136 getJSON @ load.php?debug=false&lang=ru&modules=ext.kartographer.box|mapbox|oojs-ui.styles.icons-media&skin=ve…:5 Group_External.ExternalGroup.fetch @ VM2215:3 Group_Hybrid.HybridGroup.fetchExternalGroups @ VM2215:6 (anonymous) @ VM2215:8 (anonymous) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 add @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 (anonymous) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 each @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:5 (anonymous) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 Deferred @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 then @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 group.promise.DataLoader.fetchGroup.then.group.failed @ VM2215:8 (anonymous) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 deferred.(anonymous function) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 setPromises @ VM2215:2 (anonymous) @ VM2215:2 (anonymous) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 deferred.(anonymous function) @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:47 (anonymous) @ VM2143:58 fire @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:45 fireWith @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:46 done @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:135 callback @ load.php?debug=false&lang=ru&modules=jquery%2Cmediawiki|mediawiki.legacy.wikibits&only=scripts&skin…:141
Ping @JGirault.
Change 356570 had a related patch set uploaded (by MaxSem; owner: Volans):
[operations/puppet@production] Maps cache: fix parameters stripped away
Change 356570 merged by Ema:
[operations/puppet@production] Maps cache: fix parameters stripped away
Likely this was layer being null:
layer = map.addGeoJSONLayer( group.id, group.getGeoJSON(), layerOptions ); layer.dataGroup = group;
inside fetchExternalGroups()
Those should be easy to fix
Hi @TheDJ - do you see this issue still happening? It was fixed on June 1 and deployed to production.
It's more of a note towards: T167050: Kartographer should handle external data errors gracefully and it's many friends.