From c696518efda3ae5087d90325381f8e315b660add Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 21 Oct 2020 21:35:02 +0200 Subject: Skip malformed spec strings when searching for externals (#19438) fixes #19266 fzf search method has also been updated Co-authored-by: Tom Scogland --- lib/spack/spack/package.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'lib') diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py index 14b1d1089a..a4e91fc186 100644 --- a/lib/spack/spack/package.py +++ b/lib/spack/spack/package.py @@ -202,14 +202,19 @@ class DetectablePackageMeta(object): external_modules = extra_attributes.pop( 'modules', None ) - spec = spack.spec.Spec( - spec_str, - external_path=external_path, - external_modules=external_modules - ) - specs.append(spack.spec.Spec.from_detection( - spec, extra_attributes=extra_attributes - )) + try: + spec = spack.spec.Spec( + spec_str, + external_path=external_path, + external_modules=external_modules + ) + except Exception as e: + msg = 'Parsing failed [spec_str="{0}", error={1}]' + tty.debug(msg.format(spec_str, str(e))) + else: + specs.append(spack.spec.Spec.from_detection( + spec, extra_attributes=extra_attributes + )) return sorted(specs) -- cgit v1.2.3-60-g2f50