Modify

Opened 2 years ago

Closed 20 months ago

#22672 closed defect (needinfo)

IllegalArgumentException: Comparison method violates its general contract

Reported by: anonymous Owned by: anonymous
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report javabug Cc:

Description

What steps will reproduce the problem?

What is the expected result?

What happens instead?

Please provide any additional information below. Attach a screenshot if possible.

Revision:18622
Build-Date:2023-01-04 12:54:08

Identification: JOSM/1.5 (18622 fr) Windows 11 64-Bit
OS Build number: Windows 10 Pro 2009 (22621)
Memory Usage: 338 MB / 4058 MB (72 MB allocated, but free)
Java version: 17.0.5+8-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1080 (scaling 1.50×1.50) \Display1 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→48×48, 32×32→48×48
System property file.encoding: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: fr_FR
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.18622, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=%UserProfile%\AppData\Local\JOSM\JOSM.exe]
Dataset consistency test: No problems found

Plugins:
+ apache-commons (36034)
+ ejml (35924)
+ geotools (36028)
+ jackson (36034)
+ jaxb (35952)
+ jts (36004)
+ opendata (36025)
+ pbf (36034)
+ utilsplugin2 (36011)

Last errors/warnings:
- 00000.244 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF'
- 00000.246 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF'
- 00000.761 E: java.security.KeyStoreException: Windows-ROOT not found. Cause : java.security.NoSuchAlgorithmException: Windows-ROOT KeyStore not available
- 00019.262 E: Handled by bug report queue: java.lang.IllegalArgumentException: Comparison method violates its general contract!
- 00024.129 E: Handled by bug report queue: java.lang.IllegalArgumentException: Comparison method violates its general contract!
- 00027.109 E: Handled by bug report queue: java.lang.IllegalArgumentException: Comparison method violates its general contract!
- 00036.341 E: Handled by bug report queue: java.lang.IllegalArgumentException: Comparison method violates its general contract!
- 00042.777 E: Handled by bug report queue: java.lang.IllegalArgumentException: Comparison method violates its general contract!
- 00330.568 E: Handled by bug report queue: java.lang.IllegalArgumentException: Comparison method violates its general contract!



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (23) of main
java.lang.IllegalArgumentException: Comparison method violates its general contract!
	at java.base/java.util.ComparableTimSort.mergeHi(Unknown Source)
	at java.base/java.util.ComparableTimSort.mergeAt(Unknown Source)
	at java.base/java.util.ComparableTimSort.mergeCollapse(Unknown Source)
	at java.base/java.util.ComparableTimSort.sort(Unknown Source)
	at java.base/java.util.Arrays.sort(Unknown Source)
	at java.desktop/sun.awt.shell.Win32ShellFolderManager2.get(Unknown Source)
	at java.desktop/sun.awt.shell.ShellFolder.get(Unknown Source)
	at java.desktop/com.sun.java.swing.plaf.windows.WindowsFileChooserUI$DirectoryComboBoxModel.addItem(Unknown Source)
	at java.desktop/com.sun.java.swing.plaf.windows.WindowsFileChooserUI.doDirectoryChanged(Unknown Source)
	at java.desktop/com.sun.java.swing.plaf.windows.WindowsFileChooserUI$11.propertyChange(Unknown Source)
	at java.desktop/java.beans.PropertyChangeSupport.fire(Unknown Source)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
	at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
	at java.desktop/java.awt.Component.firePropertyChange(Unknown Source)
	at java.desktop/javax.swing.JFileChooser.setCurrentDirectory(Unknown Source)
	at java.desktop/javax.swing.JFileChooser.<init>(Unknown Source)
	at java.desktop/javax.swing.JFileChooser.<init>(Unknown Source)
	at org.openstreetmap.josm.gui.widgets.SwingFileChooser.<init>(SwingFileChooser.java:25)
	at org.openstreetmap.josm.gui.widgets.FileChooserManager.doCreateFileChooser(FileChooserManager.java:311)
	at org.openstreetmap.josm.gui.widgets.FileChooserManager.createFileChooser(FileChooserManager.java:180)
	at org.openstreetmap.josm.actions.DiskAccessAction.createAndOpenFileChooser(DiskAccessAction.java:141)
	at org.openstreetmap.josm.actions.SessionSaveAction.doGetFileChooser(SessionSaveAction.java:317)
	at org.openstreetmap.josm.actions.SessionSaveAction.doGetFile(SessionSaveAction.java:307)
	at org.openstreetmap.josm.actions.SessionSaveAction.saveSession(SessionSaveAction.java:175)
	at org.openstreetmap.josm.gui.io.SaveLayersDialog$SaveSessionButtonAction.actionPerformed(SaveLayersDialog.java:445)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
	at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.desktop/java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.desktop/java.awt.Dialog.show(Unknown Source)
	at java.desktop/java.awt.Component.show(Unknown Source)
	at java.desktop/java.awt.Component.setVisible(Unknown Source)
	at java.desktop/java.awt.Window.setVisible(Unknown Source)
	at java.desktop/java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.io.SaveLayersDialog.saveUnsavedModifications(SaveLayersDialog.java:131)
	at org.openstreetmap.josm.gui.MainApplication.lambda$exitJosm$3(MainApplication.java:519)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitAndReturn(GuiHelper.java:269)
	at org.openstreetmap.josm.gui.MainApplication.exitJosm(MainApplication.java:518)
	at org.openstreetmap.josm.gui.MainFrame$ExitWindowAdapter.windowClosing(MainFrame.java:199)
	at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
	at java.desktop/java.awt.Window.processWindowEvent(Unknown Source)
	at java.desktop/javax.swing.JFrame.processWindowEvent(Unknown Source)
	at java.desktop/java.awt.Window.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Attachments (0)

Change History (2)

comment:1 by taylor.smock, 2 years ago

Keywords: javabug added
Owner: changed from team to anonymous
Status: newneedinfo
Summary: Saving issueIllegalArgumentException: Comparison method violates its general contract

This looks like a Java bug (the sort fails at Win32ShellFOlderManager2.java#L315).

An similar upstream issue is https://bugs.openjdk.org/browse/JDK-8140204, which was closed due to being irreproducible.

@anonymous: It would be helpful if you could give us steps to reproduce.

comment:2 by taylor.smock, 20 months ago

Resolution: needinfo
Status: needinfoclosed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain anonymous.
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.