Modify

Opened 6 years ago

Closed 6 years ago

#17304 closed defect (duplicate)

NPE at WayConnectionTypeCalculator.makeLoopIfNeeded

Reported by: anonymous Owned by: team
Priority: normal Milestone:
Component: Core Version: tested
Keywords: template_report relation Cc:

Description

What steps will reproduce the problem?

  1. open relation editor
  2. german: "Alle unvollständigen Elemente herunterladen"
  3. german: "Auf Lücke springen"

What is the expected result?

What happens instead?

unhandled exception

Please provide any additional information below. Attach a screenshot if possible.

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-02-02 21:01:18 +0100 (Sat, 02 Feb 2019)
Build-Date:2019-02-04 21:50:11
Revision:14760
Relative:URL: ^/trunk

Identification: JOSM/1.5 (14760 de) Linux openSUSE 13.2 (Harlequin) (x86_64)
Memory Usage: 540 MB / 1760 MB (233 MB allocated, but free)
Java version: 1.8.0_111-b14, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 2560x1600
Maximum Screen Size: 2560x1600
Java package: java-1_8_0-openjdk:x86_64-1.8.0.111
Dataset consistency test: No problems found

Plugins:
+ Mapillary (v1.5.17)
+ apache-commons (34506)
+ apache-http (34632)
+ jna (34867)

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- E: Handled by bug report queue: java.lang.NullPointerException


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-1 (17) of main
java.lang.NullPointerException
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.makeLoopIfNeeded(WayConnectionTypeCalculator.java:144)
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.updateLinksFor(WayConnectionTypeCalculator.java:73)
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.updateLinks(WayConnectionTypeCalculator.java:49)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.getWayConnection(MemberTableModel.java:843)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.getConnectionType(MemberTable.java:223)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.hasGap(MemberTable.java:230)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.updateEnabledState(MemberTable.java:253)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.valueChanged(MemberTable.java:258)
	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.addSelectionInterval(DefaultListSelectionModel.java:518)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.addToSelectedMembers(MemberTableModel.java:691)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.setSelectedMembersIdx(MemberTableModel.java:661)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.setSelectedMembers(MemberTableModel.java:640)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.selectionChanged(MemberTableModel.java:120)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager$DataListenerInfo.fire(SelectionEventManager.java:57)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager.fireEvent(SelectionEventManager.java:159)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager.selectionChanged(SelectionEventManager.java:148)
	at org.openstreetmap.josm.data.osm.DataSet.lambda$doSelectionChange$5(DataSet.java:684)
	at org.openstreetmap.josm.tools.ListenerList.fireEvent(ListenerList.java:150)
	at org.openstreetmap.josm.data.osm.DataSet.doSelectionChange(DataSet.java:684)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:615)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:611)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.actionPerformed(MemberTable.java:244)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6533)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3315)
	at java.awt.Component.processEvent(Component.java:6298)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at org.GNOME.Accessibility.AtkWrapper$4.dispatchEvent(AtkWrapper.java:563)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Attachments (0)

Change History (5)

comment:1 by GerdP, 6 years ago

Please tell us the relation id

comment:2 by Don-vip, 6 years ago

Keywords: relation added
Owner: changed from team to anonymous
Status: newneedinfo
Summary: relation editorNPE at WayConnectionTypeCalculator.makeLoopIfNeeded

comment:3 by Don-vip, 6 years ago

Owner: changed from anonymous to team
Status: needinfonew

The WayConnectionTypeCalculator class is clearly asking for trouble:

    for (int i = 0; i < members.size(); ++i) {
        con.add(null);
    }
    loop = determineDirection(i, con.get(i).direction, firstGroupIdx) == con.get(firstGroupIdx).direction; // NPE here

comment:4 by Don-vip, 6 years ago

In 15382/josm:

see #17304 - proper report of NPE debug details

comment:5 by Don-vip, 6 years ago

Resolution: duplicate
Status: newclosed

Closed as duplicate of #14635.
Too difficult to analyze without details. I see also like in #14635 we have our dear infamous "GNOME.Accessibility.AtkWrapper"...

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
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.