Server Management - Remote Server Management
cancel
Showing results for 
Search instead for 
Did you mean: 

iLO bug: Integrated Remote Console leaks registry handles [via hp.ilo2.virtdevs.DirectIO.devtype]

GreenReaper
Occasional Contributor

iLO bug: Integrated Remote Console leaks registry handles [via hp.ilo2.virtdevs.DirectIO.devtype]

I'm managing a ProLiant DL380e Gen8 with iLO 4 version 2.55 on Windows 10 x64 with 32-bit Java 8 Update 162.

The Integrated Remote Console (launched via Web Start) shows a constant increase in Handles in Task Manager's Details page., leading to system performance degredation over time. (Display of Handles needs to be enabled in Task Manager by right-clicking the table header and choosing "Select columns".)

Examining the program with Process Explorer, and IRC appears to be using a function in the extension DLL cpqma-[xxxxxxx].dll (x = random alphanumeric characters), DLL to retrieve the Count from:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Disk\Enum

and then checking the values to see whether the resulting value contains "USBSTOR" (indicating USB storage).

This happens within a call to the method hp.ilo2.virtdevs.DirectIO.devtype(x, x, x).

Unfortunately, once it has read the values from the key from using RegOpenKeyEx and RegQueryValueEx, it doesn't release the key with RegCloseKey. Thus a registry handle is leaked on each call. This should be simple enough to fix - just call RegCloseKey on the handle at the end of the method, if it is successfully opened.

[It is unclear why this operation is bering performed several times a second - this soaks up CPU, and could be more efficient if a trigger on drive insertion/removal was used.]