Diagramm: Illegal range: lower=-Infinity, upper=23.980162808407115

Moin,

beim Aufrufen des Tabs ‘Diagram’ im Bereich ‘Performance’ erscheint bei mir diese Meldung - und leider kein Diagramm:

Illegal range: lower=-Infinity, upper=23.980162808407115

java.lang.IllegalArgumentException: Illegal range: lower=-Infinity, upper=23.980162808407115
	at org.swtchart.internal.axis.Axis.setRange(Axis.java:200)
	at org.swtchart.internal.axis.Axis.adjustRange(Axis.java:396)
	at org.swtchart.internal.axis.AxisSet.adjustRange(AxisSet.java:261)
	at name.abuchen.portfolio.ui.util.chart.TimelineChart.adjustRange(TimelineChart.java:333)
	at name.abuchen.portfolio.ui.views.PerformanceChartView.setFocus(PerformanceChartView.java:146)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.createView(PortfolioPart.java:582)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:530)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:518)
	at name.abuchen.portfolio.ui.editor.ClientEditorSidebar$1.select(ClientEditorSidebar.java:70)
	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:196)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4579)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1547)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1532)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1325)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4365)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3941)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:168)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

Was kann man da tun? Es scheint die aktuellste Version zu sein

Version: 0.59.2 (Okt. 2022)
Platform: macosx, x86_64
Java: 11.0.15+10-LTS, Azul Systems, Inc.

An sich könnte das vielleicht an dem ein oder anderem Wertpapier liegen? Aber solange ich da überhaupt nichts auswählen kann, könnte ich das auch nicht Schritt für Schritt herausfinden, welches das sein könnte :man_shrugging:t3:

Viele Grüße

Hallo @Hollpotopp, was genau passiert ist, kann ich nicht sagen. Vielleicht kann das jemand, der sich tiefer im Code auskennt.

Ich nehme an der Fehler tritt bei dir zum erstem Mal auf?
Wann hattest du vorher zuletzt das Diagramm mal geöffnet?
Hast du noch eine Backup-Datei die du mal öffnen kannst um zu probieren ob der Fehler da auch auftritt?
Der ungültige Wert kann ja durch Buchungen oder (historische) Kurse aufgetreten sein.
Also würde ich an deiner Stelle versuchen herauszufinden an welcher Buchung oder an welchem Kurs es liegt.

Wenn bei mir der Fehler auftreten würde, wären meine nächsten Schritte:
Backup der xml-Datei machen und an einen sicheren Ort legen. Oder alle nachfolgenden Aktionen nur im backup durchführen. Wichtig ist, dass du mindestens eine Originaldatei noch besitzt.

Achtung, nachfolgende Aktionen greifen direkt in die Konfigurationsdatei ein. Löschen, Ändern oder Einfügen von Daten an falschen Stellen kann dazu führen, dass PP die Datei nicht mehr korrekt lesen kann oder Verknüpfungen in der Datei verloren gehen. Bitte nur machen wenn backups der Datei existieren!

Dann: In der xml-Datei nach PerformanceChartView-PICKER suchen. Hier mal ein Auszug aus einer Testdatei was du ungefähr sehen müsstest.

Die Blau markierten Bezeichner sind die von dir angelegten Ansichten mit den von dir gewählten Namen. Es können 0 bis N sein (jenachdem wieviele Ansichten du angelegt hast).
Die Rot markierten <data>-XML-tags enthalten die Definitionen, welche Datenreihen in jeder deiner Ansichten verwendet werden. Datenreihen sind dabei mit Komma (Grün markiert) voneinander getrennt. In meinem Beispiel enthält jede Ansicht zwei Datenreihen (weil ein Komma).

Du kannst nun im ersten Schritt einfach mal alles von <entry> bis </entry> (jeweils einschließlich) löschen (Magenta) und die Datei speichern. Damit würdest du du alle Ansichten löschen.
Beim Öffnen der Datei sollte der Fehler dann nicht mehr auftreten und alles erstmal sein wie bisher. Nur, dass eben die Diagrammansichten fehlen.
Du könntest dann Stück für Stück die Ansichten wieder versuchen aufzubauen.

Oder du löschst erstmal aus der Datei nur einzelne Ansichten (in meinem Beispiel Cyan bzw Gelb markiert) und probierst so herauszufinden an welcher Ansicht der Fehler liegt.

Zu guter Letzt könntest du auch die Ansichten behalten und nur einzelne Datenreihen entfernen um so herauzufinden durch welche Datenreihen der Fehler kommt.

Wenn du die Ursache Stück für Stück eingrenzen kannst, könntest du hier ja deine Ergebnisse schildern. Vll können wir dann besser eingrenzen wie es zu dem fehlerhaften Wert kommt.
Wenn du ein Minimalbeispiel der Datei erstellen könnest und teilen würdest, könnte das helfen den Fehler einzugrenzen und den Code entsprechend anzupassen. Eine Beschreibung dazu findest du hier:

4 Likes

Vielen Dank für den sehr ausführliche Post!
Ich bin nun so vorgegangen:

  • .xml kopiert
  • PerformanceChartView-PICKER gesucht und nun erstmal alle <config> ... </config> Einträge auskommentiert, in PP geöffnet: klappt prima
  • nun Schritt für Schritt folgende <config> ... </config> Einträge wieder einkommentiert - hat bis inkl. dem letzten prima geklappt
  • Verwunderung, da kein Fehler auftreten wollte - nun habe ich die Originaldatei wieder geöffnet: dort auch kein Fehler mehr.

Hmm, also daraus schließe ich, dass vielleicht irgendetwas an historischen Einstellungen oder so gespeichert gewesen sein könnte (im Hintergrund?), das zu dem Problem führte…?
Wie dem auch sei, ich kann das Problem nun beim besten Willen nicht mehr reproduzieren, und das mit der kopierten und der originalen Datei, oder auch dem Backup vom Nachmittag. :+1: :+1:

1 Like