FanControl.Releases icon indicating copy to clipboard operation
FanControl.Releases copied to clipboard

All versions subsequent to 2.28 are incompatible with AMD driver 24.5.1.

Open tianzhongergou opened this issue 3 months ago • 6 comments

The Event Viewer error is as follows EventData

Application: FanControl.exe CoreCLR Version: 8.0.2025.41914 .NET Version: 8.0.20 Description: The process was terminated due to an unhandled exception. Exception Info: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Stack: at ADLXWrapper.Bindings.ADLXPINVOKE.ADLXExt_GetCurrentMetrics1StructFromTracking(System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, ADLXWrapper.GPUMetricsStruct1 ByRef) at ADLXWrapper.Bindings.ADLXPINVOKE.ADLXExt_GetCurrentMetrics1StructFromTracking(System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, System.Runtime.InteropServices.HandleRef, ADLXWrapper.GPUMetricsStruct1 ByRef) at ADLXWrapper.Bindings.ADLXExt.GetCurrentMetrics1StructFromTracking(ADLXWrapper.Bindings.IADLXPerformanceMonitoringServices, ADLXWrapper.Bindings.IADLXGPU, ADLXWrapper.GPUMetricsStruct1 ByRef) at ADLXWrapper.PerformanceMonitor.GetGPUMetricsStruct1FromTracking(ADLXWrapper.GPU) at FanControl.Domain.BackendProviders.ADLX.GPUMetrics1Provider.UpdateMetrics() at FanControl.Domain.BackendProviders.ADLX.GPUMetrics1Provider..ctor(ADLXWrapper.PerformanceMonitor, ADLXWrapper.GPU, Boolean) at FanControl.Domain.BackendProviders.ADLX.ADLXWrapperBackendProvider.CreateGPUMetricsProvider(System.ValueTuple2<ADLXWrapper.GPU,Int32>) at System.Linq.Enumerable+SelectArrayIterator2[[System.ValueTuple2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Fill(System.ReadOnlySpan1<System.ValueTuple2<System.__Canon,Int32>>, System.Span1<System.__Canon>, System.Func2<System.ValueTuple2<System.__Canon,Int32>,System.__Canon>) at System.Linq.Enumerable+SelectArrayIterator2[[System.ValueTuple2[[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Int32, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ToArray() at FanControl.Domain.BackendProviders.ADLX.ADLXWrapperBackendProvider.Open() at FanControl.Domain.ComputerAccessLayer.Initialize() at FanControl.Bootstrap+<Startup>d__16.MoveNext() at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[FanControl.Bootstrap+<Startup>d__16, FanControl, Version=229.0.0.0, Culture=neutral, PublicKeyToken=null]](<Startup>d__16 ByRef) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[FanControl.Bootstrap+<Startup>d__16, FanControl, Version=229.0.0.0, Culture=neutral, PublicKeyToken=null]](<Startup>d__16 ByRef) at FanControl.Bootstrap.Startup(System.Windows.StartupEventArgs) at FanControl.App+<OnStartup>d__3.MoveNext() at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[FanControl.App+<OnStartup>d__3, FanControl, Version=229.0.0.0, Culture=neutral, PublicKeyToken=null]](<OnStartup>d__3 ByRef) at System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start[[FanControl.App+<OnStartup>d__3, FanControl, Version=229.0.0.0, Culture=neutral, PublicKeyToken=null]](<OnStartup>d__3 ByRef) at FanControl.App.OnStartup(System.Windows.StartupEventArgs) at System.Windows.Application.<.ctor>b__1_0(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) at System.Windows.Application.RunDispatcher(System.Object) at System.Windows.Application.RunInternal(System.Windows.Window) at FanControl.App.Main()

tianzhongergou avatar Oct 10 '25 19:10 tianzhongergou

Any reason to not be on the latest version? Both driver and FanControl wise.

Rem0o avatar Oct 11 '25 03:10 Rem0o

+1. I'm using AMD driver 24.3.1 on Radeon VII and this still happen.

TheVietboi avatar Nov 14 '25 12:11 TheVietboi

I can't support old bugged drivers + the current new one.

Rem0o avatar Nov 14 '25 14:11 Rem0o

some gpus architecture stopped getting new feature update at 24.3.1. Updates after it are security update only.

Any reason to not be on the latest version? Both driver and FanControl wise.

TheVietboi avatar Nov 15 '25 20:11 TheVietboi

The main gpu i use doesn't necessarily need fancontrol since it can be tuned in Adrenaline, but the 2nd gpu that i'm using altogether is an Nvidia one that doesn't have a fan curve. On newer fancontrol version I've tried changing the graphical settings for the Fancontrol app to the secondary Nvidia gpu, but it still crash as it attempt to check value on my main AMD gpu.

TheVietboi avatar Nov 15 '25 20:11 TheVietboi

@TheVietboi if you only need Nvidia, only keep the NviAPIWrapper ticked in sensor source.

Source for AMD driver interface btw is here: https://github.com/Rem0o/ADLXWrapper/

Rem0o avatar Nov 16 '25 17:11 Rem0o