Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internal Error bei Performance Wertpapiere #467

Closed
bartho1 opened this issue Mar 13, 2016 · 9 comments
Closed

Internal Error bei Performance Wertpapiere #467

bartho1 opened this issue Mar 13, 2016 · 9 comments

Comments

@bartho1
Copy link

bartho1 commented Mar 13, 2016

Hallo,

wenn ich das Feld "Berichte - Performance - Wertpapiere" anwähle für einen Zeitraum, in der alle aktuell im Depot befindlichen Wertpapiere noch nicht gekauft waren erhalte ich den Fehler "Internal Error Ursache: java.lang.NullPointerException". Scheint mit dem gewählten Zeitraum zusammenzuhängen...

@buchen
Copy link
Member

buchen commented Mar 14, 2016

Gibt es im Fehlerprotokoll dazu einen Stack Trace (die Aufrufliste im Programm)?

Wenn ich bei mir einen Zeitraum auswähle, in dem keine Wertpapiere existieren, dann bekomme ich einfach eine leere Tabelle, aber keine Fehlermeldung.

@bartho1
Copy link
Author

bartho1 commented Mar 14, 2016

Hi,

ich füge mal die Fehlerprotokolle ein. Die dort genannten Wertpapiere sind aktuell nicht mehr im Depot und die historischen Kurse über Yahoo klappen bei diesen Papieren nicht. vielleicht liegt es daran?

internal error

fehlerprotokoll

@buchen
Copy link
Member

buchen commented Mar 14, 2016

Wenn Du im Fehlerprotokoll einen Doppelklick auf "internal error" machst, dann solltest Du an den Stack Trace kommen. Einfach hier posten. Damit komme ich dem Fehler am Schnellsten auf die Spur.

@bartho1
Copy link
Author

bartho1 commented Mar 14, 2016

ok, sorry, hier bitte:

Mon Mar 14 21:15:21 CET 2016
Internal Error

java.lang.NullPointerException
    at name.abuchen.portfolio.snapshot.security.SecurityPerformanceSnapshot.extractSecurityRelatedAccountTransactions(SecurityPerformanceSnapshot.java:109)
    at name.abuchen.portfolio.snapshot.security.SecurityPerformanceSnapshot.create(SecurityPerformanceSnapshot.java:26)
    at name.abuchen.portfolio.ui.views.SecuritiesPerformanceView.reportingPeriodUpdated(SecuritiesPerformanceView.java:878)
    at name.abuchen.portfolio.ui.views.SecuritiesPerformanceView.createTopTable(SecuritiesPerformanceView.java:276)
    at name.abuchen.portfolio.ui.views.AbstractListView.createBody(AbstractListView.java:20)
    at name.abuchen.portfolio.ui.AbstractFinanceView.createViewControl(AbstractFinanceView.java:108)
    at name.abuchen.portfolio.ui.PortfolioPart.activateView(PortfolioPart.java:471)
    at name.abuchen.portfolio.ui.ClientEditorSidebar$ActivateViewAction.run(ClientEditorSidebar.java:64)
    at name.abuchen.portfolio.ui.Sidebar.select(Sidebar.java:253)
    at name.abuchen.portfolio.ui.Sidebar$Item$2.mouseDown(Sidebar.java:438)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:192)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1299)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3698)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:159)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)

@buchen
Copy link
Member

buchen commented Mar 14, 2016

Aus irgendeinem Grunde entspricht Deine Datei nicht dem was ich erwarte. Es existiert eine Buchung für ein Wertpapier, dass es aber nicht mehr in der Wertpapier-Liste obwohl es das Papier da geben müsste.

Vermutlich ist Deine Datei durch irgendeinen Bug korrumpiert worden. 😨 Die problematische Buchung ist eine Steuerrückerstattung. Kannst Du Dich in irgendeiner Form an ein Problem im Zusammenhang mit der Steuerrückerstattung erinnern?

Ich kann vermutlich einen Fix bauen der Deine Datei beim Laden korrigiert. Ich würde trotzdem gerne Deine Datei haben. Ich würde nämlich gerne verstehen wie es überhaupt dazu kam. Wenn es also möglich ist, dann schick mir die doch an portfolio.performance.help@gmail.com. Du kannst gerne Buchungen löschen solange die Steuerrückerstattung bestehen bleibt.

@bartho1
Copy link
Author

bartho1 commented Mar 14, 2016

Oha, Du hast Recht, es gibt im Depot genau eine Steuerrückerstattung, wenn ich diese Buchung lösche, tritt der Fehler nicht mehr auf. Das Problem bei der Buchung ist wohl, dass sie keinem Wertpapier zugeordnet wurde (absichtlich, und so ein leeres Feld wird ja auch in der Auswahl angeboten). Wenn ich sie einem Papier zuordne, tritt der Fehler ebenfalls nicht auf. Da es aber eine Wertpapier-unabhängige Buchung war, würde ich dies gerne auch so eingeben. Hilft Dir das?

@buchen buchen removed the quick_win label Mar 15, 2016
@buchen
Copy link
Member

buchen commented Mar 15, 2016

Das Problem bei der Buchung ist wohl, dass sie keinem Wertpapier zugeordnet wurde

Genau das irritiert mich ja. Technisch ist in Deiner Datei der Buchung ein Wertpapier zugeordnet. Und weil ich dieses Wertpapier nicht kenne, tritt dieser "internal error" auf - wegen dieser unerwarteten Kombination von Daten.

Ich schaue mal ob ich das reproduzieren kann. Es wird aber nix vor nächster Woche werden. :-/

@bartho1
Copy link
Author

bartho1 commented Mar 15, 2016

das Phänomen lässt sich scheinbar in jeder beliebigen Depotdatei, z.B. auch im Kommer-Musterdepot nachvollziehen. Sobald man eine Steuerrückerstattung mit einem "leeren" Wertpapier erstellt und den Zeitraum der Performanceberechnung über dieses Datum legt kommt der Fehler...

@buchen
Copy link
Member

buchen commented Mar 16, 2016

Ja, das hast du Recht. Wenn ich mir den Source anschaue, dann setze ich auch das "leere" Wertpapier in die Buchung. Das fixe ich.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants