I'm using Kinovea to track particles of rock being ejected from a mining blast. However, if I add tracking to the perspective grid I am using for calibration, after the grid has been moved any additional tracking I try to complete causes the app to hard crash without an error message.
Repro:
1. Add a perspective grid and track it as the camera repositions.
2. Finish the perspective grid tracking once the camera has settled.
3. Being tracking other items in the video
4. Once enough time has elapses that the perspective grid tracking has finished, attempting to track anything else causes hard crash - no error message is shown.
This issue persists even after closing and reopening the application. Has anyone else experienced this, or is this a known issue with a work around?
**EDIT**
It has now given an error before crashing:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Kinovea.ScreenManager.FilteredTrajectory.Initialize(List`1 samples, CalibrationHelper calibrationHelper)
at Kinovea.ScreenManager.DrawingTrack.UpdateKinematics()
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
at Kinovea.ScreenManager.Metadata.UpdateTrajectoriesKinematics()
at System.EventHandler.Invoke(Object sender, EventArgs e)
at Kinovea.ScreenManager.CalibrationHelper.AfterCalibrationChanged()
at Kinovea.ScreenManager.CalibrationHelper.CalibrationByPlane_Update(Guid id, QuadrilateralF quadImage)
at Kinovea.ScreenManager.DrawingPlane.SetTrackablePointValue(String name, PointF value, Int64 trackingTimestamps)
at Kinovea.ScreenManager.DrawingTracker.ObjectTrackingStep(DrawingTrack track, TimedPoint tp)
at Kinovea.ScreenManager.TrackabilityManager.AfterTrackTrackingStep(DrawingTrack track, TimedPoint tp)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
at Kinovea.ScreenManager.Metadata.PerformTracking(VideoFrame videoframe)
at Kinovea.ScreenManager.PlayerScreenUserInterface.ComputeOrStopTracking(Boolean contiguous)
at Kinovea.ScreenManager.PlayerScreenUserInterface.ShowNextFrame(Int64 _iSeekTarget, Boolean _bAllowUIUpdate)
at Kinovea.ScreenManager.PlayerScreenUserInterface.buttonGotoNext_Click(Object sender, EventArgs e)
at Kinovea.ScreenManager.PlayerScreenUserInterface.ExecuteScreenCommand(Int32 cmd)
at Kinovea.Services.KinoveaControl.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Kinovea.ScreenManager.FilteredTrajectory.Initialize(List`1 samples, CalibrationHelper calibrationHelper)
at Kinovea.ScreenManager.DrawingTrack.UpdateKinematics()
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
at Kinovea.ScreenManager.Metadata.UpdateTrajectoriesKinematics()
at System.EventHandler.Invoke(Object sender, EventArgs e)
at Kinovea.ScreenManager.CalibrationHelper.AfterCalibrationChanged()
at Kinovea.ScreenManager.CalibrationHelper.CalibrationByPlane_Update(Guid id, QuadrilateralF quadImage)
at Kinovea.ScreenManager.DrawingPlane.SetTrackablePointValue(String name, PointF value, Int64 trackingTimestamps)
at Kinovea.ScreenManager.DrawingTracker.ObjectTrackingStep(DrawingTrack track, TimedPoint tp)
at Kinovea.ScreenManager.TrackabilityManager.AfterTrackTrackingStep(DrawingTrack track, TimedPoint tp)
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)
---> (Inner Exception #0) System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Kinovea.ScreenManager.FilteredTrajectory.Initialize(List`1 samples, CalibrationHelper calibrationHelper)
at Kinovea.ScreenManager.DrawingTrack.UpdateKinematics()
at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)<---
<---
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9324.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
Kinovea
Assembly Version: 2025.2.0.0
Win32 Version: 2025.2.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.exe
----------------------------------------
CrowdStrike.Sensor.ScriptControl
Assembly Version: 7.38.21003.0
Win32 Version: 7.38.21003.0
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/CrowdStrike.Sensor.ScriptControl/7.38.21003.0__02b60967b1f68187/CrowdStrike.Sensor.ScriptControl.dll
----------------------------------------
Kinovea.Services
Assembly Version: 1.0.1.25614
Win32 Version: 1.0.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Services.DLL
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9324.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9332.0 built by: NET481REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
log4net
Assembly Version: 2.0.14.0
Win32 Version: 2.0.14.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/log4net.DLL
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9334.0 built by: NET481REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
Kinovea.Video.Bitmap
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Video.Bitmap.DLL
----------------------------------------
Kinovea.Video
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Video.DLL
----------------------------------------
Kinovea.Video.FFMpeg
Assembly Version: 1.0.1.25622
Win32 Version:
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Video.FFMpeg.DLL
----------------------------------------
Kinovea.Video.GIF
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Video.GIF.DLL
----------------------------------------
Kinovea.Video.SVG
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Video.SVG.DLL
----------------------------------------
Kinovea.Video.Synthetic
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Video.Synthetic.DLL
----------------------------------------
Kinovea.ScreenManager
Assembly Version: 1.0.1.0
Win32 Version: 1.0.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.ScreenManager.DLL
----------------------------------------
Kinovea.Camera.DirectShow
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Camera.DirectShow.DLL
----------------------------------------
Kinovea.Camera
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Camera.DLL
----------------------------------------
Kinovea.Camera.HTTP
Assembly Version: 1.0.9576.25617
Win32 Version: 1.0.9576.25617
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Camera.HTTP.DLL
----------------------------------------
Kinovea.Camera.FrameGenerator
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Camera.FrameGenerator.DLL
----------------------------------------
Kinovea.FileBrowser
Assembly Version: 1.0.1.25629
Win32 Version: 1.0.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.FileBrowser.DLL
----------------------------------------
Kinovea.Updater
Assembly Version: 1.0.1.25617
Win32 Version: 1.0.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Updater.DLL
----------------------------------------
ExpTreeLib
Assembly Version: 2.11.9384.4409
Win32 Version: 2.11.9384.4409
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/ExpTreeLib.DLL
----------------------------------------
ObjectListView
Assembly Version: 2.9.1.1072
Win32 Version: 2.9.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/ObjectListView.DLL
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 14.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
OpenCvSharp
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/OpenCvSharp.DLL
----------------------------------------
NAudio.WinMM
Assembly Version: 2.2.1.0
Win32 Version: 2.2.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/NAudio.WinMM.DLL
----------------------------------------
netstandard
Assembly Version: 2.0.0.0
Win32 Version: 4.8.9032.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_2.0.0.0__cc7b13ffcd2ddd51/netstandard.dll
----------------------------------------
Kinovea.Pipeline
Assembly Version: 1.0.1.0
Win32 Version: 1.0.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/Kinovea.Pipeline.DLL
----------------------------------------
System.Web
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9316.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
MathNet.Numerics
Assembly Version: 5.0.0.0
Win32 Version: 5.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/MathNet.Numerics.DLL
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
NAudio.Core
Assembly Version: 2.2.1.0
Win32 Version: 2.2.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/NAudio.Core.DLL
----------------------------------------
OpenCvSharp.Extensions
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Kinovea/OpenCvSharp.Extensions.DLL
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
The crash is logged in the Window Event Viewer as the below:
Faulting application name: Kinovea.exe, version: 2025.2.0.0, time stamp: 0x69bea7bf
Faulting module name: ntdll.dll, version: 10.0.26100.8521, time stamp: 0xccc028d4
Exception code: 0xc0000374
Fault offset: 0x0000000000112265
Faulting process id: 0x1158
Faulting application start time: 0x1DD0A9A37E429FE
Faulting application path: C:\Program Files (x86)\Kinovea\Kinovea.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: e035571b-f27e-46af-a383-eef1aab1f545
Faulting package full name:
Faulting package-relative application ID:
From the log file:
18561 - ERROR - [Main] - PlayerScreenUserInterface - Error while painting image.
75403 - ERROR - [PreBuffering] - VideoReaderFFMpeg - Frame not read in the middle of the working zone. Reached timestamp:[-1], in [0 --> 3504529].
75410 - ERROR - [Main] - PlayerScreenUserInterface - Painting screen - no image to display.
105262 - ERROR - [PreBuffering] - VideoReaderFFMpeg - Frame not read in the middle of the working zone. Reached timestamp:[-1], in [0 --> 3504529].
105269 - ERROR - [Main] - PlayerScreenUserInterface - Painting screen - no image to display.
106695 - ERROR - [PreBuffering] - VideoReaderFFMpeg - Frame not read in the middle of the working zone. Reached timestamp:[-1], in [0 --> 3504529].
106702 - ERROR - [Main] - PlayerScreenUserInterface - Painting screen - no image to display.
816183 - WARN - [Main] - DrawingTracker - Moving tracked object by hand.
816184 - WARN - [Main] - DrawingTracker - Moving tracked object by hand.
1393640 - ERROR - [Main] - PlayerScreenUserInterface - Error while painting image.
