Open
Description
Tracer Version(s)
3.10.1
Python Version(s)
3.13.5
Pip Version(s)
N/A (using uv)
Bug Report
I'm getting the following error log when cancelling my app with ctrl-c:
Exception ignored in atexit callback <bound method TelemetryWriter.app_shutdown of TelemetryWriter(status=<ServiceStatus.RUNNING: 'running'>, started=True)>:
Traceback (most recent call last):
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/writer.py", line 668, in app_shutdown
self.periodic(force_flush=True, shutting_down=True)
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/writer.py", line 654, in periodic
self._app_dependencies_loaded_event()
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/writer.py", line 414, in _app_dependencies_loaded_event
packages = update_imported_dependencies(self._imported_dependencies, newly_imported_deps)
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/data.py", line 77, in update_imported_dependencies
dists = get_module_distribution_versions(module_name)
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/packages.py", line 70, in get_module_distribution_versions
dist_map = get_distributions()
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/utils/cache.py", line 149, in _
raise exc
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/writer.py", line 749, in _telemetry_excepthook
self.app_shutdown()
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/writer.py", line 668, in app_shutdown
self.periodic(force_flush=True, shutting_down=True)
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/writer.py", line 654, in periodic
self._app_dependencies_loaded_event()
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/writer.py", line 414, in _app_dependencies_loaded_event
packages = update_imported_dependencies(self._imported_dependencies, newly_imported_deps)
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/data.py", line 77, in update_imported_dependencies
dists = get_module_distribution_versions(module_name)
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/packages.py", line 70, in get_module_distribution_versions
dist_map = get_distributions()
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/utils/cache.py", line 149, in _
raise exc
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/writer.py", line 654, in periodic
self._app_dependencies_loaded_event()
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/writer.py", line 414, in _app_dependencies_loaded_event
packages = update_imported_dependencies(self._imported_dependencies, newly_imported_deps)
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/telemetry/data.py", line 77, in update_imported_dependencies
dists = get_module_distribution_versions(module_name)
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/packages.py", line 70, in get_module_distribution_versions
dist_map = get_distributions()
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/utils/cache.py", line 149, in _
raise exc
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/utils/cache.py", line 141, in _
retval = f()
File "/myproject/.venv/lib/python3.13/site-packages/ddtrace/internal/packages.py", line 38, in get_distributions
name = metadata["name"].lower()
AttributeError: 'NoneType' object has no attribute 'lower'
I think the issue is the following section of code:
dd-trace-py/ddtrace/internal/packages.py
Lines 37 to 38 in b17d958
that does not handle if
.metadata
is None
.
Looking at the source of importlib_metadata
, the type annotations state that the metadata can be None
:
https://github.com/python/importlib_metadata/blob/95ecf2aa573a68d4624506f801ca70992a337f41/importlib_metadata/__init__.py#L514-L515
Reproduction Code
No response
Error Logs
No response
Libraries in Use
No response
Operating System
Darwin Kernel Version 24.4.0