From 84918573df1c48178085a9c128062671075c154f Mon Sep 17 00:00:00 2001 From: Juanjo Alvarez Date: Thu, 11 Jan 2024 11:28:49 +0100 Subject: [PATCH 1/2] Handle possible valueerror in importlib Signed-off-by: Juanjo Alvarez --- ddtrace/internal/packages.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/ddtrace/internal/packages.py b/ddtrace/internal/packages.py index e309daa80f4..e0607919205 100644 --- a/ddtrace/internal/packages.py +++ b/ddtrace/internal/packages.py @@ -98,16 +98,19 @@ def _package_file_mapping(): mapping = {} for ilmd_d in il_md.distributions(): - if ilmd_d is not None and ilmd_d.files is not None: - d = Distribution(name=ilmd_d.metadata["name"], version=ilmd_d.version, path=None) - for f in ilmd_d.files: - if _is_python_source_file(f): - # mapping[fspath(f.locate())] = d - _path = fspath(f.locate()) - mapping[_path] = d - _realp = os.path.realpath(_path) - if _realp != _path: - mapping[_realp] = d + try: + if ilmd_d is not None and ilmd_d.files is not None: + d = Distribution(name=ilmd_d.metadata["name"], version=ilmd_d.version, path=None) + for f in ilmd_d.files: + if _is_python_source_file(f): + # mapping[fspath(f.locate())] = d + _path = fspath(f.locate()) + mapping[_path] = d + _realp = os.path.realpath(_path) + if _realp != _path: + mapping[_realp] = d + except ValueError: + continue return mapping From 9c1239d0d112b0ab05962d99bc1191e31474b4fa Mon Sep 17 00:00:00 2001 From: Juanjo Alvarez Date: Thu, 11 Jan 2024 11:35:53 +0100 Subject: [PATCH 2/2] Add changelog Signed-off-by: Juanjo Alvarez --- ...dle-potential-valueerror-on-importlib-10d14cb957cbd421.yaml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 releasenotes/notes/handle-potential-valueerror-on-importlib-10d14cb957cbd421.yaml diff --git a/releasenotes/notes/handle-potential-valueerror-on-importlib-10d14cb957cbd421.yaml b/releasenotes/notes/handle-potential-valueerror-on-importlib-10d14cb957cbd421.yaml new file mode 100644 index 00000000000..e9661010d0f --- /dev/null +++ b/releasenotes/notes/handle-potential-valueerror-on-importlib-10d14cb957cbd421.yaml @@ -0,0 +1,3 @@ +fixes: + - | + Handle potencial ValueError on importlib_metadata. Fixes #8068.