java.lang.NullPointerException beim PDF-Import

Bei mir geht überhaupt kein Import mehr. Consorsbank, Comdirect und Trade Repulic betroffen. Win10 und PP0.48.0 x64

Bei mir ebenfalls, hatte es in einem halb falschen anderen Beitrag bereits geschrieben.

PDF Comdirect
MacOS
PP 0.48.0

Das Problem betrifft generell den Import (PDF, CSV) von Käufen und Verkäufen aller Banken, sobald ein Sparplan für eine Einzahlung existiert, weil bei diesen Sparplänen kein Wertpapier zugeordnet ist und die neue Logik in Version 0.48.0 einen Fehler hat und damit nicht umgehen kann. Dieser Fehler ist tatsächlich schon gefunden und behoben worden:

wurde scheinbar mit folgendem Commit gelöst: Fixed NPE when checking for duplicates in investment plans of type DE… · portfolio-performance/portfolio@b02626f · GitHub

Der Import sollte für alle funktionieren, die keinen Sparplan für eine Einzahlung haben. Sparpläne für Wertpapiere sind kein Problem. Imports für Dividenden sollten ebenfalls funktionieren.

Mit der nächsten Version kommt der Fix, bis dahin gibt es die Möglichkeit die Sparpläne für Einzahlungen zu löschen oder zu warten.

3 Likes

Hallo,

habe auch das Problem. Habe aber 2 PP-Datenbanken. bei der einen funktioniert es noch bei der anderen nicht!?!

Gits schon ne Idee, wie lang es dauern wird bis es eine neue Version gibt? Tage, dann kann man ja noch warten mit dem importieren oder eher Wochen?

Danke.

Hey zusammen,
mit dem Update von soeben (Version 0.48.1) funktioniert der PDF-Import wieder reibungslos.
Herzlichen Dank!

VG Tobi

3 Likes

Genau. :smile:

Hier noch der Link auf die Release Notes Version 0.48.1 (womit der Backlink gesetzt wird).

1 Like

Läuft wieder.
Super, vielen Dank!

1 Like

Hallo zusammen,

die PDFs können jetzt zwar eingelesen werden, es kommt dann aber beim Speichern der erkannten Buchungen zu einer java.lang.NullPointerException. Durch den Import sollten Buchungen die automatisch durch einen Wertpapier-Sparplan angelegt wurden, ersetzt werden.
Wenn ich die Buchungen die durch den Sparplan angelegt wurden vor dem Import lösche, funktioniert der Import auch problemlos.
Importiert wurden PDFs der Consorsbank. Falls weitere Informationen benötigt werden, bitte kurz bescheid geben.

Hier noch der Stacktrace:

Thu Sep 03 09:56:28 CEST 2020
Internal Error

java.lang.NullPointerException
	at name.abuchen.portfolio.datatransfer.actions.InsertAction.lambda$0(InsertAction.java:111)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(Unknown Source)
	at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(Unknown Source)
	at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(Unknown Source)
	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(Unknown Source)
	at java.base/java.util.Spliterators$1Adapter.hasNext(Unknown Source)
	at name.abuchen.portfolio.datatransfer.actions.InsertAction.process(InsertAction.java:112)
	at name.abuchen.portfolio.datatransfer.Extractor$BuySellEntryItem.apply(Extractor.java:359)
	at name.abuchen.portfolio.ui.wizards.datatransfer.ImportExtractedItemsWizard.performFinish(ImportExtractedItemsWizard.java:142)
	at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:832)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:472)
	at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:619)
	at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4385)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3789)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
	at org.eclipse.jface.window.Window.open(Window.java:799)
	at name.abuchen.portfolio.ui.handlers.ImportPDFHandler$1.lambda$0(ImportPDFHandler.java:116)
	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:4124)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3791)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1158)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1047)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:166)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	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: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:657)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1447)

Beste Grüße
Simon

Die konkrete Fehlermeldung hier zu posten (Hilfe --> Fehlerprotokoll) wäre hilfreich.

Die konkrete Fehlermeldung hier zu posten (Hilfe → Fehlerprotokoll) wäre hilfreich.

Jup, hatte ich vergessen, aber inzwischen zu meiner Nachricht oben hinzugefügt.

Danke für die schnelle Behebung alles läuft wie immer :+1:

@simson
Danke. Ich kann den Fehler bei mir zwar seltsamerweise nicht nachvollziehen, es sieht jedoch so aus, als sei das ein vergleichbares Problem, wie zuvor, lediglich an einer späteren Stelle im Prozess. Ich habe mal einen Fix erstellt, der dann mit der nächsten Version kommen sollte.

