245 -> 246 upgrade removed samsung nvme temperature sensors.
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()<---
Having the same issue with my Mushkin Vortex 2TB drives.
@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.
Sure @Blacktempel. The drives are detected in DiskInfoViewer. Their temperature sensors are also detected in HWiNFO which I use with RTSS for temperature monitoring.
Can confirm the issue persists in V247.
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 ah thanks for the tip to check the list of sensors. I'm able to manually add them back, silly me!
@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
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
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".
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 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".
Unfortunately your image is not visible and the log is not the one I requested.
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 ?
[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: @.***>
[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.
Hi
Il upload pictures here in github sorry.
Original issue is the temp sensor for the crucial now showing here
Crystal diskmark of Intel NVME
Hope that helps!
V248 updated DiskToolKit
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.
.NET 4.8 is meant to stay legacy and stay as is. Only .NET 5+ users will see the upgrade to .NET 10.
@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.
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
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".
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
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.
V251 updated the Diskinfo dll
V251 updated the Diskinfo dll
v251 still no nvme temperature
@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.
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
[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.