Modify

Opened 4 months ago

Closed 4 months ago

Last modified 4 months ago

#14635 closed defect (duplicate)

NPE in relation editor (WayConnectionTypeCalculator.makeLoopIfNeeded)

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

Description

The following was reported when trying to open the relation editor in a large dataset. Afterwards, selecting objects while the relation editor is open is really messed up.

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2017-04-10 23:49:54 +0200 (Mon, 10 Apr 2017)
Build-Date:2017-04-11 01:34:43
Revision:11885
Relative:URL: ^/trunk

Identification: JOSM/1.5 (11885 en) Linux Debian GNU/Linux 8.7 (jessie)
Memory Usage: 868 MB / 1776 MB (144 MB allocated, but free)
Java version: 1.8.0_121-8u121-b13-4-b13, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1440x900
Maximum Screen Size: 1440x900
Java package: openjdk-8-jre:amd64-8u121-b13-4
Java ATK Wrapper package: libatk-wrapper-java:all-0.30.5-1
Dataset consistency test: No problems found

Plugins:
+ InfoMode (33004)
+ PicLayer (33148)
+ apache-commons (32994)
+ buildings_tools (33004)
+ measurement (33088)
+ osmarender (33004)
+ reverter (33088)
+ todo (30000)
+ turnlanes (33088)
+ undelete (32699)
+ utilsplugin2 (33212)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/MobilePhoneBaseStations&zip=1

Last errors/warnings:
- W: Old style SideButton usage for action org.openstreetmap.josm.plugins.todo.TodoDialog$SelectAction@67a5fd96
- W: Old style SideButton usage for action org.openstreetmap.josm.plugins.todo.TodoDialog$AddAction@20bb7c30
- W: Old style SideButton usage for action org.openstreetmap.josm.plugins.todo.TodoDialog$PassAction@122835dc
- W: Old style SideButton usage for action org.openstreetmap.josm.plugins.todo.TodoDialog$MarkAction@6328db9e
- 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 (19) of main
java.lang.NullPointerException
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.makeLoopIfNeeded(WayConnectionTypeCalculator.java:141)
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.updateLinksFor(WayConnectionTypeCalculator.java:70)
	at org.openstreetmap.josm.gui.dialogs.relation.sort.WayConnectionTypeCalculator.updateLinks(WayConnectionTypeCalculator.java:46)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.getWayConnection(MemberTableModel.java:808)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.getConnectionType(MemberTable.java:211)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.hasGap(MemberTable.java:218)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.updateEnabledState(MemberTable.java:242)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTable$ZoomToGapAction.valueChanged(MemberTable.java:247)
	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:656)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.setSelectedMembersIdx(MemberTableModel.java:626)
	at org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel.setSelectedMembers(MemberTableModel.java:605)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.<init>(GenericRelationEditor.java:294)
	at org.openstreetmap.josm.gui.dialogs.relation.RelationEditor.getEditor(RelationEditor.java:115)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.editMembership(PropertiesDialog.java:486)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.access$800(PropertiesDialog.java:128)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$EditAction.actionPerformed(PropertiesDialog.java:1104)
	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:3324)
	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:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	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:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at org.GNOME.Accessibility.AtkWrapper$4.dispatchEvent(AtkWrapper.java:571)
	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 (6)

comment:1 Changed 4 months ago by Don-vip

Summary: NPE in relation editorNPE in relation editor (WayConnectionTypeCalculator.makeLoopIfNeeded)

comment:2 Changed 4 months ago by Don-vip

Milestone: 17.04

comment:3 Changed 4 months ago by Don-vip

Milestone: 17.04
Resolution: duplicate
Status: newclosed

Closed as duplicate of #12022.
After a deep code analysis I come to the conclusion that this bug cannot happen... Unless you have the infamous "GNOME ATK wrapper" in the way, which messes completely with Java applications. See #12022 comments: you need to disable or upgrade it.

comment:4 Changed 4 months ago by Don-vip

In 11886/josm:

see #14635 - add a new unit test (not directly related to the bug)

comment:5 Changed 4 months ago by anonymous

Upgraded libatk-wrapper-java and libatk-wrapper-java-jni to version 0.33.3-13 and it seems to work now. Would be nice if that dependency would be known to the debian package though.

comment:6 Changed 4 months ago by Don-vip

It is not a dependency of JOSM. It's just there and we need to live with it... Hopefully Debian Stretch will be released in a few months and will provide a less bugged version.

Modify Ticket

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