Rem0o / FanControl.Releases

This is the release repository for Fan Control, a highly customizable fan controlling software for Windows.
Other
14.17k stars 443 forks source link

LibreHardwareMonitor.Hardware.Controller.AquaComputer.MPS.Update #366

Closed Mushin closed 2 years ago

Mushin commented 2 years ago

The error message "An unexpected error has occurred and has been added to the log file" pops up. Sometimes it doesn't happen for hours, and sometimes it happens every few seconds. This interferes with me using the computer, as the error message takes focus even when the program is only running in the system tray.

I've been having this issue since v90 and still have it now on v94. I've tried clean installs and updating. I've also tried hiding storage sensors. Note the application itself seems to run fine (apart from missing sensors at login) - gets temperatures and sets fan speeds.

I've also donated but this doesn't seem to have registered in the app.

Here's a log (this is repeated every few seconds):

25/10/2021 08:26:34: Unhandled exception in FanControl v1.0.0.0
25/10/2021 08:26:34: System.IO.IOException: GetFeature failed. ---> System.ComponentModel.Win32Exception: The operation completed successfully
   --- End of inner exception stack trace ---
   at HidSharp.Platform.Windows.WinHidStream.GetFeature(Byte[] buffer, Int32 offset, Int32 count)
   at LibreHardwareMonitor.Hardware.Controller.AquaComputer.MPS.Update()
   at FanControl.Domain.UpdateVisitor.VisitHardware(IHardware hardware)
   at LibreHardwareMonitor.Hardware.Computer.Traverse(IVisitor visitor)
   at FanControl.Domain.BackendProviders.LHM.LHMBackendProvider.Update()
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at FanControl.Domain.ComputerAccessLayer.Update()
   at FanControl.Domain.ApplicationClock.DoActions()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
25/10/2021 08:26:34: System.ComponentModel.Win32Exception (0x80004005): The operation completed successfully
Rem0o commented 2 years ago

Seems like there is an issue with the Aquacomputer update cycle. Any conflicting software, Aquasuite?

Mushin commented 2 years ago

Thanks. Yes I'm using Aquasuite (I need it to initiate a shutdown based on low coolant flow rate).

Is there a way I can use Aquasuite and FanControl?

Rem0o commented 2 years ago

Start by confirming if the error only occurs when both run. If so, then a next feature I'm working on will help you out. Basically enabling/disabling part of the sensor detection, so you'll be able to deactivate Aquacomputer stuff in FanControl.

Mushin commented 2 years ago

OK - I killed aquasuite.exe (and/or the associated service), then restarted FanControl - and still get the error.

I also have HWInfo64 running and monitoring the Aquacomputer sensor, so I killed HWInfo64 - but still get the error.

Also tried removing the HWInfo plugin from FanControl. This didn't make any difference.

Mushin commented 2 years ago

Just to reply to your edit - being able to control fan speeds with the coolant temp from Aquacomputer is the whole reason I'm using FanControl - So I need to keep that functionality.

Rem0o commented 2 years ago

Well, the code which is responsible for getting the AQC values is straightforward: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/blob/master/LibreHardwareMonitorLib/Hardware/Controller/AquaComputer/MPS.cs

It fails at the first GetFeature in the update() method. Since I don't have such devices, can't really test it for you.

Mushin commented 2 years ago

Okay - since this isn't actually affecting the functionality of the app (rather just interfering with my general use of the PC), please could you add the option to suppress the error messages?

Rem0o commented 2 years ago

Will add the possibility to control which sensor is detected, ignored. Unchecking Aquasuite will do the trick.

Rem0o commented 2 years ago

image

Coming soon.

Mushin commented 2 years ago

Thanks - would this change still allow me to access the sensor via the HWInfo plugin?

Rem0o commented 2 years ago

Of course.

Rem0o commented 2 years ago

See https://github.com/Rem0o/FanControl.Releases/releases/tag/V96