Umfassende Java-Fehler nach Update von zwei Jahre alter Version

Liebe PP-User,

ich habe 2 Jahre PP nicht mehr benutzt und wollte es heute mal wieder nachholen. Also habe ich die neue Version geladen, in einen Ordner entpackt, mein Portfolio eingeladen und die erste Onvista-PDF eingeladen. Da kam es dann zu einem Java Fehler (s. unten).

Nun merke ich aber, dass selbst beim Laden des Portfolios und für alle Einträge im Menü links unter „Performance“ (also Berechnung, Diagramm, etc.) java.lang.NullPointerException ausspucken. Ich benutze Win 10 64bit, installiert ist Java Version 8 Update 261 (Build 1.8.0_261-b12). Ich hatte erst 32 Bit Java installiert, jetzt aber auf 64 Bit Java aktualisiert und 32 Bit Java deinstalliert.

Kann es daran liegen, dass manche meiner Aktien nicht mehr vorhanden sind (weil umbenannt) oder gewisse Quellen für meine Aktienkurse (Onvista) nicht mehr verfügbar sind? Zum Teil taucht das ganze auch direkt beim Start auf.

Die Fehlermeldungen:

Fri Aug 28 14:37:30 CEST 2020


java.lang.NullPointerException

	at name.abuchen.portfolio.snapshot.PortfolioSnapshot.lambda$0(PortfolioSnapshot.java:33)

	at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)

	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)

	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)

	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)

	at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)

	at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)

	at name.abuchen.portfolio.snapshot.PortfolioSnapshot.create(PortfolioSnapshot.java:34)

	at name.abuchen.portfolio.snapshot.ClientSnapshot.create(ClientSnapshot.java:40)

	at name.abuchen.portfolio.snapshot.ClientPerformanceSnapshot.<init>(ClientPerformanceSnapshot.java:178)

	at name.abuchen.portfolio.ui.views.PerformanceView.reportingPeriodUpdated(PerformanceView.java:127)

	at name.abuchen.portfolio.ui.views.PerformanceView.createBody(PerformanceView.java:172)

	at name.abuchen.portfolio.ui.editor.AbstractFinanceView.createViewControl(AbstractFinanceView.java:127)

	at name.abuchen.portfolio.ui.editor.PortfolioPart.createView(PortfolioPart.java:525)

	at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:495)

	at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:483)

	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:390)

	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:4145)

	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)

	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3958)

	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3561)

	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)

	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)

	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)

	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)

	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:165)

	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199)

	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)

	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)

	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391)

	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246)

	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:595)

	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)




Und z.B. unter "Performance":

java.lang.NullPointerException
	at name.abuchen.portfolio.snapshot.ClientIndex.lambda$2(ClientIndex.java:165)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
	at name.abuchen.portfolio.snapshot.ClientIndex.collectTransferalsAndTaxes(ClientIndex.java:167)
	at name.abuchen.portfolio.snapshot.ClientIndex.calculate(ClientIndex.java:59)
	at name.abuchen.portfolio.snapshot.PerformanceIndex.forClient(PerformanceIndex.java:72)
	at name.abuchen.portfolio.ui.views.dataseries.DataSeriesCache.calculate(DataSeriesCache.java:86)
	at name.abuchen.portfolio.ui.views.dataseries.DataSeriesCache.lookup(DataSeriesCache.java:71)
	at name.abuchen.portfolio.ui.views.dataseries.PerformanceChartSeriesBuilder.build(PerformanceChartSeriesBuilder.java:22)
	at name.abuchen.portfolio.ui.views.PerformanceChartView.lambda$2(PerformanceChartView.java:172)
	at java.base/java.lang.Iterable.forEach(Unknown Source)
	at name.abuchen.portfolio.ui.views.PerformanceChartView.setChartSeries(PerformanceChartView.java:172)
	at name.abuchen.portfolio.ui.views.PerformanceChartView.createBody(PerformanceChartView.java:118)
	at name.abuchen.portfolio.ui.views.PerformanceChartView.createBody(PerformanceChartView.java:1)
	at name.abuchen.portfolio.ui.editor.AbstractFinanceView.createViewControl(AbstractFinanceView.java:127)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.createView(PortfolioPart.java:525)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:495)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:483)
	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:390)
	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:4145)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3958)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3561)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:165)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:199)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:391)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:246)
	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:595)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1501)

Hat niemand eine Idee?

Ich kann dir nicht wirklich helfen. Aber möglicherweise ist auch der Versionssprung zu hoch und daher die XML nicht mehr kompatibel zur aktuellen Version. Du könntest ja aus dem GitHub Mal ne ältere Version ziehen und gucken ob es mit der noch geht.

Alternativ könntest du die ganzen Aktien, die es nicht mehr gibt doch auch einfach Mal löschen (vorher Backup der XML) und gucken was dann passiert.

Ansonsten müsste Mal jemand der Entwickler gucken, der mit dem Fehlerstack etwas anfangen kann.

Standardmäßig steht der Berichtszeitraum auf “1 Jahr”. Ist das bei Dir der Fall?
Wenn Du Wertpapiere hast deren Quelle für historische Kurse nichts mehr hergeben, hast Du eventuell Fälle für die zum Anfang des Berichtszeitraums kein Wert bekannt ist, was eventuell die NullPointerException mit Unknown Source erzeugt? Ich rate nur.

Was passiert wenn Du den Zeitraum auf 2017 stellst?

Was passiert denn wenn du besagte Buchung testweise wieder löschst?