Jump to content
Corsair Community

Corsair Link 4 Service - Possible Handels leak


Recommended Posts

Good day,


Hope this is the correct area to post this. I have experienced a possible handles leak with the corsair link service and thought it might be something to know about. (Not 100% sure if this is a leak but is willing to assist where possible to determine.)


So just a bit more info:

1. The system is about a week old with a clean install of windows.

2. Corsair product that is listed by software - (Have a Corsair H150i Pro RGB | Corsair Vengeance RGB 16GB (2 x 8GB) 3600MHz DDR4 'CMR16GX4M2C3600C18W'

3. As soon as I stop the service or close the application All Handels are closed.

4. I did not have any issues regarding the leak but think it might become a problem in the long run seeing that I rarely switch of my compute.

5. Please see attached Image for OS Build, Screen grab of task manager and Version of Corsair link running.

6 . As seen in image the system was only been running for 1h 4min.


If there is any questions, info or test I need to run please let me know.

I am willing to help any way posible.


Thank you




Link to comment
Share on other sites

  • 2 weeks later...

I'm running and experiencing handle leaks as well (handle count gets into the millions if I forget to restart the process for a few days). I slightly regret restarting the process before doing this deep dive, but what can you do...


The rest of this post is probably going to sound like gibberish to the regular users who are experiencing this, but maybe there's something in here that can help the developers figure out what's going on.


Doing a quick jaunt using Process Explorer, it appears that the majority of handles are token-type handles named "NT AUTHORITY\SYSTEM:3e7".


Watching the process through WinDbg and sampling handles, I see a bunch of this:


0x00007ffb6be32244: ntdll!NtOpenProcessToken+0x0000000000000014

0x000000006afa5051: wow64!whNtOpenProcessToken+0x0000000000000031

0x000000006afa63a3: wow64!Wow64SystemServiceEx+0x0000000000000153

0x000000006b061923: wow64cpu!ServiceNoTurbo+0x000000000000000b

0x000000006afbabe4: wow64!RunCpuSimulation+0x000000000000edb4

0x000000006afabd20: wow64!Wow64LdrpInitialize+0x0000000000000120

0x00007ffb6be09334: ntdll!_LdrpInitialize+0x00000000000000f4

0x00007ffb6be0922b: ntdll!LdrpInitialize+0x000000000000003b

0x00007ffb6be091de: ntdll!LdrInitializeThunk+0x000000000000000e

0x000000007709f97c: ntdll_77030000!NtOpenProcessToken+0x000000000000000c

0x00000000749278f4: KERNELBASE!OpenProcessToken+0x0000000000000014

0x000000001009f837: cpuidsdk!QueryInterface+0x0000000000060963


Going by a gut-feel from here on out since I don't have debug symbols, but it looks to me like nearly everything in CPUIDSDK (the managed wrapper) calls into that QueryInterface function without doing any of its own cleanup... so it seems possible that the source of these leaks might be one of the following:


1. QueryInterface just has a regular ol' run-of-the-mill handle leak (seems unlikely... I'm guessing the pointed-to function needs that token),

2. the native function, identified by the pointer that QueryInterface returns, is supposed to clean up its own garbage (but sometimes it doesn't), or

3. the managed wrapper code that currently invokes QueryInterface is supposed to invoke some cleanup function (but it doesn't)


WinDbg also reports, like, 6 or so first-chance CLR exceptions per second while it's running... not sure if that's related.


Hope this helps.


Edit: Windows 10 Pro, x64, 1709 (build 16299.192)

Edited by airbreather
Add a little bit of system specs, then tweaked "CPUIDSDK.Sdk" --> "CPUIDSK (the managed wrapper)"
Link to comment
Share on other sites


  • Create New...