Memory leak when file is open
Posted: Thu Jan 13, 2022 2:47 pm
Hello,
When using a fresh install of UCCNC (version 1.2113) on a fresh install of Windows 10 or 11, opening any nc file causes the memory to continually grow until the computer runs out of memory and the program crashes. The memory only starts to continually grow once a file is open. Closing the file stops the memory from growing. If no file is open, the memory does not continually grow. The amount the memory grows per second appears related to the size of the file (the larger the file, the more the memory increased per second). It looks like the GPU memory also continually increases due to this. Once the system page file has been completely filled up, the program crashes.
I am using the default install of UCCNC version 1.2113 wit the default profile and no custom settings or anything. I just installed UCCNC, and then opened the program and loaded an nc file.
I've pasted the system information and crash from Event Viewer below. Looking at the crash stack, it looks like maybe a gpu memory buffer is not being freed correctly.
Processor Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz 2.10 GHz
Installed RAM 16.0 GB (15.8 GB usable)
System type 64-bit operating system, x64-based processor
Pen and touch No pen or touch input is available for this display
Edition Windows 10 Pro
Version 21H2
Installed on 1/13/2022
OS build 19044.1288
Experience Windows Feature Experience Pack 120.2212.3920.0
Faulting application name: UCCNC.exe, version: 1.0.0.0, time stamp: 0x5e3845b5
Faulting module name: ig9icd64.dll, version: 30.0.100.9805, time stamp: 0x60fb047f
Exception code: 0xc0000005
Fault offset: 0x000000000061de7a
Faulting process id: 0xff4
Faulting application start time: 0x01d80888e44a4166
Faulting application path: C:\UCCNC\UCCNC.exe
Faulting module path: C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_12fec3c3a42eeec0\ig9icd64.dll
Report Id: 80179c29-6b1f-4650-9a69-239193af5230
Faulting package full name:
Faulting package-relative application ID:
Application: UCCNC.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at OpenTK.Graphics.OpenGL.GL.BufferData[[OpenTK.Vector3, OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4]](OpenTK.Graphics.OpenGL.BufferTarget, IntPtr, OpenTK.Vector3[], OpenTK.Graphics.OpenGL.BufferUsageHint)
at UCCNC.Makedrawing.changeverticescolor(Int32, Int32)
at UCCNC.Form1.screenrecolorcycle_real()
at UCCNC.Form1.GLtimer_Tick(System.Object, System.EventArgs)
at System.Windows.Forms.Timer.OnTick(System.EventArgs)
at System.Windows.Forms.Timer+TimerNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
at UCCNC.Program.Main(System.String[])
When using a fresh install of UCCNC (version 1.2113) on a fresh install of Windows 10 or 11, opening any nc file causes the memory to continually grow until the computer runs out of memory and the program crashes. The memory only starts to continually grow once a file is open. Closing the file stops the memory from growing. If no file is open, the memory does not continually grow. The amount the memory grows per second appears related to the size of the file (the larger the file, the more the memory increased per second). It looks like the GPU memory also continually increases due to this. Once the system page file has been completely filled up, the program crashes.
I am using the default install of UCCNC version 1.2113 wit the default profile and no custom settings or anything. I just installed UCCNC, and then opened the program and loaded an nc file.
I've pasted the system information and crash from Event Viewer below. Looking at the crash stack, it looks like maybe a gpu memory buffer is not being freed correctly.
Processor Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz 2.10 GHz
Installed RAM 16.0 GB (15.8 GB usable)
System type 64-bit operating system, x64-based processor
Pen and touch No pen or touch input is available for this display
Edition Windows 10 Pro
Version 21H2
Installed on 1/13/2022
OS build 19044.1288
Experience Windows Feature Experience Pack 120.2212.3920.0
Faulting application name: UCCNC.exe, version: 1.0.0.0, time stamp: 0x5e3845b5
Faulting module name: ig9icd64.dll, version: 30.0.100.9805, time stamp: 0x60fb047f
Exception code: 0xc0000005
Fault offset: 0x000000000061de7a
Faulting process id: 0xff4
Faulting application start time: 0x01d80888e44a4166
Faulting application path: C:\UCCNC\UCCNC.exe
Faulting module path: C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_12fec3c3a42eeec0\ig9icd64.dll
Report Id: 80179c29-6b1f-4650-9a69-239193af5230
Faulting package full name:
Faulting package-relative application ID:
Application: UCCNC.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at OpenTK.Graphics.OpenGL.GL.BufferData[[OpenTK.Vector3, OpenTK, Version=1.1.0.0, Culture=neutral, PublicKeyToken=bad199fe84eb3df4]](OpenTK.Graphics.OpenGL.BufferTarget, IntPtr, OpenTK.Vector3[], OpenTK.Graphics.OpenGL.BufferUsageHint)
at UCCNC.Makedrawing.changeverticescolor(Int32, Int32)
at UCCNC.Form1.screenrecolorcycle_real()
at UCCNC.Form1.GLtimer_Tick(System.Object, System.EventArgs)
at System.Windows.Forms.Timer.OnTick(System.EventArgs)
at System.Windows.Forms.Timer+TimerNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
at UCCNC.Program.Main(System.String[])