Skip to content

Bug in OpenTelemetry causes requests with non-UTF8 headers to fail #4080

@sentry-io

Description

@sentry-io

Sentry Issue: SERVER-1VC

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 71: invalid start byte
(1 additional frame(s) were not displayed)
...
  File "starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/app/server/.venv/lib/python3.12/site-packages/opentelemetry/instrumentation/asgi/__init__.py", line 579, in __call__
    attributes = collect_request_attributes(scope)
  File "/app/server/.venv/lib/python3.12/site-packages/opentelemetry/instrumentation/asgi/__init__.py", line 323, in collect_request_attributes
    http_user_agent = asgi_getter.get(scope, "user-agent")
  File "/app/server/.venv/lib/python3.12/site-packages/opentelemetry/instrumentation/asgi/__init__.py", line 256, in get
    _value.decode("utf8")

Known bug in OpenTelemetry ASGI. A fix is merged but not yet released: open-telemetry/opentelemetry-python-contrib#2837

Just upgrade the package when it is released to solve the issue.

Metadata

Metadata

Assignees

Labels

dependenciesPull requests that update a dependency file

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions