Went to russian wikipedia, went to moscow page, clicked on coordinates at top right. See blank page.
Description
Details
| Subject | Repo | Branch | Lines +/- | |
|---|---|---|---|---|
| Maps cache: fix parameters stripped away | operations/puppet | production | +8 -6 |
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…:141Ping @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.
