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

245 -> 246 upgrade removed samsung nvme temperature sensors.

Open goathens opened this issue 1 month ago • 33 comments

If you are experiencing a crash NA

Describe the bug

  • My "Samsung ssd 970 evo plus 2tb" detected 3 temperature sensors in v245 (net4.8) and older.
  • Updating this morning to v246 and the nvme sensors are gone.
  • I have a samsung 840 evo sata ssd as well, but those temperature sensors are still available.
  • Reverting back to 245 fixed the issue.

Relevant hardware specs and setup

  • nvme: samsung 970 evo pro 2tb
  • motherboard: gigabyte B550 aorus elite

log snippet

11/11/2025 09:12:41: Sensor validation failed: The following sensors are missing:
/nvme/1/temperature/7
11/11/2025 09:12:41: Startup - System.Exception: Sensor validation failed: The following sensors are missing:
/nvme/1/temperature/7
11/11/2025 09:12:42: Unhandled exception (TaskScheduler.UnobservedTaskException) : System.AggregateException: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. ---> System.InvalidOperationException: DialogHost is already open.
   at MaterialDesignThemes.Wpf.DialogHost.<ShowInternal>d__36.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MaterialDesignThemes.Wpf.DialogHost.<Show>d__30.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.DialogService.<>c__DisplayClass15_0.<<ShowDialogInternal>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.ApplicationContext.<InvokeAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.DialogService.<ShowDialogInternal>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at FanControl.Domain.DialogService.LogDialogException(Type type, Exception exception)
   at FanControl.Domain.DialogService.<ShowDialogInternal>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Bootstrap.<ShowError>d__22.MoveNext()
   --- End of inner exception stack trace ---
