Return/volatility chart says ‘at least one data point must be provided’ followed by a long code

Here’s the code that’s shown:

at least one data point must be provided

java.lang.UnsupportedOperationException: at least one data point must be provided
	at name.abuchen.portfolio.math.NPVFunction.<init>(NPVFunction.java:22)
	at name.abuchen.portfolio.math.IRR.calculate(IRR.java:37)
	at name.abuchen.portfolio.snapshot.ClientIRRYield.create(ClientIRRYield.java:35)
	at name.abuchen.portfolio.snapshot.ClientPerformanceSnapshot.calculate(ClientPerformanceSnapshot.java:346)
	at name.abuchen.portfolio.snapshot.ClientPerformanceSnapshot.<init>(ClientPerformanceSnapshot.java:191)
	at name.abuchen.portfolio.snapshot.PerformanceIndex.getClientPerformanceSnapshot(PerformanceIndex.java:258)
	at name.abuchen.portfolio.snapshot.PerformanceIndex.getPerformanceIRR(PerformanceIndex.java:265)
	at name.abuchen.portfolio.ui.views.ReturnsVolatilityChartView.lambda$6(ReturnsVolatilityChartView.java:287)
	at java.base/java.lang.Iterable.forEach(Unknown Source)
	at name.abuchen.portfolio.ui.views.ReturnsVolatilityChartView.setChartSeries(ReturnsVolatilityChartView.java:279)
	at name.abuchen.portfolio.ui.views.ReturnsVolatilityChartView.createBody(ReturnsVolatilityChartView.java:216)
	at name.abuchen.portfolio.ui.views.ReturnsVolatilityChartView.createBody(ReturnsVolatilityChartView.java:1)
	at name.abuchen.portfolio.ui.editor.AbstractFinanceView.createViewControl(AbstractFinanceView.java:162)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.createView(PortfolioPart.java:574)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:530)
	at name.abuchen.portfolio.ui.editor.PortfolioPart.activateView(PortfolioPart.java:518)
	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:419)
	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:4243)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1063)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4060)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3632)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:168)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	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:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

Here’s what it looks like:

I have exactly the same issue

Thanks for the bug report. I fixed it. I will publish an update soonish.

Background: data series that have no valuation and no transactions in the given interval now result in errors.

Fixed with Version 0.60.2