Fehler: BuySellEntry cannot be cast to class PortfolioTransferEntry

Hallo,

erst einmal herzlichen Dank für solch ein tolles Projekt und die Betreuung und ständige Aktualisierung der Software! Ich habe erst vor ein paar Monaten meine „Investorenvergangenheit“ aufgearbeitet und 8 Jahre eingelesen (zumeist PDF-Import).

Leider hat sich jetzt ein Fehler eingeschlichen, der mir die Anzeige von Trades, Vermögensaufstellung und Berechnung nicht mehr möglich macht.

Das Fehlerprotokoll lautet:

Sun Dec 27 17:31:40 CET 2020
class name.abuchen.portfolio.model.BuySellEntry cannot be cast to class name.abuchen.portfolio.model.PortfolioTransferEntry (name.abuchen.portfolio.model.BuySellEntry and name.abuchen.portfolio.model.PortfolioTransferEntry are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @3414a8c3)

java.lang.ClassCastException: class name.abuchen.portfolio.model.BuySellEntry cannot be cast to class name.abuchen.portfolio.model.PortfolioTransferEntry (name.abuchen.portfolio.model.BuySellEntry and name.abuchen.portfolio.model.PortfolioTransferEntry are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @3414a8c3)

	at name.abuchen.portfolio.snapshot.filter.ClientSecurityFilter.convertTransfer(ClientSecurityFilter.java:177)

	at name.abuchen.portfolio.snapshot.filter.ClientSecurityFilter.addPortfolioTransaction(ClientSecurityFilter.java:94)

	at name.abuchen.portfolio.snapshot.filter.ClientSecurityFilter.addSecurity(ClientSecurityFilter.java:71)

	at name.abuchen.portfolio.snapshot.filter.ClientSecurityFilter.filter(ClientSecurityFilter.java:56)

	at name.abuchen.portfolio.snapshot.PerformanceIndex.forInvestment(PerformanceIndex.java:109)

	at name.abuchen.portfolio.snapshot.security.SecurityPerformanceRecord.calculateTTWROR(SecurityPerformanceRecord.java:495)

	at name.abuchen.portfolio.snapshot.security.SecurityPerformanceRecord.calculate(SecurityPerformanceRecord.java:463)

	at name.abuchen.portfolio.snapshot.security.SecurityPerformanceRecord$Builder.build(SecurityPerformanceRecord.java:83)

	at name.abuchen.portfolio.snapshot.security.SecurityPerformanceSnapshot.doCreateSnapshot(SecurityPerformanceSnapshot.java:99)

	at name.abuchen.portfolio.snapshot.security.SecurityPerformanceSnapshot.create(SecurityPerformanceSnapshot.java:77)

	at name.abuchen.portfolio.snapshot.ClientPerformanceSnapshot.addCapitalGains(ClientPerformanceSnapshot.java:298)

	at name.abuchen.portfolio.snapshot.ClientPerformanceSnapshot.calculate(ClientPerformanceSnapshot.java:285)

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

	at name.abuchen.portfolio.snapshot.PerformanceIndex.getClientPerformanceSnapshot(PerformanceIndex.java:245)

	at name.abuchen.portfolio.ui.views.dashboard.PerformanceCalculationWidget.lambda$0(PerformanceCalculationWidget.java:164)

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

	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)

Vielen Dank für die Bemühungen der Fehlersuche!!

Selber Fehler tritt auch bei mir auf. Da keinerlei Änderungen in den letzten Tagen von mir vorgenommen wurden und auch das Update einige Wochen her ist, vermute ich, dass es an Feiertagspausen des Jahres liegt.

Das Problem tritt in einem Bereich auf, der kürzlich verändert wurde (zur Korrektur eines Fehlers bei der Behandlung von FIFO). Es tritt aber offensichtlich nicht immer auf. Kann von euch jemand ein möglichst kompaktes Beispiel bereitstellen?

selbiges Problem tritt bei mir auch in ähnlicher Form auf …

"class name.abuchen.portfolio.model.BuySellEntry cannot be cast to class name.abuchen.portfolio.model.PortfolioTransferEntry (name.abuchen.portfolio.model.BuySellEntry and name.abuchen.portfolio.model.PortfolioTransferEntry are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @1442f788)

java.lang.ClassCastException: class name.abuchen.portfolio.model.BuySellEntry cannot be cast to class name.abuchen.portfolio.model.PortfolioTransferEntry (name.abuchen.portfolio.model.BuySellEntry and name.abuchen.portfolio.model.PortfolioTransferEntry are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @1442f788) … "

Die Anzeige von Trades, Vermögensaufstellung und Berechnung sind ebenfalls nicht mehr möglich
wäre auch sehr dankbar um Hilfe.
LG

Wie gesagt: Beispieldatei.

2 Like

@ chirlu: Ich habe leider mehrere Hundert Buchungen und tue mich schwer dies zu einem Minimalbeispiel herunterzubrechen.

–> Hängt das mit einem kürzlich stattgefundenen Update zusammen?

(bin leider kein Programmier/Informatiker und bei solch einer Problemstellung ratlos)

Jetzt habe ich diesen Fehler gelöst: Es gab einen PDF Import (onvista) mit einem Wertpapierübertrag ohne Einstandskurse! Nachdem das manuell geändert wurde funktioniert wieder alles. Vielen Dank auch chirlu für den Hinweis auf Fifo.

OK, gut, daß du es gefunden hast. Vielleicht kommen die anderen mit dem Hinweis auch weiter.

Kannst du dieses PDF hier zeigen, damit ggf. der Import korrigiert werden kann?

Hallo chirlu,

ja, ich habe das schon Andreas per Nachricht geschickt aber nochmals hier für alle anderen, damit diese auf dieses Problem bei Onvista aufmerksam gemacht werden:

Fälschlicherweise kein Einstandswert bei der Spalte Wert sondern der Einbuchungstag.
Das muss man erst einmal bemerken…

ah super danke! Ich werde das heute Abend prüfen. Bin auch bei der Onvista und hatte seiner zeit einen Übertrag.

Dazu:

Wer das Problem noch hat, sollte es ab Version 0.50.0 über die Funktion Plausibilitätsprüfung (im Menü Datei) beheben lassen können.