Modify

Opened 11 years ago

Last modified 6 years ago

#8335 new defect

FixAddresses: IAE "Comparison method violates its general contract!" (java 7)

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)

Attachments (1)

Schaffhausen_osm.zip (834.8 KB ) - added by mse@… 11 years ago.
Added the OSM file (zipped due to size)

Download all attachments as: .zip

Change History (11)

comment:1 by Don-vip, 11 years ago

Could you please attach your .osm file? Thanks.

by mse@…, 11 years ago

Attachment: Schaffhausen_osm.zip added

Added the OSM file (zipped due to size)

comment:2 by anonymous, 11 years ago

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

comment:3 by skyper, 11 years ago

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

comment:4 by Don-vip, 11 years ago

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

comment:5 by Don-vip, 11 years ago

Keywords: java7 added; FixAddresses removed

comment:6 by OliverW, 11 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, 10 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, 10 years ago

Description: modified (diff)
Summary: Unexpected abort of OSM plugin FixAddress esFixAddresses: IAE "Comparison method violates its general contract!" (java 7)

comment:9 by simon04, 8 years ago

Also a duplicate of #12006?

comment:10 by Don-vip, 6 years ago

Ticket #16185 has been marked as a duplicate of this ticket.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain OliverW.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from OliverW to the specified user.
Next status will be 'needinfo'. The owner will be changed from OliverW to mse@….
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from OliverW to anonymous. Next status will be 'assigned'.

Add Comment


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