Der von Dir vorgenommene Workaround (manuelles Löschen der durch den Sparplan angelegten Transaktion) sollte bis dahin funktionieren, auch wenn das natürlich nicht ideal ist.

@Robert1

Hallo Robert, in der Tat passt das Thema hier nicht so wirklich. Auch hier wäre ein Fehlerprotokoll (Hilfe --> Fehlerprotokoll) hilfreich, um zu sehen, woran es liegen könnte.

Hallo Forum!

Bei der letzten Version trat bei mir auch der java.lang.NullPointerException Fehler beim Importieren von Bankdateien auf, wurde aber gefixt, geht jetzt wieder danke!

Ein ETF wurde von meiner Bank gelöscht, und ein identischer ETF wurde erstellt. Der neue ETF basiert auf dem gleichen Indizes wie der alte, nur der Name und Preis wurden geändert.
Mein ETF wurde automatisch von der Bank umgebucht. (Jetzt habe ich 50 Stücke von ETF B, anstatt 100 von ETF B, der Gesamtwert ist aber gleichgeblieben.)

Beim Import des PDF Umbuchungs Dokuments kam wieder die java.lang.NullPointerException Fehlermeldung.
Wenn ich jetzt auf einen Reiter in der Kategorie „Berichte“ klicke (Vermögensaufstellung, Diagramm, Bestände, usw…) sehe ich keine Grafiken, sondern nur noch den Fehlerbericht java.lang.NullPointerException.
PP erkennt den Umtausch nur als Auslieferung, jedoch nicht als Einlieferung.
Beim löschen der Ausbuchung bleibt der Fehler bestehen.

Tue Sep 22 20:59:18 CEST 2020

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.dashboard.DashboardData.calculate(DashboardData.java:143)

at name.abuchen.portfolio.ui.views.dashboard.WidgetFactory.lambda$10(WidgetFactory.java:107)

at name.abuchen.portfolio.ui.views.dashboard.IndicatorWidget.lambda$1(IndicatorWidget.java:129)

at name.abuchen.portfolio.ui.views.dashboard.DashboardView$CalculateWidgetDataRunnable.run(DashboardView.java:224)

at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.base/java.util.concurrent.FutureTask.run(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.base/java.lang.Thread.run(Unknown Source)

Fehler nach Umtausch.xml (9,7 KB)


Windows 10 Home, Version 1909, 64bit
PP Version: 0.48.1 (Sep. 2020)

Vielen Dank für eure Hilfe!

Ich habe genau das identische Problem. Identischer Tausch vom ETF bzw. von 3 ETFs, der vorher gezeigte ist einer davon.
Bekomme auch den NullPointer, konnte aber durch Löschen der Ein/Auslieferung der Ursprungszustand wieder herstellen (so hoffe ich, bis jetzt klappt es noch alles).
Wenn noch Daten benötigt werden bitte melden.

Portfolio Performance
Version: 0.48.1 (Sep. 2020)
Platform: win32, x86_64
Java: 11.0.4+11-LTS, Azul Systems, Inc.

Ich habe das Beispiel mal im Debugger angeschaut und die Einlieferung wird angelegt, allerdings ohne Datum. Deswegen kommt dann die NullPointerException, wenn nach Datum gefiltert wird. Wenn die Buchung manuell angelegt wird, sollte es klappen, nehme ich an.

Die Buchungen werden im UI seltsam angezeigt, können trotzdem gelöscht werden. Einfach die entsprechenden Zeilen über das Kontextmenü löschen:

Um den Importer zu korrigieren, wäre es gut, ein anonymisiertes Beispiel zu bekommen.

1 Like

Hallo, danke fürs überprüfen. Ich lade mal 2 pdfs hoch, ich hoffe, dass geht so mit dem „Überkleben“…

Bsp entfernt…Auf Anfrage schicke ich es gerne nochmal

Hallo @Carsten_Schulz,

vielen Dank für die Beispiele. Ich würde sie hier wieder löschen, weil unter den „Aufklebern“ noch der Text steht und ausgelesen werden kann.

Viele Grüße in den Norden. :wink:
Sven

1 Like

Eine Korrektur ist für die nächste Version eingestellt als Pull Request:

1 Like

Die Änderungen ist jetzt mit Version 0.49.0 veröffentlicht. Vielen Dank @inv-trad!