# Comparison method violates its general contract!

**URL:** <https://forum.inductiveautomation.com/t/comparison-method-violates-its-general-contract/10245>\
**Category:** Ignition\
**Created:** [July 20, 2015, 10:22am UTC](https://forum.inductiveautomation.com/t/comparison-method-violates-its-general-contract/10245 "2015-07-20T10:22:21Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![andrea.montresor](https://avatars.discourse-cdn.com/v4/letter/a/5f9b8f/32.png) [@andrea.montresor](https://forum.inductiveautomation.com/u/andrea.montresor)\
**Post date:** [July 20, 2015, 10:22am UTC](https://forum.inductiveautomation.com/t/comparison-method-violates-its-general-contract/10245/1 "2015-07-20T10:22:21Z")

</div>

Hi,

I have a problem with the tags; infact inside the gateway does not work in the tag the valueChanged.  
When I create a new project in the output console I have this error:  
Exception in thread “AWT-EventQueue-2” java.lang.IllegalArgumentException: Comparison method violates its general contract!  
at java.util.TimSort.mergeHi(Unknown Source)  
at java.util.TimSort.mergeAt(Unknown Source)  
at java.util.TimSort.mergeForceCollapse(Unknown Source)  
at java.util.TimSort.sort(Unknown Source)  
at java.util.Arrays.sort(Unknown Source)  
at sun.awt.datatransfer.DataTransferer.setToSortedDataFlavorArray(Unknown Source)  
at sun.awt.datatransfer.DataTransferer.getFlavorsForFormatsAsArray(Unknown Source)  
at sun.awt.datatransfer.SunClipboard.getAvailableDataFlavors(Unknown Source)  
at com.inductiveautomation.ignition.designer.sqltags.dialog.TagBrowserPanel$TagBrowserActionHandler.canPaste(TagBrowserPanel.java:468)  
at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler.updateEditActions(IgnitionDesigner.java:2832)  
at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler$SetEditActionHandler.run(IgnitionDesigner.java:3072)  
at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler$4.actionPerformed(IgnitionDesigner.java:2214)  
at javax.swing.Timer.fireActionPerformed(Unknown Source)  
at javax.swing.Timer$DoPostEvent.run(Unknown Source)  
at java.awt.event.InvocationEvent.dispatch(Unknown Source)  
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)  
at java.awt.EventQueue.access$500(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)  
Exception in thread “AWT-EventQueue-2” java.lang.IllegalArgumentException: Comparison method violates its general contract!  
at java.util.TimSort.mergeHi(Unknown Source)  
at java.util.TimSort.mergeAt(Unknown Source)  
at java.util.TimSort.mergeForceCollapse(Unknown Source)  
at java.util.TimSort.sort(Unknown Source)  
at java.util.Arrays.sort(Unknown Source)  
at sun.awt.datatransfer.DataTransferer.setToSortedDataFlavorArray(Unknown Source)  
at sun.awt.datatransfer.DataTransferer.getFlavorsForFormatsAsArray(Unknown Source)  
at sun.awt.datatransfer.SunClipboard.getAvailableDataFlavors(Unknown Source)  
at com.inductiveautomation.ignition.designer.sqltags.dialog.TagBrowserPanel$TagBrowserActionHandler.canPaste(TagBrowserPanel.java:468)  
at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler.updateEditActions(IgnitionDesigner.java:2832)  
at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler.stateChanged(IgnitionDesigner.java:2838)  
at com.inductiveautomation.ignition.designer.model.AbstractEditActionHandler.fireChangeEvent(AbstractEditActionHandler.java:37)  
at com.inductiveautomation.ignition.designer.sqltags.dialog.TagBrowserPanel$TagBrowserActionHandler.valueChanged(TagBrowserPanel.java:453)  
at javax.swing.JTree.fireValueChanged(Unknown Source)  
at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source)  
at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown Source)  
at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown Source)  
at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown Source)  
at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown Source)  
at javax.swing.JTree.setSelectionPath(Unknown Source)  
at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(Unknown Source)  
at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(Unknown Source)  
at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressedDND(Unknown Source)  
at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(Unknown Source)  
at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)  
at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)  
at java.awt.AWTEventMulticaster.mousePressed(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$500(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)

How do I fix?

---

<div class="post-metadata">

**Author:** ![nmudge](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nmudge/32/3394_2.png) [@nmudge](https://forum.inductiveautomation.com/u/nmudge)\
**Post date:** [July 20, 2015, 4:12pm UTC](https://forum.inductiveautomation.com/t/comparison-method-violates-its-general-contract/10245/2 "2015-07-20T16:12:09Z")

</div>

What version of Ignition are you using? What version of Java on the server?

---

<div class="post-metadata">

**Author:** ![andrea.montresor](https://avatars.discourse-cdn.com/v4/letter/a/5f9b8f/32.png) [@andrea.montresor](https://forum.inductiveautomation.com/u/andrea.montresor)\
**Post date:** [July 21, 2015, 8:45am UTC](https://forum.inductiveautomation.com/t/comparison-method-violates-its-general-contract/10245/3 "2015-07-21T08:45:11Z")

</div>

I solved by uninstalling and reinstalling ignition.

thanks
