Opened 13 years ago

Last modified 8 years ago

#8335 new defect

FixAddresses: IAE "Comparison method violates its general contract!" (java 7) — at Version 8

Reported by: mse@… Owned by: OliverW
Priority: normal Milestone:
Component: Plugin fixaddresses Version:
Keywords: java7 Cc: mse@…, OliverW

Description (last modified by Don-vip)

The plugin FixAddresses aborted during the update of approx. 20 addresses. It occurred after having successfully updated approx 500 addresses in Schaffhausen, Switzerland.

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2012-11-29 02:31:07
Last Changed Author: stoecker
Revision: 5608
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2012-11-28 23:47:46 +0100 (Wed, 28 Nov 2012)
Last Changed Rev: 5608

Identification: JOSM/1.5 (5608 de)
Memory Usage: 182 MB / 494 MB (35 MB allocated, but free)
Java version: 1.7.0_07, Oracle Corporation, Java HotSpot(TM) Client VM
Operating system: Windows XP
Dataset consistency test: No problems found

Plugin: FixAddresses (28807)
Plugin: buildings_tools (28891)

java.lang.IllegalArgumentException: Comparison method violates its general contract!
	at java.util.ComparableTimSort.mergeHi(Unknown Source)
	at java.util.ComparableTimSort.mergeAt(Unknown Source)
	at java.util.ComparableTimSort.mergeForceCollapse(Unknown Source)
	at java.util.ComparableTimSort.sort(Unknown Source)
	at java.util.ComparableTimSort.sort(Unknown Source)
	at java.util.Arrays.sort(Unknown Source)
	at java.util.Collections.sort(Unknown Source)
	at org.openstreetmap.josm.plugins.fixAddresses.AddressEditContainer.invalidate(AddressEditContainer.java:539)
	at org.openstreetmap.josm.plugins.fixAddresses.AddressEditContainer.invalidate(AddressEditContainer.java:515)
	at org.openstreetmap.josm.plugins.fixAddresses.gui.IncompleteAddressesDialog.entityChanged(IncompleteAddressesDialog.java:206)
	at org.openstreetmap.josm.plugins.fixAddresses.AddressEditContainer.fireEntityChanged(AddressEditContainer.java:150)
	at org.openstreetmap.josm.plugins.fixAddresses.AddressEditContainer.entityChanged(AddressEditContainer.java:683)
	at org.openstreetmap.josm.plugins.fixAddresses.OSMEntityBase.fireEntityChanged(OSMEntityBase.java:87)
	at org.openstreetmap.josm.plugins.fixAddresses.OSMEntityBase.setOSMTag(OSMEntityBase.java:170)
	at org.openstreetmap.josm.plugins.fixAddresses.OSMAddress.applyGuessForTag(OSMAddress.java:241)
	at org.openstreetmap.josm.plugins.fixAddresses.OSMAddress.applyAllGuesses(OSMAddress.java:224)
	at org.openstreetmap.josm.plugins.fixAddresses.gui.actions.ApplyAllGuessesAction.applyGuesses(ApplyAllGuessesAction.java:96)
	at org.openstreetmap.josm.plugins.fixAddresses.gui.actions.ApplyAllGuessesAction.addressEditActionPerformed(ApplyAllGuessesAction.java:72)
	at org.openstreetmap.josm.plugins.fixAddresses.gui.actions.AbstractAddressEditAction.actionPerformed(AbstractAddressEditAction.java:110)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Change History (9)

comment:1 by Don-vip, 13 years ago

Could you please attach your .osm file? Thanks.

by mse@…, 13 years ago

Attachment: Schaffhausen_osm.zip added

Added the OSM file (zipped due to size)

comment:2 by anonymous, 13 years ago

Please find enclosed the OSM file. Due to its size, I zipped it.

comment:3 by skyper, 13 years ago

Cc: OliverW added
Component: CorePlugin fixaddresses
Description: modified (diff)
Owner: changed from team to OliverW

comment:4 by Don-vip, 13 years ago

See #8712 to understand why this bug only occurs with JDK7.

comment:5 by Don-vip, 13 years ago

Keywords: java7 added; FixAddresses removed

comment:6 by OliverW, 13 years ago

I was not able to reproduce the problem with Java 7 so far - even not with the attached OSM file.

in reply to:  6 comment:7 by Don-vip, 12 years ago

Replying to OliverW:

I was not able to reproduce the problem with Java 7 so far - even not with the attached OSM file.

This problem is hidden by default if you do not use a local build of JOSM. To reproduce you can set the property jdk.Arrays.useLegacyMergeSort to false, see r5977.

comment:8 by Don-vip, 12 years ago

Description: modified (diff)
Summary: Unexpected abort of OSM plugin FixAddress esFixAddresses: IAE "Comparison method violates its general contract!" (java 7)
Note: See TracTickets for help on using tickets.