Modify

Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#9632 closed defect (fixed)

IAE "Comparison method violates its general contract!" in relation list dialog

Reported by: rayquaza Owned by: team
Priority: normal Milestone: 14.05
Component: Core Version: tested
Keywords: java7 Cc:

Description

I've got an error while downloading data using continuosDownload. Everything seems to be still working, so lowest priority.

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2014-01-27 22:37:27
Last Changed Author: simon04
Revision: 6763
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2014-01-27 17:13:01 +0100 (Mon, 27 Jan 2014)
Last Changed Rev: 6763

Identification: JOSM/1.5 (6763 de) Windows XP 32-Bit
Memory Usage: 412 MB / 742 MB (87 MB allocated, but free)
Java version: 1.7.0_45, Oracle Corporation, Java HotSpot(TM) Client VM
VM arguments: [-Xmx768M]
Dataset consistency test: No problems found

Plugin: Create_grid_of_ways (29854)
Plugin: FixAddresses (29971)
Plugin: InfoMode (29854)
Plugin: OpeningHoursEditor (30117)
Plugin: PicLayer (29854)
Plugin: alignways (29854)
Plugin: buildings_tools (30057)
Plugin: conflation (0.1.6)
Plugin: continuosDownload (28565)
Plugin: contourmerge (1010)
Plugin: dataimport (29854)
Plugin: editgpx (29854)
Plugin: geochat (30234)
Plugin: graphview (30145)
Plugin: imageryadjust (29854)
Plugin: importvec (29854)
Plugin: jts (29854)
Plugin: log4j (29853)
Plugin: measurement (30104)
Plugin: notes (v0.8)
Plugin: osmarender (29854)
Plugin: pbf (29854)
Plugin: poly (29854)
Plugin: reltoolbox (30209)
Plugin: reverter (30031)
Plugin: todo (29155)
Plugin: turnlanes (30043)
Plugin: turnrestrictions (30237)
Plugin: undelete (30207)
Plugin: utilsplugin2 (30200)

java.lang.IllegalArgumentException: Comparison method violates its general contract!
	at java.util.TimSort.mergeLo(Unknown Source)
	at java.util.TimSort.mergeAt(Unknown Source)
	at java.util.TimSort.mergeCollapse(Unknown Source)
	at java.util.TimSort.sort(Unknown Source)
	at java.util.TimSort.sort(Unknown Source)
	at java.util.Arrays.sort(Unknown Source)
	at java.util.Collections.sort(Unknown Source)
	at org.openstreetmap.josm.gui.dialogs.RelationListDialog$RelationListModel.sort(RelationListDialog.java:398)
	at org.openstreetmap.josm.gui.dialogs.RelationListDialog$RelationListModel.setRelations(RelationListDialog.java:422)
	at org.openstreetmap.josm.gui.dialogs.RelationListDialog.initFromLayer(RelationListDialog.java:231)
	at org.openstreetmap.josm.gui.dialogs.RelationListDialog.dataChanged(RelationListDialog.java:688)
	at org.openstreetmap.josm.data.osm.event.DataChangedEvent.fire(DataChangedEvent.java:26)
	at org.openstreetmap.josm.data.osm.event.DatasetEventManager.fireEvents(DatasetEventManager.java:117)
	at org.openstreetmap.josm.data.osm.event.DatasetEventManager.access$200(DatasetEventManager.java:27)
	at org.openstreetmap.josm.data.osm.event.DatasetEventManager$1.run(DatasetEventManager.java:149)
	at java.awt.event.InvocationEvent.dispatch(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.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.awt.Dialog.show(Unknown Source)
	at java.awt.Component.show(Unknown Source)
	at java.awt.Component.setVisible(Unknown Source)
	at java.awt.Window.setVisible(Unknown Source)
	at java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:172)
	at java.awt.event.InvocationEvent.dispatch(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.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 (4)

josm-test.txt (3.7 KB) - added by rayquaza 6 years ago.
console output as requested
josm.downloadexception.log.txt (3.9 KB) - added by rayquaza 6 years ago.
Console log (for boundingbox)
josm.downloadexception.osm.zip (310.8 KB) - added by rayquaza 6 years ago.
OSM-File with this happening
JOSM-presets.xml (5.1 KB) - added by rayquaza 6 years ago.

Download all attachments as: .zip

Change History (28)

comment:1 Changed 6 years ago by Don-vip

This problem should not occur since r5977. Can you please tell me what's the value of jdk.Arrays.useLegacyMergeSort in advanced preferences ?

comment:2 Changed 6 years ago by rayquaza

jdk.Arrays.useLegacyMergeSort is true. Does this have any impact or can I continue working with this error?

comment:3 Changed 6 years ago by Don-vip

No impact this is the expected value. But I don't understand why you're facing this issue.

comment:4 Changed 6 years ago by Don-vip

In 6780/josm:

see #9632 - print debug message when setting system property

comment:5 Changed 6 years ago by Don-vip

Keywords: java7 added; template_report removed
Milestone: 14.02
Priority: trivialminor
Summary: Error while downloadingIAE "Comparison method violates its general contract!" while downloading

comment:6 Changed 6 years ago by Don-vip

One more test, can you please:

  • enable java console as described here
  • run JOSM latest (r6780) with --debug as program argument
  • attach the console output to this ticket ?

Thanks :)

Last edited 6 years ago by Don-vip (previous) (diff)

comment:7 Changed 6 years ago by Don-vip

Owner: changed from team to rayquaza
Status: newneedinfo

Changed 6 years ago by rayquaza

Attachment: josm-test.txt added

console output as requested

comment:8 Changed 6 years ago by Don-vip

Owner: changed from rayquaza to team
Status: needinfonew

thanks. All look normal, I still don't get it how it is possible you face this exception.

comment:9 Changed 6 years ago by Don-vip

One last thing: do you remember where were you editing when the error occurred? I need to know especially what relations you had.

comment:10 Changed 6 years ago by rayquaza

Changeset 20274453, likely along the bus lines 7 and 3, but no more exactly. I remember that it happened at least once without data in the area and once I got several reports for one download, but it did not happen always.

comment:11 Changed 6 years ago by Don-vip

Owner: changed from team to rayquaza
Status: newneedinfo

It's really hard to fix it without the exact data. If you manage to reproduce, can you please attach your .osm file ? Thanks.

comment:12 Changed 6 years ago by rayquaza

Noted, though I hope it magically won't happen again. So if you want to close it as likely unfixable I'd be fine with that.
I hate this type of bugs, but they seem to like me…

Changed 6 years ago by rayquaza

Console log (for boundingbox)

Changed 6 years ago by rayquaza

OSM-File with this happening

comment:13 Changed 6 years ago by rayquaza

I had an relation-editor with a new relation open while doing this. This time the relation list is empty now (scrolbar was still there at first, but then disappeared as well). When I doubleclick in this empty field the (now saved) relation gets selected. While closing the relation editor the exception occured a second time.

comment:14 Changed 6 years ago by Don-vip

Milestone: 14.0214.03
Owner: changed from rayquaza to team
Status: needinfonew

Thanks, we'll try to fix this problem in next version.

comment:15 Changed 6 years ago by Don-vip

Milestone: 14.0314.04

comment:16 Changed 6 years ago by Don-vip

Milestone: 14.0414.05

comment:17 Changed 6 years ago by Don-vip

It's even more complicated than I thought. Could you please tell me what is the exact list of presets you're using?
Thanks.

Changed 6 years ago by rayquaza

Attachment: JOSM-presets.xml added

comment:18 Changed 6 years ago by Don-vip

In 7095/josm:

see #9632 - show problem in unit tests

comment:19 Changed 6 years ago by Don-vip

In 7096/josm:

see #9632 - fix typo in test

comment:20 Changed 6 years ago by Don-vip

In 7097/josm:

see #9632 - unit test optimization

comment:21 Changed 6 years ago by Don-vip

Resolution: fixed
Status: newclosed

In 7098/josm:

fix #9632 - fix relation comparator

comment:22 Changed 6 years ago by Don-vip

Priority: minornormal

comment:23 Changed 6 years ago by Don-vip

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

comment:24 Changed 6 years ago by Don-vip

Summary: IAE "Comparison method violates its general contract!" while downloadingIAE "Comparison method violates its general contract!" in relation list dialog

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.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.