---> (Inner Exception #0) System.InvalidOperationException: DialogHost is already open.
   at MaterialDesignThemes.Wpf.DialogHost.<ShowInternal>d__36.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MaterialDesignThemes.Wpf.DialogHost.<Show>d__30.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.DialogService.<>c__DisplayClass15_0.<<ShowDialogInternal>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.ApplicationContext.<InvokeAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.DialogService.<ShowDialogInternal>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at FanControl.Domain.DialogService.LogDialogException(Type type, Exception exception)
   at FanControl.Domain.DialogService.<ShowDialogInternal>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Bootstrap.<ShowError>d__22.MoveNext()<---

11/11/2025 09:12:58: Unhandled exception (TaskScheduler.UnobservedTaskException) : System.AggregateException: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. ---> System.InvalidOperationException: DialogHost is already open.
   at MaterialDesignThemes.Wpf.DialogHost.<ShowInternal>d__36.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MaterialDesignThemes.Wpf.DialogHost.<Show>d__30.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.DialogService.<>c__DisplayClass15_0.<<ShowDialogInternal>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.ApplicationContext.<InvokeAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.DialogService.<ShowDialogInternal>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at FanControl.Domain.DialogService.LogDialogException(Type type, Exception exception)
   at FanControl.Domain.DialogService.<ShowDialogInternal>d__15.MoveNext()
   --- End of inner exception stack trace ---
---> (Inner Exception #0) System.InvalidOperationException: DialogHost is already open.
   at MaterialDesignThemes.Wpf.DialogHost.<ShowInternal>d__36.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MaterialDesignThemes.Wpf.DialogHost.<Show>d__30.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.DialogService.<>c__DisplayClass15_0.<<ShowDialogInternal>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.ApplicationContext.<InvokeAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at FanControl.Domain.DialogService.<ShowDialogInternal>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at FanControl.Domain.DialogService.LogDialogException(Type type, Exception exception)
   at FanControl.Domain.DialogService.<ShowDialogInternal>d__15.MoveNext()<---

goathens avatar Nov 11 '25 14:11 goathens

Having the same issue with my Mushkin Vortex 2TB drives.

SecondBrekfast avatar Nov 11 '25 14:11 SecondBrekfast

@goathens @SecondBrekfast Could you run "ConsoleOutputTest" in latest release from here: https://github.com/Blacktempel/DiskInfoToolkit/releases

and upload the created "Log.txt" which can be found in same directory ? It should take less than a minute for the program to run through, depending on your drive configuration.

You can also check visually via "DiskInfoViewer" (same release) if your SSD is recognized properly.

Blacktempel avatar Nov 11 '25 15:11 Blacktempel

Sure @Blacktempel. The drives are detected in DiskInfoViewer. Their temperature sensors are also detected in HWiNFO which I use with RTSS for temperature monitoring.

Log.txt

SecondBrekfast avatar Nov 11 '25 15:11 SecondBrekfast

Can confirm the issue persists in V247.

SecondBrekfast avatar Nov 11 '25 16:11 SecondBrekfast

Thank you for the log. Both of your Mushkin Vortex 2 TB NVMes seem to be recognized just fine.

You could verify in latest LibreHardwareMonitor commit build that it's seen properly too: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/actions/runs/19261404618 by downloading the "LibreHardwareMonitor" Artifact and starting LibreHardwareMonitor.

I assume that will be working too as the previous test was fine, but doesn't hurt to try it too.


Did you check if the sensor can still be found in the list ? Some sensor indicies (Sensor ID / Index) have changed. Maybe that is why it's outputting that message. In that case you would just have to find it in the list and "add it back".

Blacktempel avatar Nov 11 '25 18:11 Blacktempel

@Blacktempel ah thanks for the tip to check the list of sensors. I'm able to manually add them back, silly me!

SecondBrekfast avatar Nov 11 '25 19:11 SecondBrekfast

@Blacktempel so the identifiers changed compared to the pre-storage migration? Yeah FanControl will throw out errors for sure in that case that these sensors are missing.

Rem0o avatar Nov 12 '25 14:11 Rem0o

@Rem0o Index of Sensor has changed for some. https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/blob/9463c452774341c8a3ad7ea53ad8ac22d9236df5/LibreHardwareMonitorLib/Hardware/Storage/StorageDevice.cs#L168

The identifiers like nvme should be same. https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/blob/9463c452774341c8a3ad7ea53ad8ac22d9236df5/LibreHardwareMonitorLib/Hardware/Storage/StorageGroup.cs#L72

Blacktempel avatar Nov 12 '25 16:11 Blacktempel

Hi, I had a similar problem, 2 out of 3 NVME SSD sensors didn't detect it, but they were all in the sensor list. I replaced them and it was fine.

Ellenőrizted, hogy a szenzor még mindig megtalálható-e a listában? Néhány szenzor indexe (szenzor azonosító / index) megváltozott. Talán ezért adja ki ezt az üzenetet. Ebben az esetben csak meg kell keresned a listában, és "vissza kell adnod".

atesz1991 avatar Nov 13 '25 22:11 atesz1991

Hi, Yeah I have same issue with a Crucial P5 nvme temp not being displayed, dont have the sensor in the list, there is one showing 0degrees and no name so its probably that.

wesstore avatar Nov 15 '25 13:11 wesstore

@wesstore Could you upload the log ? See: https://github.com/Rem0o/FanControl.Releases/issues/3679#issuecomment-3517390512

And did you already try that ?:

Did you check if the sensor can still be found in the list ? Some sensor indicies (Sensor ID / Index) have changed. Maybe that is why it's outputting that message. In that case you would just have to find it in the list and "add it back".

Blacktempel avatar Nov 15 '25 13:11 Blacktempel

Unfortunately your image is not visible and the log is not the one I requested.

Blacktempel avatar Nov 15 '25 14:11 Blacktempel

Log.txt

wesstore avatar Nov 15 '25 17:11 wesstore

Your Crucial CT2000P5PSSD8 seems to be recognized just fine. Temperature is also there:

[15/11/2025 17:21:34.655] [DEBUG] + Temperature = 38°C ... [15/11/2025 17:21:34.655] [DEBUG] * 02 ('Composite Temperature ') = 0x000000000137 ( 311) ... [15/11/2025 17:21:34.655] [DEBUG] * 12 ('Temperature Sensor 1 ') = 0x000000000137 ( 311) ... [15/11/2025 17:21:44.690] [DEBUG] Updated 'CT2000P5PSSD8'. Temperature is 37°C.

I can see another drive having a possible issue though. Unfortunately I don't see which model it is. Possibly some Intel NVMe. Apparently it has one partition with drive letter E:. Could you post a screenshot of that drive in CrystalDiskInfo ?

Blacktempel avatar Nov 16 '25 00:11 Blacktempel

[image: image.png] Hi,

Its not an important hard drive to me, its just used for some games as its nvme. Its really old now.

Wes

On Sun, 16 Nov 2025 at 00:39, Blacktempel @.***> wrote:

Blacktempel left a comment (Rem0o/FanControl.Releases#3679) https://github.com/Rem0o/FanControl.Releases/issues/3679#issuecomment-3537199218

Your Crucial CT2000P5PSSD8 seems to be recognized just fine. Temperature is also there:

[15/11/2025 17:21:34.655] [DEBUG] + Temperature = 38°C ... [15/11/2025 17:21:34.655] [DEBUG] * 02 ('Composite Temperature ') = 0x000000000137 ( 311) ... [15/11/2025 17:21:34.655] [DEBUG] * 12 ('Temperature Sensor 1 ') = 0x000000000137 ( 311) ... [15/11/2025 17:21:44.690] [DEBUG] Updated 'CT2000P5PSSD8'. Temperature is 37°C.

I can see another drive having a possible issue though. Unfortunately I don't see which model it is. Possibly some Intel NVMe. Apparently it has one partition with drive letter E:. Could you post a screenshot of that drive in CrystalDiskInfo ?

— Reply to this email directly, view it on GitHub https://github.com/Rem0o/FanControl.Releases/issues/3679#issuecomment-3537199218, or unsubscribe https://github.com/notifications/unsubscribe-auth/BAJIJZIVU5ZXUSFQSYSLFDD347BV3AVCNFSM6AAAAACLY7XDJKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTKMZXGE4TSMRRHA . You are receiving this because you were mentioned.Message ID: @.***>

wesstore avatar Nov 16 '25 01:11 wesstore

[image: image.png] Hi,

Its not an important hard drive to me, its just used for some games as its nvme. Its really old now.

Wes

I don't think the image upload via e-mail works properly. Would be interesting to me as it could benefit other people with same drive.

Blacktempel avatar Nov 16 '25 10:11 Blacktempel

Hi

Il upload pictures here in github sorry.

Original issue is the temp sensor for the crucial now showing here

Image

Crystal diskmark of Intel NVME

Image

Hope that helps!

wesstore avatar Nov 16 '25 11:11 wesstore

V248 updated DiskToolKit

Rem0o avatar Nov 17 '25 19:11 Rem0o

Thanks my issue resolved now too as can see the Crucial P5.

I had to download manually the new V248, as my older version also V248 wouldn't stop using .net 4. With the new one it sees .net 10 now and sees all the sensors.

Hope that info helps.

wesstore avatar Nov 17 '25 20:11 wesstore

.NET 4.8 is meant to stay legacy and stay as is. Only .NET 5+ users will see the upgrade to .NET 10.

Rem0o avatar Nov 17 '25 21:11 Rem0o

@wesstore

I managed to get the same Intel NVMe model. Unfortunately I cannot reproduce this issue. Maybe it's due to different firmware, not sure what causes this.

Maybe there will be more insight if someone else reports that issue at some time.

Image

Blacktempel avatar Nov 18 '25 11:11 Blacktempel

same here lost nvme sensors since 246, don't have them back in 250. It's pretty useful if using a lot your nvme since the performance will drop massively when the overheat ... ask me how I know ..

bebelllm avatar Dec 04 '25 05:12 bebelllm

@bebelllm

And did you already try that ?:

Did you check if the sensor can still be found in the list ? Some sensor indicies (Sensor ID / Index) have changed. Maybe that is why it's outputting that message. In that case you would just have to find it in the list and "add it back".

Blacktempel avatar Dec 04 '25 07:12 Blacktempel

@bebelllm

And did you already try that ?:

Did you check if the sensor can still be found in the list ? Some sensor indicies (Sensor ID / Index) have changed. Maybe that is why it's outputting that message. In that case you would just have to find it in the list and "add it back".

Not in the list. But yeah the data still appears in other software like hwmonitor crystaldisk

bebelllm avatar Dec 04 '25 08:12 bebelllm

Are you using .NET 10 or .NET Framework 4.8 ?

Please also try starting DiskInfoViewer from latest release here: https://github.com/Blacktempel/DiskInfoToolkit/releases and see if your missing devices are recognized.

Blacktempel avatar Dec 04 '25 08:12 Blacktempel

V251 updated the Diskinfo dll

Rem0o avatar Dec 07 '25 22:12 Rem0o

V251 updated the Diskinfo dll

v251 still no nvme temperature

bebelllm avatar Dec 07 '25 23:12 bebelllm

@bebelllm

Are you using .NET 10 or .NET Framework 4.8 ?

Please also try starting DiskInfoViewer from latest release here: https://github.com/Blacktempel/DiskInfoToolkit/releases and see if your missing devices are recognized.

Please also upload a log file from ConsoleOutputTest in same release.

Blacktempel avatar Dec 08 '25 08:12 Blacktempel

There is something on my computer, i don't know why all theses software take foreever to launch, so this might be a problem with a delay. hwmonitor takes forever, cpu-z, diskinfotoolkit I don't know why.. And don't want to reinstall everything... Log.txt

bebelllm avatar Dec 08 '25 14:12 bebelllm

[08/12/2025 15:40:21.311] [TRACE] PhysicalPath = '\\?\scsi#disk&ven_nvme&prod_ct1000t500ssd8#5&1f68a021&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}'.
[08/12/2025 15:41:17.511] [TRACE] Storage IsValid = True

[08/12/2025 15:41:17.512] [TRACE] PhysicalPath = '\\?\scsi#disk&ven_nvme&prod_ct4000t500ssd3#5&1e72f977&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}'.
[08/12/2025 15:42:17.137] [TRACE] Storage IsValid = True

It does seem to need around one full minute to get through to your NVMes, per drive. Unfortunately your SSD is not any better:

[08/12/2025 15:42:17.138] [TRACE] PhysicalPath = '\\?\scsi#disk&ven_samsung&prod_ssd_860_evo_1tb#7&16843f94&0&020000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}'.
[08/12/2025 15:43:20.160] [TRACE] AddDisk - with COMMAND_TYPE = 'CMD_TYPE_PHYSICAL_DRIVE'.

There is something on my computer, i don't know why all theses software take foreever to launch, so this might be a problem with a delay. hwmonitor takes forever, cpu-z, diskinfotoolkit I don't know why.. And don't want to reinstall everything... Log.txt

It seems so. You can try setting everything up "from scratch", maybe that will help. Could be a faulty driver. If it doesn't help, it could be failing hardware.

We could try to narrow down where it spends the time, but I believe we will see that it is in DeviceIoControl which is at this point handled by a storage driver.

Blacktempel avatar Dec 08 '25 19:12 Blacktempel