Nach Klick auf Berichte / Performance / Wertpapiere, oder nach Klick auf Berichte / Vermögensaufstellung
Comparison method violates its general contract!
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.base/java.util.TimSort.mergeHi(TimSort.java:903)
at java.base/java.util.TimSort.mergeAt(TimSort.java:520)
at java.base/java.util.TimSort.mergeForceCollapse(TimSort.java:461)
at java.base/java.util.TimSort.sort(TimSort.java:254)
at java.base/java.util.Arrays.sort(Arrays.java:1308)
at java.base/java.util.ArrayList.sort(ArrayList.java:1804)
at java.base/java.util.Collections.sort(Collections.java:178)
at name.abuchen.portfolio.snapshot.security.SecurityPerformanceSnapshotBuilder.lambda$0(SecurityPerformanceSnapshotBuilder.java:50)
at java.base/java.util.HashMap$Values.forEach(HashMap.java:1073)
at name.abuchen.portfolio.snapshot.security.SecurityPerformanceSnapshotBuilder.create(SecurityPerformanceSnapshotBuilder.java:50)
at name.abuchen.portfolio.snapshot.security.LazySecurityPerformanceSnapshot.create(LazySecurityPerformanceSnapshot.java:16)
at name.abuchen.portfolio.ui.views.SecuritiesPerformanceView.reportingPeriodUpdated(SecuritiesPerformanceView.java:1853)
at name.abuchen.portfolio.ui.views.SecuritiesPerformanceView.createBody(SecuritiesPerformanceView.java:827)
at name.abuchen.portfolio.ui.editor.AbstractFinanceView.createViewControl(AbstractFinanceView.java:171)
at name.abuchen.portfolio.ui.editor.PortfolioPart.createView(PortfolioPart.java:573)
at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:529)
at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:517)
at name.abuchen.portfolio.ui.editor.ClientEditorSidebar$1.select(ClientEditorSidebar.java:71)
at name.abuchen.portfolio.ui.editor.ClientEditorSidebar$1.select(ClientEditorSidebar.java:1)
at name.abuchen.portfolio.ui.editor.Sidebar$Entry.handleMouseDown(Sidebar.java:419)
at org.eclipse.swt.events.MouseListener$2.mouseDown(MouseListener.java:96)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:209)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:91)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5857)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1617)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5067)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4519)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1042)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:165)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:208)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:143)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:109)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:439)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:271)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:668)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:605)
at org.eclipse.equinox.launcher.Main.run(Main.java:1481)
at org.eclipse.equinox.launcher.Main.main(Main.java:1454)
Das Verhalten ist reproduzierbar: Sobald ich dieser Steuerrückerstattung
mittels Editieren ein Wertpapier zuordne, ist der Fehler da, entferne ich das Wertpapier wieder, ist der Fehler wieder weg. Strange.
Berichte/Performance/Wertpapiere und Berichte/Vermögensaufstellung sind beide nach der Spalte Marktwert sortiert.
So ein ähnliches Verhalten gab es schon in Formatting of limit prevents opening of "All securities" view - #10 by OnkelDok
Der Fix fix sorting of limit price column · portfolio-performance/portfolio@d11c6d2 · GitHub bezog sich auf LimitPrice - braucht man für den Marktwert vielleicht etwas ähnliches?