NPE at GeoPropertyIndex$GPLevel.isInside - while adding a tag
WORKAROUND FOR JOSM 15937:
Use Help/Action/TaggingPresetSearch to add junction=roundabout or highway=mini_roundabout
If you can't open the Add tag window anymore without getting the bug message use the following workaround:
- Enable Help/ExpertMode.
- Go to the advanced preferences Help/Preferences/Advanced, search for
properties.remember-recently-added-tags and set it to false.
- Restart JOSM. Set it back to
true.
First present in r15889.
Steps to reproduce:
1) Open a new layer
2) Add a node
3) Select the node
4) Open the add tag dialog
5) Enter junction into the key field
6) Start typing roundabout into the value field (it will crash on r)
Unless someone is already working on it, I'll try to get a patch attached as soon as possible.
EDIT: Relevant mapcss rule (from default MapCSS file):
node:righthandtraffic[junction=roundabout] {
icon-image: String<presets/vehicle/restriction/roundabout_right.svg>;
icon_z17: String<presets/vehicle/restriction/roundabout_right.svg>;
}
Caused by: org.openstreetmap.josm.tools.JosmRuntimeException: java.lang.reflect.InvocationTargetException
at org.openstreetmap.josm.gui.mappaint.mapcss.ConditionFactory$PseudoClassCondition.applies(ConditionFactory.java:847)
at org.openstreetmap.josm.gui.mappaint.mapcss.Selector$AbstractSelector.matches(Selector.java:570)
at org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSStyleSource.apply(MapCSSStyleSource.java:704)
at org.openstreetmap.josm.gui.mappaint.ElemStyles.generateStyles(ElemStyles.java:384)
at org.openstreetmap.josm.tools.ImageProvider.getTaggedPadded(ImageProvider.java:1586)
at org.openstreetmap.josm.tools.ImageProvider.getPadded(ImageProvider.java:1546)
at org.openstreetmap.josm.gui.dialogs.properties.TagEditHelper$AbstractTagsDialog.findIcon(TagEditHelper.java:701)
... 2 more
Caused by: java.lang.reflect.InvocationTargetException
at org.openstreetmap.josm.gui.mappaint.mapcss.ConditionFactory$PseudoClassCondition.applies(ConditionFactory.java:845)
... 8 more
Caused by: java.lang.NullPointerException
at org.openstreetmap.josm.tools.GeoPropertyIndex$GPLevel.isInside(GeoPropertyIndex.java:159)
at org.openstreetmap.josm.tools.GeoPropertyIndex$GPLevel.get(GeoPropertyIndex.java:93)
at org.openstreetmap.josm.tools.GeoPropertyIndex.get(GeoPropertyIndex.java:49)
at org.openstreetmap.josm.tools.RightAndLefthandTraffic.isRightHandTraffic(RightAndLefthandTraffic.java:39)
at org.openstreetmap.josm.gui.mappaint.mapcss.Functions.is_right_hand_traffic(Functions.java:1069)
at org.openstreetmap.josm.gui.mappaint.mapcss.ConditionFactory$PseudoClasses.righthandtraffic(ConditionFactory.java:724)
... 9 more
Change History
(44)
| Description: |
modified (diff)
|
| Summary: |
Crash when adding `junction=roundabout` to a node → [PATCH] Crash when adding `junction=roundabout` to a node
|
| Description: |
modified (diff)
|
| Resolution: |
→ fixed
|
| Status: |
new → closed
|
| Description: |
modified (diff)
|
| Description: |
modified (diff)
|
| Description: |
modified (diff)
|
| Priority: |
normal → blocker
|
| Summary: |
[PATCH] Crash when adding `junction=roundabout` to a node → NPE at GeoPropertyIndex$GPLevel.isInside - while adding a tag
|
| Description: |
modified (diff)
|
Initial patch (fixes the issue, no non-regression tests)