so i think i may have found the issue. After replacing parts nothing seemed to resolve the issue so i wiped my ssd and hard drive and reinstalled everything. It has crashed to black screen once but in the application logs i received 2 errors regarding corsair/icue.
Faulting application name: Corsair.Service.exe, version: 3.7.0.22, time stamp: 0x5b86786d
Faulting module name: cpuidsdk.dll, version: 1.2.0.7, time stamp: 0x5b327b54
Exception code: 0xc0000005
Fault offset: 0x000573b0
Faulting process id: 0xdb8
Faulting application start time: 0x01d458c451385dfe
Faulting application path: C:\Program Files (x86)\Corsair\CORSAIR iCUE Software\Corsair.Service.exe
Faulting module path: C:\Program Files (x86)\Corsair\CORSAIR iCUE Software\cpuidsdk.dll
Report Id: b33c5b13-4d9a-4f1c-bb38-bd5924a6e63b
Faulting package full name:
Faulting package-relative application ID:
Application: Corsair.Service.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at CpuIdWrapper.Windows8.CpuIdSdkWindows8.RefreshInformation()
at CorsairLink4.Module.CpuIdDevice.CpuIdComponent.VisitSystemInfo(CorsairLink4.Common.Shared.Communication.ISensorVisitor)
at CorsairLink4.Module.CpuIdDevice.CpuIdComponent+<InternalAccept>d__0.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[CorsairLink4.Module.CpuIdDevice.CpuIdComponent+<InternalAccept>d__0, Corsair.Module.CpuIdDevice, Version=3.7.0.22, Culture=neutral, PublicKeyToken=null]](<InternalAccept>d__0 ByRef)
at CorsairLink4.Module.CpuIdDevice.CpuIdComponent.InternalAccept(CorsairLink4.Common.Shared.Communication.ISensorVisitor)
at CorsairLink4.Module.Common.BaseComponent+<Accept>d__0.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[CorsairLink4.Module.Common.BaseComponent+<Accept>d__0, Corsair.Module.Common, Version=3.7.0.22, Culture=neutral, PublicKeyToken=null]](<Accept>d__0 ByRef)
at CorsairLink4.Module.Common.BaseComponent.Accept(CorsairLink4.Common.Shared.Communication.ISensorVisitor)
at CorsairLink4.Service.Common.Core.DevicesMonitor+<>c__DisplayClass55.<AcceptDeviceComponent>b__53()
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.TaskScheduler.TryExecuteTask(System.Threading.Tasks.Task)
at System.Threading.Tasks.Schedulers.QueuedTaskScheduler.ProcessPrioritizedAndBatchedTasks()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()