Modify

Opened 10 years ago

Closed 10 years ago

Last modified 10 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 10 years ago.
console output as requested
josm.downloadexception.log.txt (3.9 KB ) - added by rayquaza 10 years ago.
Console log (for boundingbox)
josm.downloadexception.osm.zip (310.8 KB ) - added by rayquaza 10 years ago.
OSM-File with this happening
JOSM-presets.xml (5.1 KB ) - added by rayquaza 10 years ago.

Download all attachments as: .zip

Change History (28)

comment:1 by Don-vip, 10 years ago

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 by rayquaza, 10 years ago

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

comment:3 by Don-vip, 10 years ago

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

comment:4 by Don-vip, 10 years ago

In 6780/josm:

see #9632 - print debug message when setting system property

comment:5 by Don-vip, 10 years ago

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 by Don-vip, 10 years ago

One more test, can you please:

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

Thanks :)

Version 0, edited 10 years ago by Don-vip (next)

comment:7 by Don-vip, 10 years ago

Owner: changed from team to rayquaza
Status: newneedinfo

by rayquaza, 10 years ago

Attachment: josm-test.txt added

console output as requested

comment:8 by Don-vip, 10 years ago

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 by Don-vip, 10 years ago

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 by rayquaza, 10 years ago

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 by Don-vip, 10 years ago

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 by rayquaza, 10 years ago

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…

by rayquaza, 10 years ago

Console log (for boundingbox)

by rayquaza, 10 years ago

OSM-File with this happening

comment:13 by rayquaza, 10 years ago

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 by Don-vip, 10 years ago

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 by Don-vip, 10 years ago

Milestone: 14.0314.04

comment:16 by Don-vip, 10 years ago

Milestone: 14.0414.05

comment:17 by Don-vip, 10 years ago

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

by rayquaza, 10 years ago

Attachment: JOSM-presets.xml added

comment:18 by Don-vip, 10 years ago

In 7095/josm:

see #9632 - show problem in unit tests

comment:19 by Don-vip, 10 years ago

In 7096/josm:

see #9632 - fix typo in test

comment:20 by Don-vip, 10 years ago

In 7097/josm:

see #9632 - unit test optimization

comment:21 by Don-vip, 10 years ago

Resolution: fixed
Status: newclosed

In 7098/josm:

fix #9632 - fix relation comparator

comment:22 by Don-vip, 10 years ago

Priority: minornormal

comment:23 by Don-vip, 10 years ago

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

comment:24 by Don-vip, 10 years ago

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. 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.