ms-iot/iot-adk-addonkit

Crashes in FeatureMerger (I think)

Closed this issue · 3 comments

OS Version: 10.0.17763.253
adk version: master (I've also tried copying in the certs from the v7 branch)

Like many others, I'm struggling to build a new FFU. I'm currently using my cert for both Test and Retail, so I think I've overcome that problem. It appears that FeatureMerger is crashing in the middle of processing the OEM and BSP file lists.

I see truncated output like this at the end of both log files:

[00:00:09] Extracting file: C:\systems\Miz21C\BSP\Workspace\Build\arm\pkgs\Zetec.OEM_SEC_DEVICEGUARD.OEMCOMMON.MainOS.spkg

[00:00:09] Converting Package: Zetec.OEM_SEC_DEVICEGUARD.OEMCOMMON.MainOS

[00:00:09] Signing package

[00:00:09] Signing command: C:\Program Files (x86)\Windows Kits\10\Tools\bin\i386\sign.cmd -testonly "C:\systems\Miz21C\BSP\Workspace\Build\arm\Temp{A6839990-6AE6-4297-BC19-FF024CCC3FCC}\update.cat"

[00:00:17] Extracting file: C:\systems\Miz21C\BSP\Workspace\Build\arm\pkgs\Zetec.OEM_PROV_ENROLL.OEMCOMMON.MainOS.spkg

[00:00:17] Converting Package: Zetec.OEM_PROV_ENROLL.OEMCOMMON.MainOS

[00:00:17] Signing package

[00:00:18] Signing command: C:\Program Files (x86)\Windows Kits\10\

I don't see any additional debug options for FeatureMerger and I'm not sure how to proceed from here.

Thanks!

Solution provided by our vendor that worked: Clone the v7 branch, run IoTCorePShell.cmd, run installoemcerts.

I'd tried to bring the certs to my existing Tools, but that didn't work for whatever reason.

So, the updated certs had fixed my issue with building a test FFU. However, the problems remain with a retail build.

I'm sticking with v6 and .253 build because we're not LTSC customers.

I setup my system to capture crash dumps and this is the callstack from FeatureMerger

ConvertDSMDLL.dll!wil::details::WilDynamicLoadRaiseFailFastException(struct _EXCEPTION_RECORD *,struct _CONTEXT *,unsigned long) Unknown
ConvertDSMDLL.dll!wil::details::WilRaiseFailFastException(struct _EXCEPTION_RECORD *,struct _CONTEXT *,unsigned long) Unknown
ConvertDSMDLL.dll!wil::details::WilFailFast(struct wil::FailureInfo const &) Unknown
ConvertDSMDLL.dll!wil::details::ReportFailure(void *,unsigned int,char const *,char const *,char const *,void *,enum wil::FailureType,long,wchar_t const *,enum wil::details::ReportFailureOptions) Unknown
ConvertDSMDLL.dll!wil::details::ReportFailure_Msg(void *,unsigned int,char const *,char const *,char const *,void *,enum wil::FailureType,long,char const *,char *) Unknown
ConvertDSMDLL.dll!wil::details::in1diag3::_FailFast_UnexpectedMsg(void *,unsigned int,char const *,void *,char const *,char *) Unknown
ConvertDSMDLL.dll!wil::details::in1diag3::FailFast_IfMsg(void *,unsigned int,char const *,bool,char const *,...) Unknown
ConvertDSMDLL.dll!IULogger::Log(wchar_t const * const,wchar_t const * const,char *,void (*const &)(wchar_t const * const)) Unknown

ConvertDSMDLL.dll!IULogger::LogError(wchar_t const * const,wchar_t const * const,...) Unknown
ConvertDSMDLL.dll!SignFile(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,bool) Unknown
ConvertDSMDLL.dll!ConvertDSM::UpdateCatAndSign(void) Unknown
ConvertDSMDLL.dll!ConvertDSM::AddFootersToOpenFiles(void) Unknown
ConvertDSMDLL.dll!ConvertPackage(class DeviceSideManifest const &,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,struct CONVERTDSM_PARAMETERS_INTERNAL *) Unknown
ConvertDSMDLL.dll!ConvertSPKG(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,struct CONVERTDSM_PARAMETERS_INTERNAL *) Unknown
ConvertDSMDLL.dll!ConvertSPKGList(struct CONVERTDSM_PARAMETERS_INTERNAL *) Unknown
ConvertDSMDLL.dll!ConvertListOfSPKGs(wchar_t const * const * const,unsigned long,struct _CONVERTDSM_PARAMETERS *) Unknown
0570fbc3() Unknown
[Frames below may be incorrect and/or missing] Unknown
[External Code]

The log ends with

[00:00:03] Extracting file: C:\systems\Miz21C\BSP\Workspace\Build\arm\pkgs\Zetec.OEM_OEMCommon_HotKey.OEMCOMMON.MainOS.spkg

[00:00:03] Converting Package: Zetec.OEM_OEMCommon_HotKey.OEMCOMMON.MainOS

[00:00:03] Signing package

[00:00:03] Signing command: C:\Program Files (x86)\Windows Ki

C:\Program Files (x86)\Windows Kits\10\Tools\bin\i386\sign.cmd was defective, fixing it with the sign.cmd from the Tools folder fixed my crash.