Bob: This is a failure caused by the recent patch. Please list which commit cause this issue.
Thanks Liming >-----Original Message----- >From: Feng, Bob C >Sent: Sunday, December 09, 2018 9:44 PM >To: [email protected] >Cc: Feng, Bob C <[email protected]>; Gao, Liming <[email protected]> >Subject: [Patch] BaseTools: Fixed bugs in CopyDict function > >https://bugzilla.tianocore.org/show_bug.cgi?id=1387 >Remove the CopyDict incorrect usage for non-dict input data. >Add a check for CopyDict input > >Contributed-under: TianoCore Contribution Agreement 1.1 >Signed-off-by: Bob Feng <[email protected]> >Cc: Liming Gao <[email protected]> >--- > BaseTools/Source/Python/Common/Misc.py | 2 ++ > BaseTools/Source/Python/Workspace/DscBuildData.py | 4 ++-- > 2 files changed, 4 insertions(+), 2 deletions(-) > >diff --git a/BaseTools/Source/Python/Common/Misc.py >b/BaseTools/Source/Python/Common/Misc.py >index b063f064fb..6a22d01012 100644 >--- a/BaseTools/Source/Python/Common/Misc.py >+++ b/BaseTools/Source/Python/Common/Misc.py >@@ -2137,10 +2137,12 @@ def PackByteFormatGUID(Guid): > # > # @retval new dict or orderdict > # > def CopyDict(ori_dict): > dict_type = ori_dict.__class__ >+ if dict_type not in (dict,OrderedDict): >+ return ori_dict > new_dict = dict_type() > for key in ori_dict: > if isinstance(ori_dict[key],(dict,OrderedDict)): > new_dict[key] = CopyDict(ori_dict[key]) > else: >diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py >b/BaseTools/Source/Python/Workspace/DscBuildData.py >index b485c75a84..4543ae7dc0 100644 >--- a/BaseTools/Source/Python/Workspace/DscBuildData.py >+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py >@@ -972,11 +972,11 @@ class DscBuildData(PlatformBuildClassObject): > for skuid in pcd.SkuInfoList: > skuobj = pcd.SkuInfoList.get(skuid) > if TAB_DEFAULT_STORES_DEFAULT not in skuobj.DefaultStoreDict: > PcdDefaultStoreSet = set(defaultstorename for > defaultstorename >in skuobj.DefaultStoreDict) > mindefaultstorename = >DefaultStoreMgr.GetMin(PcdDefaultStoreSet) >- skuobj.DefaultStoreDict[TAB_DEFAULT_STORES_DEFAULT] = >CopyDict(skuobj.DefaultStoreDict[mindefaultstorename]) >+ skuobj.DefaultStoreDict[TAB_DEFAULT_STORES_DEFAULT] = >skuobj.DefaultStoreDict[mindefaultstorename] > return Pcds > > def RecoverCommandLinePcd(self): > def UpdateCommandLineValue(pcd): > if pcd.Type in >[self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD], >@@ -2767,11 +2767,11 @@ class DscBuildData(PlatformBuildClassObject): > for skuid in PcdObj.SkuInfoList: > skuobj = PcdObj.SkuInfoList[skuid] > mindefaultstorename = >DefaultStoreObj.GetMin(set(defaultstorename for defaultstorename in >skuobj.DefaultStoreDict)) > for defaultstorename in DefaultStores: > if defaultstorename not in skuobj.DefaultStoreDict: >- skuobj.DefaultStoreDict[defaultstorename] = >CopyDict(skuobj.DefaultStoreDict[mindefaultstorename]) >+ skuobj.DefaultStoreDict[defaultstorename] = >skuobj.DefaultStoreDict[mindefaultstorename] > skuobj.HiiDefaultValue = >skuobj.DefaultStoreDict[mindefaultstorename] > for skuname, skuid in SkuIds.items(): > if skuname not in PcdObj.SkuInfoList: > nextskuid = self.SkuIdMgr.GetNextSkuId(skuname) > while nextskuid not in PcdObj.SkuInfoList: >-- >2.18.0.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

