When loading the Interfaces tab for a device with a large number of interfaces in DX NetOps Spectrum OneClick, the application may fail to display data and throw a Java exception.
The OneClick client console displays the following error message:" java.lang.IllegalArgumentException: Comparison method violates its general contract!"
This typically occurs when sorting large tables (such as the Interfaces tab) where the underlying Java sorting algorithm (TimSort) encounters an inconsistent comparison logic.
• Product: DX NetOps Spectrum
• Version: 24.3.x
• Component: OneClick Console (JNLP)
• Java Version: Problem seen with JRE 17.0.12
This is a known behavior in newer Java runtimes where the legacy merge sort was replaced by a stricter sorting algorithm. If the comparison logic in the application does not strictly adhere to transitivity, Java throws this exception.
This issue is no longer seen in Spectrum 25.4.4 and higher with JRE 17.0.17.
Workaround
To resolve this issue, force the OneClick client to use the legacy merge sort algorithm by modifying the oneclick.jnlp file on the OneClick server.