#8490 closed defect (fixed)
NullPointerException reverting into new layer
Reported by: | skyper | Owned by: | team |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | Core | Version: | latest |
Keywords: | Cc: | imagic, bastiK |
Description
What steps will reproduce the problem?
- download some data
- purge some objects
- revert a changeset into new layer including some objects previous downloaded but not any purged ones
What is the expected result?
New data layer containing reverted objects
What happens instead?
NullPointerException
Please provide any additional information below. Attach a screenshot if
possible.
Trying to reproduce #8489 I hit this, not sure if it is reproducable all the time but it happened already twice.
Repository Root: http://josm.openstreetmap.de/svn Build-Date: 2013-03-04 02:31:43 Last Changed Author: akks Revision: 5756 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b URL: http://josm.openstreetmap.de/svn/trunk Last Changed Date: 2013-03-03 21:20:18 +0100 (Sun, 03 Mar 2013) Last Changed Rev: 5756 Identification: JOSM/1.5 (5756 de) Memory Usage: 78 MB / 643 MB (5 MB allocated, but free) Java version: 1.6.0_27, Sun Microsystems Inc., OpenJDK 64-Bit Server VM Operating system: Linux Dataset consistency test: No problems found Plugin: mirrored_download (29210) Plugin: reverter (29296) Plugin: utilsplugin2 (29241) Plugin: wikipedia (29330) java.lang.NullPointerException at org.openstreetmap.josm.gui.mappaint.ElemStyles.getStyleCacheWithRange(ElemStyles.java:114) at org.openstreetmap.josm.gui.mappaint.ElemStyles.get(ElemStyles.java:54) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$StyleCollector.add(StyledMapRenderer.java:181) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.collectNodeStyles(StyledMapRenderer.java:362) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.render(StyledMapRenderer.java:1341) at org.openstreetmap.josm.gui.layer.OsmDataLayer.paint(OsmDataLayer.java:320) at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:503) at org.openstreetmap.josm.gui.MapView.paint(MapView.java:587) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5138) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:302) at javax.swing.RepaintManager.paint(RepaintManager.java:1216) at javax.swing.JComponent._paintImmediately(JComponent.java:5086) at javax.swing.JComponent.paintImmediately(JComponent.java:4896) at javax.swing.RepaintManager$3.run(RepaintManager.java:807) at javax.swing.RepaintManager$3.run(RepaintManager.java:795) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:795) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:764) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:706) at javax.swing.RepaintManager.access$1000(RepaintManager.java:61) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1621) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1079) at java.awt.Dialog$3.run(Dialog.java:1133) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1131) at java.awt.Component.show(Component.java:1571) at java.awt.Component.setVisible(Component.java:1523) at java.awt.Window.setVisible(Window.java:951) at java.awt.Dialog.setVisible(Dialog.java:1013) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:170) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1079) at java.awt.Dialog$3.run(Dialog.java:1133) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1131) at java.awt.Component.show(Component.java:1571) at java.awt.Component.setVisible(Component.java:1523) at java.awt.Window.setVisible(Window.java:951) at java.awt.Dialog.setVisible(Dialog.java:1013) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:170) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Attachments (1)
Change History (22)
comment:1 Changed 10 years ago by
Priority: | normal → major |
---|
comment:2 Changed 10 years ago by
comment:3 Changed 10 years ago by
Can you attach an .osm file example, and tell us what objects do you purge, and what changeset do you revert ? Thanks
comment:4 Changed 10 years ago by
Ok I can reproduce:
- (Install style Lane and Road Attributes.)
- download http://www.openstreetmap.org/?lat=47.976925&lon=7.828832&zoom=19
- revert changeset 14914753 into new layer
no purging needed.
Repository Root: http://josm.openstreetmap.de/svn Build-Date: 2013-03-07 02:31:35 Last Changed Author: Don-vip Revision: 5759 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b URL: http://josm.openstreetmap.de/svn/trunk Last Changed Date: 2013-03-06 22:41:42 +0100 (Wed, 06 Mar 2013) Last Changed Rev: 5759 Identification: JOSM/1.5 (5759 de) Memory Usage: 79 MB / 643 MB (45 MB allocated, but free) Java version: 1.6.0_27, Sun Microsystems Inc., OpenJDK 64-Bit Server VM Operating system: Linux Dataset consistency test: No problems found Plugin: reverter (29348) java.lang.NullPointerException at org.openstreetmap.josm.gui.mappaint.ElemStyles.getStyleCacheWithRange(ElemStyles.java:114) at org.openstreetmap.josm.gui.mappaint.ElemStyles.get(ElemStyles.java:54) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$StyleCollector.add(StyledMapRenderer.java:199) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.collectWayStyles(StyledMapRenderer.java:378) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.render(StyledMapRenderer.java:1342) at org.openstreetmap.josm.gui.layer.OsmDataLayer.paint(OsmDataLayer.java:320) at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:503) at org.openstreetmap.josm.gui.MapView.paint(MapView.java:587) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5138) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:302) at javax.swing.RepaintManager.paint(RepaintManager.java:1216) at javax.swing.JComponent._paintImmediately(JComponent.java:5086) at javax.swing.JComponent.paintImmediately(JComponent.java:4896) at javax.swing.RepaintManager$3.run(RepaintManager.java:807) at javax.swing.RepaintManager$3.run(RepaintManager.java:795) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:795) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:764) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:706) at javax.swing.RepaintManager.access$1000(RepaintManager.java:61) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1621) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1079) at java.awt.Dialog$3.run(Dialog.java:1133) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1131) at java.awt.Component.show(Component.java:1571) at java.awt.Component.setVisible(Component.java:1523) at java.awt.Window.setVisible(Window.java:951) at java.awt.Dialog.setVisible(Dialog.java:1013) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:170) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1079) at java.awt.Dialog$3.run(Dialog.java:1133) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1131) at java.awt.Component.show(Component.java:1571) at java.awt.Component.setVisible(Component.java:1523) at java.awt.Window.setVisible(Window.java:951) at java.awt.Dialog.setVisible(Dialog.java:1013) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:170) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
on the console I get some more info:
Warning: unable to convert property dashes to type class [F: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes-background-color to type class java.awt.Color: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! java.lang.NullPointerException at org.openstreetmap.josm.gui.mappaint.ElemStyles.getStyleCacheWithRange(ElemStyles.java:114) <-- snip --> at java.awt.EventDispatchThread.run(EventDispatchThread.java:138) Warning: unable to convert property dashes to type class [F: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes-background-color to type class java.awt.Color: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes to type class [F: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes-background-color to type class java.awt.Color: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes to type class [F: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes-background-color to type class java.awt.Color: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes to type class [F: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes-background-color to type class java.awt.Color: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword!
comment:7 Changed 10 years ago by
Replying to Don-vip:
In 5766/josm:
Still the same NPE:
Repository Root: http://josm.openstreetmap.de/svn Build-Date: 2013-03-09 02:31:44 Last Changed Author: Don-vip Revision: 5766 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b URL: http://josm.openstreetmap.de/svn/trunk Last Changed Date: 2013-03-08 23:58:43 +0100 (Fri, 08 Mar 2013) Last Changed Rev: 5766 Identification: JOSM/1.5 (5766 de) Memory Usage: 86 MB / 643 MB (23 MB allocated, but free) Java version: 1.6.0_27, Sun Microsystems Inc., OpenJDK 64-Bit Server VM Operating system: Linux Dataset consistency test: No problems found Plugin: reverter (29353) java.lang.NullPointerException at org.openstreetmap.josm.gui.mappaint.ElemStyles.getStyleCacheWithRange(ElemStyles.java:115) at org.openstreetmap.josm.gui.mappaint.ElemStyles.get(ElemStyles.java:54) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$StyleCollector.add(StyledMapRenderer.java:181) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.collectNodeStyles(StyledMapRenderer.java:362) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.render(StyledMapRenderer.java:1341) at org.openstreetmap.josm.gui.layer.OsmDataLayer.paint(OsmDataLayer.java:320) at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:503) at org.openstreetmap.josm.gui.MapView.paint(MapView.java:587) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5138) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:302) at javax.swing.RepaintManager.paint(RepaintManager.java:1216) at javax.swing.JComponent._paintImmediately(JComponent.java:5086) at javax.swing.JComponent.paintImmediately(JComponent.java:4896) at javax.swing.RepaintManager$3.run(RepaintManager.java:807) at javax.swing.RepaintManager$3.run(RepaintManager.java:795) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:795) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:764) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:706) at javax.swing.RepaintManager.access$1000(RepaintManager.java:61) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1621) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1079) at java.awt.Dialog$3.run(Dialog.java:1133) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1131) at java.awt.Component.show(Component.java:1571) at java.awt.Component.setVisible(Component.java:1523) at java.awt.Window.setVisible(Window.java:951) at java.awt.Dialog.setVisible(Dialog.java:1013) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:170) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1079) at java.awt.Dialog$3.run(Dialog.java:1133) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1131) at java.awt.Component.show(Component.java:1571) at java.awt.Component.setVisible(Component.java:1523) at java.awt.Window.setVisible(Window.java:951) at java.awt.Dialog.setVisible(Dialog.java:1013) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:170) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138) Warning: unable to convert property dashes to type class [F: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes-background-color to type class java.awt.Color: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes to type class [F: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes-background-color to type class java.awt.Color: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes to type class [F: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes-background-color to type class java.awt.Color: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes to type class [F: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword! Warning: unable to convert property dashes-background-color to type class java.awt.Color: found Keyword{false} of type class org.openstreetmap.josm.gui.mappaint.Keyword!
comment:8 Changed 10 years ago by
Cc: | imagic added |
---|---|
Keywords: | template_report removed |
@Imagic: can you check if something is wrong with the style (according to warnings displayed on standard output) ?
comment:9 follow-up: 10 Changed 10 years ago by
I guess the warning originates from this:
dashes: eval(is_prop_set(designated_color_forward_2,"default")?list(20,20):false);
dashes-background-color: eval(is_prop_set(designated_color_forward_2,"default")?
prop(designated_color_forward_2,"default"):false);
In some circumstances I need to not set those properties, therefore I set them to "false". This is actually regular behaviour - in almost all situations this is set to false, except if a lane is designated to some vehicle type.
Even if "false" is not a good value I don't think it should cause a NPE.
comment:10 Changed 10 years ago by
Cc: | bastiK added |
---|
Replying to imagic:
This is actually regular behaviour - in almost all situations this is set to false, except if a lane is designated to some vehicle type.
Even if "false" is not a good value
I don't know MapCSS well enough to answer this question. bastiK, should we add "false" to Keyword class, or should the properties be set to something else ?
comment:11 Changed 10 years ago by
The value "false" is definitively not valid for those properties, but that's the reason why I use it, because I don't know any method to unset a property. I will change that in the next days (hopefully) to something like eval(prop(this_property_is_not_set)). But that would only hide a deeper problem: the MapCSS interpreter should never crash even if invalid values are used. And again: those properties are set to false in almost all situations right now, so there must be something else that triggers the NPE.
comment:12 follow-up: 13 Changed 10 years ago by
@skyper: I attached a patched version of the style. Could you please verify if the warnings and/or error disappears with it?
comment:13 Changed 10 years ago by
Replying to imagic:
@skyper: I attached a patched version of the style. Could you please verify if the warnings and/or error disappears with it?
Warnings disappear, error stays:
Repository Root: http://josm.openstreetmap.de/svn Build-Date: 2013-03-11 02:31:38 Last Changed Author: simon04 Revision: 5771 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b URL: http://josm.openstreetmap.de/svn/trunk Last Changed Date: 2013-03-10 11:20:12 +0100 (Sun, 10 Mar 2013) Last Changed Rev: 5771 Identification: JOSM/1.5 (5771 de) Memory Usage: 80 MB / 643 MB (32 MB allocated, but free) Java version: 1.6.0_27, Sun Microsystems Inc., OpenJDK 64-Bit Server VM Operating system: Linux Dataset consistency test: No problems found Plugin: reverter (29353) java.lang.NullPointerException at org.openstreetmap.josm.gui.mappaint.ElemStyles.getStyleCacheWithRange(ElemStyles.java:115) at org.openstreetmap.josm.gui.mappaint.ElemStyles.get(ElemStyles.java:54) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$StyleCollector.add(StyledMapRenderer.java:199) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.collectWayStyles(StyledMapRenderer.java:378) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.render(StyledMapRenderer.java:1342) at org.openstreetmap.josm.gui.layer.OsmDataLayer.paint(OsmDataLayer.java:320) at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:503) at org.openstreetmap.josm.gui.MapView.paint(MapView.java:587) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5138) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:302) at javax.swing.RepaintManager.paint(RepaintManager.java:1216) at javax.swing.JComponent._paintImmediately(JComponent.java:5086) at javax.swing.JComponent.paintImmediately(JComponent.java:4896) at javax.swing.RepaintManager$3.run(RepaintManager.java:807) at javax.swing.RepaintManager$3.run(RepaintManager.java:795) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:795) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:764) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:706) at javax.swing.RepaintManager.access$1000(RepaintManager.java:61) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1621) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1079) at java.awt.Dialog$3.run(Dialog.java:1133) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1131) at java.awt.Component.show(Component.java:1571) at java.awt.Component.setVisible(Component.java:1523) at java.awt.Window.setVisible(Window.java:951) at java.awt.Dialog.setVisible(Dialog.java:1013) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:170) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1079) at java.awt.Dialog$3.run(Dialog.java:1133) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1131) at java.awt.Component.show(Component.java:1571) at java.awt.Component.setVisible(Component.java:1523) at java.awt.Window.setVisible(Window.java:951) at java.awt.Dialog.setVisible(Dialog.java:1013) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:170) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:673) at java.awt.EventQueue.access$300(EventQueue.java:96) at java.awt.EventQueue$2.run(EventQueue.java:634) at java.awt.EventQueue$2.run(EventQueue.java:632) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:643) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
comment:14 follow-up: 15 Changed 10 years ago by
Thanks for the test. I'm still unable to reproduce the NPE, I will give you a debug jar to see what's wrong here...
comment:15 Changed 10 years ago by
Replying to Don-vip:
Thanks for the test. I'm still unable to reproduce the NPE, I will give you a debug jar to see what's wrong here...
I did just verify if I still get the older NPE with the unpatched style and yes I did but only after one cycle without NPE (e.g. deleting both layers and downloading + reverting once more).
comment:16 Changed 10 years ago by
One more thing:
I just noticed that I have ~70 unsolved conflicts on the reverted data layer.
comment:18 Changed 10 years ago by
Component: | Plugin reverter → Core |
---|---|
Owner: | changed from Upliner to team |
comment:20 Changed 10 years ago by
Thanks for fixing this, it was certainly not easy!
osm.mappaintStyle
is != null in line 71, but later in line 114 it can be null. If I understand correctly, this happens because the paint cache is cleared in another thread, while the method is in execution. A synchronized (osm) { ... }
block would certainly help, but I guess it is not necessary in this case...
comment:21 Changed 10 years ago by
You're right, that's what happens. I thought also to the synchronized block , but was afraid of potential side effects. This basic check should be enough :)
Replying to skyper:
Forgot one step: