Opened 3 months ago

Closed 3 months ago

Last modified 2 months ago

#18798 closed defect (fixed)

[PATCH] Crash when adding `junction=roundabout` to a node — at Version 8

Reported by: taylor.smock Owned by: team
Priority: blocker Milestone: 20.03
Component: Core Version:
Keywords: regression Cc: simon04

Description (last modified by simon04)

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 (10)

comment:1 Changed 3 months ago by taylor.smock

Description: modified (diff)

Changed 3 months ago by taylor.smock

Attachment: 18798.patch added

Initial patch (fixes the issue, no non-regression tests)

comment:2 Changed 3 months ago by taylor.smock

Summary: Crash when adding `junction=roundabout` to a node[PATCH] Crash when adding `junction=roundabout` to a node

Changed 3 months ago by taylor.smock

Attachment: 18798.1.patch added

Add non-regression test (uses reflection)

comment:3 Changed 3 months ago by taylor.smock

Description: modified (diff)

comment:4 Changed 3 months ago by Klumbumbus

Milestone: 20.03

comment:5 Changed 3 months ago by simon04

Resolution: fixed
Status: newclosed

In 15946/josm:

fix #18798, see #14088 - Crash when adding junction=roundabout to a node (patch by taylor.smock)

comment:6 Changed 3 months ago by simon04

In 15947/josm:

see #18798, see #14088 - TagEditHelperTest: share code

comment:7 Changed 3 months ago by simon04

In 15948/josm:

see #18798, see #14088 - Add robustness for TagEditHelper.AbstractTagsDialog.findIcon

comment:8 Changed 3 months ago by simon04

Description: modified (diff)
Note: See TracTickets for help on using tickets.