Modify

Opened 12 years ago

Closed 12 years ago

#8498 closed defect (duplicate)

Conflate plugin crashes when conflating

Reported by: huftis Owned by: joshdoe
Priority: critical Milestone:
Component: Plugin conflation Version:
Keywords: Cc:

Description

The conflate plugin seems to crash when conflating two objects. Here’s what I’m doing.

For testing, I’m trying to conflate ‘Sydnesparken lekeplass’ from the CSV file http://hotell.difi.no/api/csv/bergen/lekeplasser? but I think it should work (i.e., crash) when doing any type of conflation. I use the latest stable JOSM build (5759).

I do the following.

  1. Start JOSM.
  2. Download an area (the surroundings of ‘Sydnesparken lekeplass’).
  3. Open the CSV file to be conflated.
  4. Set the CSV file objects as reference and all leisure=playground objects as subject (possibly after editing the CSV objects, changing ‘navn’ to ‘name’ and adding leisure=playground, but that’s not important for testing).
  5. Generate matches.
  6. Click on the (first) match.
  7. Click ‘Conflate’.
  8. Click ‘Apply’.

JOSM then tells me that the conflation plugin crashed. On the console, I get the following error message:

java.lang.NullPointerException
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog.getSelectedReferencePrimitives(ConflationToggleDialog.java:211)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog.getAllSelectedPrimitives(ConflationToggleDialog.java:236)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog.access$200(ConflationToggleDialog.java:40)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog$SelectListSelectionAction.updateEnabledState(ConflationToggleDialog.java:682)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog$SelectListSelectionAction.valueChanged(ConflationToggleDialog.java:687)
        at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
        at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
        at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
        at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
        at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
        at javax.swing.DefaultListSelectionModel.removeSelectionIntervalImpl(DefaultListSelectionModel.java:576)
        at javax.swing.DefaultListSelectionModel.clearSelection(DefaultListSelectionModel.java:420)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog.simpleMatchSelectionChanged(ConflationToggleDialog.java:187)
        at org.openstreetmap.josm.plugins.conflation.SimpleMatchList.fireSelectionChanged(SimpleMatchList.java:160)
        at org.openstreetmap.josm.plugins.conflation.SimpleMatchList.removeAll(SimpleMatchList.java:139)
        at org.openstreetmap.josm.plugins.conflation.SimpleMatchList.remove(SimpleMatchList.java:96)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog.primitivesRemoved(ConflationToggleDialog.java:747)
        at org.openstreetmap.josm.data.osm.event.PrimitivesRemovedEvent.fire(PrimitivesRemovedEvent.java:25)
        at org.openstreetmap.josm.data.osm.DataSet.fireEventToListeners(DataSet.java:1006)
        at org.openstreetmap.josm.data.osm.DataSet.endUpdate(DataSet.java:985)
        at org.openstreetmap.josm.data.osm.DataSet.removePrimitive(DataSet.java:399)
        at org.openstreetmap.josm.command.AddPrimitivesCommand.undoCommand(AddPrimitivesCommand.java:93)
        at org.openstreetmap.josm.plugins.conflation.ConflateMatchCommand.<init>(ConflateMatchCommand.java:53)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog$ConflateAction.conflateMatchActionPerformed(ConflationToggleDialog.java:570)
        at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog$ConflateAction.actionPerformed(ConflationToggleDialog.java:547)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
        at java.awt.Component.processMouseEvent(Component.java:6505)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
        at java.awt.Component.processEvent(Component.java:6270)
        at java.awt.Container.processEvent(Container.java:2229)
        at java.awt.Component.dispatchEventImpl(Component.java:4861)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
        at java.awt.Container.dispatchEventImpl(Container.java:2273)
        at java.awt.Window.dispatchEventImpl(Window.java:2719)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
        at java.awt.EventQueue.access$200(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:688)
        at java.awt.EventQueue$3.run(EventQueue.java:686)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:702)
        at java.awt.EventQueue$4.run(EventQueue.java:700)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Attachments (0)

Change History (2)

comment:1 by huftis, 12 years ago

I’ve done some more testing. This only seems to happen when conflating the last remaining object in the list of matches.

comment:2 by Don-vip, 12 years ago

Resolution: duplicate
Status: newclosed

Closed as duplicate of #7795.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain joshdoe.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.