* [PATCH v1 1/1] BaseTools: incorrect calculation for 16M [not found] <cover.1525795268.git.jaben.carsey@intel.com> @ 2018-05-08 16:01 ` Jaben Carsey 2018-05-09 0:57 ` Zhu, Yonghong ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Jaben Carsey @ 2018-05-08 16:01 UTC (permalink / raw) To: edk2-devel; +Cc: Liming Gao, Yonghong Zhu the "0x" was missing. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> --- BaseTools/Source/Python/GenFds/FvImageSection.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BaseTools/Source/Python/GenFds/FvImageSection.py b/BaseTools/Source/Python/GenFds/FvImageSection.py index eb84b44bbec4..57ecea0377bf 100644 --- a/BaseTools/Source/Python/GenFds/FvImageSection.py +++ b/BaseTools/Source/Python/GenFds/FvImageSection.py @@ -1,7 +1,7 @@ ## @file # process FV image section generation # -# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> # # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -83,7 +83,7 @@ class FvImageSection(FvImageSectionClassObject): if MaxFvAlignment >= 0x400: if MaxFvAlignment >= 0x100000: #The max alignment supported by FFS is 16M. - if MaxFvAlignment >=1000000: + if MaxFvAlignment >= 0x1000000: self.Alignment = "16M" else: self.Alignment = str(MaxFvAlignment / 0x100000) + "M" -- 2.16.2.windows.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v1 1/1] BaseTools: incorrect calculation for 16M 2018-05-08 16:01 ` [PATCH v1 1/1] BaseTools: incorrect calculation for 16M Jaben Carsey @ 2018-05-09 0:57 ` Zhu, Yonghong [not found] ` <cover.1525899066.git.jaben.carsey@intel.com> 2018-05-09 20:52 ` [PATCH v1 1/1] BaseTools: incorrect calculation for 16M Carsey, Jaben 2 siblings, 0 replies; 6+ messages in thread From: Zhu, Yonghong @ 2018-05-09 0:57 UTC (permalink / raw) To: Carsey, Jaben, edk2-devel@lists.01.org; +Cc: Gao, Liming, Zhu, Yonghong Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> Best Regards, Zhu Yonghong -----Original Message----- From: Carsey, Jaben Sent: Wednesday, May 09, 2018 12:02 AM To: edk2-devel@lists.01.org Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong <yonghong.zhu@intel.com> Subject: [PATCH v1 1/1] BaseTools: incorrect calculation for 16M the "0x" was missing. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> --- BaseTools/Source/Python/GenFds/FvImageSection.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BaseTools/Source/Python/GenFds/FvImageSection.py b/BaseTools/Source/Python/GenFds/FvImageSection.py index eb84b44bbec4..57ecea0377bf 100644 --- a/BaseTools/Source/Python/GenFds/FvImageSection.py +++ b/BaseTools/Source/Python/GenFds/FvImageSection.py @@ -1,7 +1,7 @@ ## @file # process FV image section generation # -# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2007 - 2018, Intel Corporation. All rights +reserved.<BR> # # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -83,7 +83,7 @@ class FvImageSection(FvImageSectionClassObject): if MaxFvAlignment >= 0x400: if MaxFvAlignment >= 0x100000: #The max alignment supported by FFS is 16M. - if MaxFvAlignment >=1000000: + if MaxFvAlignment >= 0x1000000: self.Alignment = "16M" else: self.Alignment = str(MaxFvAlignment / 0x100000) + "M" -- 2.16.2.windows.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
[parent not found: <cover.1525899066.git.jaben.carsey@intel.com>]
* [PATCH v1 1/1] BaseTools: loop to retry remove when it fails. [not found] ` <cover.1525899066.git.jaben.carsey@intel.com> @ 2018-05-09 20:51 ` Jaben Carsey 2018-05-09 23:47 ` Kinney, Michael D 0 siblings, 1 reply; 6+ messages in thread From: Jaben Carsey @ 2018-05-09 20:51 UTC (permalink / raw) To: edk2-devel; +Cc: Liming Gao, Yonghong Zhu There is a common race condition when the OS fails to release a file fast enough. this adds a retry loop. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> --- BaseTools/Source/Python/Common/LongFilePathOs.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/BaseTools/Source/Python/Common/LongFilePathOs.py b/BaseTools/Source/Python/Common/LongFilePathOs.py index 2e530f9dd774..a595de2648b7 100644 --- a/BaseTools/Source/Python/Common/LongFilePathOs.py +++ b/BaseTools/Source/Python/Common/LongFilePathOs.py @@ -1,7 +1,7 @@ ## @file # Override built in module os to provide support for long file path # -# Copyright (c) 2014, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR> # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at @@ -15,6 +15,7 @@ import os import LongFilePathOsPath from Common.LongFilePathSupport import LongFilePath from Common.LongFilePathSupport import UniToStr +import time path = LongFilePathOsPath @@ -22,7 +23,11 @@ def access(path, mode): return os.access(LongFilePath(path), mode) def remove(path): - return os.remove(LongFilePath(path)) + while True: + try: + return os.remove(LongFilePath(path)) + except: + time.sleep(0.1) def removedirs(name): return os.removedirs(LongFilePath(name)) -- 2.16.2.windows.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v1 1/1] BaseTools: loop to retry remove when it fails. 2018-05-09 20:51 ` [PATCH v1 1/1] BaseTools: loop to retry remove when it fails Jaben Carsey @ 2018-05-09 23:47 ` Kinney, Michael D 2018-05-10 14:15 ` Carsey, Jaben 0 siblings, 1 reply; 6+ messages in thread From: Kinney, Michael D @ 2018-05-09 23:47 UTC (permalink / raw) To: Carsey, Jaben, edk2-devel@lists.01.org, Kinney, Michael D; +Cc: Gao, Liming Jaben, Instead of while TRUE, a timeout count be added so the loop can exit if the file is not released in a reasonable period of time. Perhaps 5 seconds. Timeout = 0.0 while Timeout < 5.0: try: return os.remove(LongFilePath(path)) except: time.sleep(0.1) Timeout = Timeout + 0.1 return os.remove(LongFilePath(path)) Thanks, Mike > -----Original Message----- > From: edk2-devel [mailto:edk2-devel- > bounces@lists.01.org] On Behalf Of Jaben Carsey > Sent: Wednesday, May 9, 2018 1:51 PM > To: edk2-devel@lists.01.org > Cc: Gao, Liming <liming.gao@intel.com> > Subject: [edk2] [PATCH v1 1/1] BaseTools: loop to retry > remove when it fails. > > There is a common race condition when the OS fails to > release a file > fast enough. this adds a retry loop. > > Cc: Liming Gao <liming.gao@intel.com> > Cc: Yonghong Zhu <yonghong.zhu@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> > --- > BaseTools/Source/Python/Common/LongFilePathOs.py | 9 > +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git > a/BaseTools/Source/Python/Common/LongFilePathOs.py > b/BaseTools/Source/Python/Common/LongFilePathOs.py > index 2e530f9dd774..a595de2648b7 100644 > --- a/BaseTools/Source/Python/Common/LongFilePathOs.py > +++ b/BaseTools/Source/Python/Common/LongFilePathOs.py > @@ -1,7 +1,7 @@ > ## @file > # Override built in module os to provide support for > long file path > # > -# Copyright (c) 2014, Intel Corporation. All rights > reserved.<BR> > +# Copyright (c) 2014 - 2018, Intel Corporation. All > rights reserved.<BR> > # This program and the accompanying materials > # are licensed and made available under the terms and > conditions of the BSD License > # which accompanies this distribution. The full text > of the license may be found at > @@ -15,6 +15,7 @@ import os > import LongFilePathOsPath > from Common.LongFilePathSupport import LongFilePath > from Common.LongFilePathSupport import UniToStr > +import time > > path = LongFilePathOsPath > > @@ -22,7 +23,11 @@ def access(path, mode): > return os.access(LongFilePath(path), mode) > > def remove(path): > - return os.remove(LongFilePath(path)) > + while True: > + try: > + return os.remove(LongFilePath(path)) > + except: > + time.sleep(0.1) > > def removedirs(name): > return os.removedirs(LongFilePath(name)) > -- > 2.16.2.windows.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1 1/1] BaseTools: loop to retry remove when it fails. 2018-05-09 23:47 ` Kinney, Michael D @ 2018-05-10 14:15 ` Carsey, Jaben 0 siblings, 0 replies; 6+ messages in thread From: Carsey, Jaben @ 2018-05-10 14:15 UTC (permalink / raw) To: Kinney, Michael D, edk2-devel@lists.01.org; +Cc: Gao, Liming, Zhu, Yonghong Absolutely true. I am really trying to start the discussion as the error is occurring more and more for me. I can send a v1 patch with timeout added. Yonghong and Liming, And thoughts? -Jaben > -----Original Message----- > From: Kinney, Michael D > Sent: Wednesday, May 09, 2018 4:47 PM > To: Carsey, Jaben <jaben.carsey@intel.com>; edk2-devel@lists.01.org; > Kinney, Michael D <michael.d.kinney@intel.com> > Cc: Gao, Liming <liming.gao@intel.com> > Subject: RE: [edk2] [PATCH v1 1/1] BaseTools: loop to retry remove when it > fails. > Importance: High > > Jaben, > > Instead of while TRUE, a timeout count be added so > the loop can exit if the file is not released in a > reasonable period of time. Perhaps 5 seconds. > > Timeout = 0.0 > while Timeout < 5.0: > try: > return os.remove(LongFilePath(path)) > except: > time.sleep(0.1) > Timeout = Timeout + 0.1 > return os.remove(LongFilePath(path)) > > Thanks, > > Mike > > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel- > > bounces@lists.01.org] On Behalf Of Jaben Carsey > > Sent: Wednesday, May 9, 2018 1:51 PM > > To: edk2-devel@lists.01.org > > Cc: Gao, Liming <liming.gao@intel.com> > > Subject: [edk2] [PATCH v1 1/1] BaseTools: loop to retry > > remove when it fails. > > > > There is a common race condition when the OS fails to > > release a file > > fast enough. this adds a retry loop. > > > > Cc: Liming Gao <liming.gao@intel.com> > > Cc: Yonghong Zhu <yonghong.zhu@intel.com> > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> > > --- > > BaseTools/Source/Python/Common/LongFilePathOs.py | 9 > > +++++++-- > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > diff --git > > a/BaseTools/Source/Python/Common/LongFilePathOs.py > > b/BaseTools/Source/Python/Common/LongFilePathOs.py > > index 2e530f9dd774..a595de2648b7 100644 > > --- a/BaseTools/Source/Python/Common/LongFilePathOs.py > > +++ b/BaseTools/Source/Python/Common/LongFilePathOs.py > > @@ -1,7 +1,7 @@ > > ## @file > > # Override built in module os to provide support for > > long file path > > # > > -# Copyright (c) 2014, Intel Corporation. All rights > > reserved.<BR> > > +# Copyright (c) 2014 - 2018, Intel Corporation. All > > rights reserved.<BR> > > # This program and the accompanying materials > > # are licensed and made available under the terms and > > conditions of the BSD License > > # which accompanies this distribution. The full text > > of the license may be found at > > @@ -15,6 +15,7 @@ import os > > import LongFilePathOsPath > > from Common.LongFilePathSupport import LongFilePath > > from Common.LongFilePathSupport import UniToStr > > +import time > > > > path = LongFilePathOsPath > > > > @@ -22,7 +23,11 @@ def access(path, mode): > > return os.access(LongFilePath(path), mode) > > > > def remove(path): > > - return os.remove(LongFilePath(path)) > > + while True: > > + try: > > + return os.remove(LongFilePath(path)) > > + except: > > + time.sleep(0.1) > > > > def removedirs(name): > > return os.removedirs(LongFilePath(name)) > > -- > > 2.16.2.windows.1 > > > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1 1/1] BaseTools: incorrect calculation for 16M 2018-05-08 16:01 ` [PATCH v1 1/1] BaseTools: incorrect calculation for 16M Jaben Carsey 2018-05-09 0:57 ` Zhu, Yonghong [not found] ` <cover.1525899066.git.jaben.carsey@intel.com> @ 2018-05-09 20:52 ` Carsey, Jaben 2 siblings, 0 replies; 6+ messages in thread From: Carsey, Jaben @ 2018-05-09 20:52 UTC (permalink / raw) To: Carsey, Jaben, edk2-devel@lists.01.org; +Cc: Gao, Liming, Zhu, Yonghong Ignore. Duplicate. Already sent out. > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > Jaben Carsey > Sent: Wednesday, May 09, 2018 1:51 PM > To: edk2-devel@lists.01.org > Cc: Gao, Liming <liming.gao@intel.com> > Subject: [edk2] [PATCH v1 1/1] BaseTools: incorrect calculation for 16M > Importance: High > > the "0x" was missing. > > Cc: Liming Gao <liming.gao@intel.com> > Cc: Yonghong Zhu <yonghong.zhu@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> > --- > BaseTools/Source/Python/GenFds/FvImageSection.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/BaseTools/Source/Python/GenFds/FvImageSection.py > b/BaseTools/Source/Python/GenFds/FvImageSection.py > index eb84b44bbec4..57ecea0377bf 100644 > --- a/BaseTools/Source/Python/GenFds/FvImageSection.py > +++ b/BaseTools/Source/Python/GenFds/FvImageSection.py > @@ -1,7 +1,7 @@ > ## @file > # process FV image section generation > # > -# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR> > +# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> > # > # This program and the accompanying materials > # are licensed and made available under the terms and conditions of the > BSD License > @@ -83,7 +83,7 @@ class FvImageSection(FvImageSectionClassObject): > if MaxFvAlignment >= 0x400: > if MaxFvAlignment >= 0x100000: > #The max alignment supported by FFS is 16M. > - if MaxFvAlignment >=1000000: > + if MaxFvAlignment >= 0x1000000: > self.Alignment = "16M" > else: > self.Alignment = str(MaxFvAlignment / 0x100000) + "M" > -- > 2.16.2.windows.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-05-10 14:15 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <cover.1525795268.git.jaben.carsey@intel.com> 2018-05-08 16:01 ` [PATCH v1 1/1] BaseTools: incorrect calculation for 16M Jaben Carsey 2018-05-09 0:57 ` Zhu, Yonghong [not found] ` <cover.1525899066.git.jaben.carsey@intel.com> 2018-05-09 20:51 ` [PATCH v1 1/1] BaseTools: loop to retry remove when it fails Jaben Carsey 2018-05-09 23:47 ` Kinney, Michael D 2018-05-10 14:15 ` Carsey, Jaben 2018-05-09 20:52 ` [PATCH v1 1/1] BaseTools: incorrect calculation for 16M Carsey, Jaben
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox