java.lang.NullPointerException bei Start mit Trades

Wenn im PP beim Programmstart den Abschnitt Trades als erstes anzeigt wird, wird eine java.lang.NullPointerException geworfen. Dabei ist es unerheblich, ob Trades von vorherigen Session gemerkt wurde oder ob ich unmittelbar nach dem Programmstart von einem anderen Tab auf den Dateitab wechsle.

Wenn also Trades der erste anzuzeigende Bereich der Datei.xml ist, tritt die Ausnahme auf. D.h., die Ausnahme tritt nicht auf, wenn PP in einem anderen Bereich startet und ich dann in die Trades wechsle.

Der Fehler tritt nur 1x beim Programmstart auf und scheint keine weiteren Auswirkungen zu haben.

Version: 0.46.3 (Mai 2020)
Platform: win32, x86_64
Java: 11.0.4+11-LTS, Azul Systems, Inc.
Windows 7 64-bit SP1

Sat May 30 10:43:01 CEST 2020
Internal Error
java.lang.NullPointerException
	at name.abuchen.portfolio.ui.views.trades.TradeDetailsView.notifyModelUpdated(TradeDetailsView.java:103)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.onRecalculationNeeded(PortfolioPart.java:372)
	at java.base/java.util.ArrayList.forEach(Unknown Source)
	at name.abuchen.portfolio.ui.editor.ClientInput.setDirty(ClientInput.java:126)
	at name.abuchen.portfolio.ui.editor.ClientInput.lambda$10(ClientInput.java:488)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3933)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3564)
	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)

Vielen Dank für den Hinweis. Der Fehler wurde auch schon als Issue bei GitHub eingestellt. Ich schaue mir das nachher mal an:

Hallo Erwin,

(@erwinschlonz) leider kann ich den Fehler nicht reproduzieren. Ist es möglich eine Beispieldatei zu bekommen?

Im Issue bei Github gibt es noch die Vermutung, dass es am Update der Wertpapiere liegen könnte:

Eventuell wurde der Fehler getriggert durch den automatischen Download neuer Kurse von Wertpapieren?

Du schreibst:

Der Fehler tritt nur 1x beim Programmstart auf und scheint keine weiteren Auswirkungen zu haben.

Bedeutet das, dass bei einem zweiten Öffnen am selben Tag der Fehler nicht mehr auftritt?

Auch ein Löschen der neuesten Kurse und erneutes Öffnen hat den Fehler bei mir “leider” nicht provoziert…

Nein, tritt bei jedem Programmstart auf, wenn zuvor in der Ansicht Berichte / Performance / Trades gespeichert und geschlossen wurde.

Mit diesem Testfile tritt der Fehler auf: ohnenamen3.xml (2,4 MB)

1 Like

Nein, er tritt bei jedem Programmstart auf.

Ich stelle aber fest, dass der Fehler pro Trade auftritt, d.h. ich habe in meinem jungen Portfolio erst drei Trades, im Fehlerprotokoll sehe ich die Exception 3x aufgeführt.

Ich habe bei allen drei Wertpapieren die autom. Aktualisierung deaktiviert. Das hat aber nicht geholfen.

Vielen Dank @ProgFriese für das Beispiel!

Das ist ein lustiges Ding. So wie es aussieht, muss man während das Online Update passiert im Trades View sein oder dorthin wechseln. Wenn man nach dem Update dorthin wechselt, gibt es keinen Fehler.

Dazu kommt, dass der Fehler nicht auftritt, wenn ich PP aus Eclipse heraus starte. Somit konnte ich nicht wirklich debuggen, aber dennoch den Fehler beheben. Der Fix ist mit Pull Request #1577 eingestellt und sollte dann mit dem nächsten Update kommen.

Ist jetzt Version 0.46.4 veröffentlicht.