VERR_INTERNAL_ERROR_3 when loading custom device plugin
Posted: 18. Jun 2015, 10:41
Hi folks, I use a custom virtual PCI device plugin. Unfortunately, even though I've signed it with a code-signing key from GoDaddy, VirtualBox 4.3.28 refuses to load my DLL. It gives the following error..
I've had a look at the source code for VBox and unfortunately this error is returned in many different situations. To make matters worse the pdmR3LoadR3U function obliterates the original error string which makes it impossible to discover the root cause. All you get is "Unable to load R3 module", which is about as useful as a chocolate teapot.
Given that the same DLL works with older versions of VBox (prior to the hardening update) and that the DllMain is never called, I have to assume that this error is related to signature verification issues. However, every tool I've tried tells me that my DLL is signed correctly and that the certificate chain is OK.
Does anyone have any ideas?
Thanks,
Chris.
Code: Select all
00:00:03.302562 VMSetError: F:\tinderbox\win-4.3\src\VBox\VMM\VMMR3\PDMLdr.cpp(307) int __cdecl pdmR3LoadR3U(struct UVM *,const char *,const char *); rc=VERR_INTERNAL_ERROR_3
00:00:03.302569 VMSetError: Unable to load R3 module C:\VMs\custom_device.dll (custom_device): : \Device\HarddiskVolume2\VMs\custom_device.dll
00:00:03.429194 ERROR [COM]: aRC=E_FAIL (0x80004005) aIID={8ab7c520-2442-4b66-8d74-4ff1e195d2b6} aComponent={Console} aText={Unable to load R3 module C:\VMs\custom_device.dll (custom_device): : \Device\HarddiskVolume2\VMs\custom_device.dll (VERR_INTERNAL_ERROR_3)}, preserve=false
00:00:03.475155 Power up failed (vrc=VERR_INTERNAL_ERROR_3, rc=E_FAIL (0X80004005))
Given that the same DLL works with older versions of VBox (prior to the hardening update) and that the DllMain is never called, I have to assume that this error is related to signature verification issues. However, every tool I've tried tells me that my DLL is signed correctly and that the certificate chain is OK.
Does anyone have any ideas?
Thanks,
Chris.