Skip to content

[BUG]: Profiling regression in 2.30.0 due to "Failed to initialize transport ... No CA certificates were loaded from the system" #5508

@ivoanjo

Description

@ivoanjo

Tracer Version(s)

2.30.0

Ruby Version(s)

All

Bug Report

We've internally uncovered a regression in the 29.0.0.1.0 version of the libdatadog dependency of dd-trace-rb which affects profiling.

The affected version of libdatadog is used by dd-trace-rb (datadog gem) 2.30.0. Earlier versions of dd-trace-rb / libdatadog are not affected.

Reproduction Code

On a minimal system with no CA certificates (e.g. Ubuntu 22.04 docker image with dpkg --force-depends --purge ca-certificates) the profiler will fail to start with the following error:

/var/lib/gems/3.0.0/gems/datadog-2.30.0/lib/datadog/profiling/http_transport.rb:28:in initialize': Failed to initialize transport: ddog_prof_Exporter_new failed: failed to initialize TLS configuration: unexpected error: No CA certificates were loaded from the system (ArgumentError)`

In particular, this error always happens when the profiler is turned on, regardless of TLS certificates actually being needed at all.

We're still working on releasing a fix. Any of the following work-arounds can be used to get past this issue:

  1. Install ca-certificates or equivalent system package or...
  2. Revert back to using version 2.29.0 of dd-trace-rb / the datadog gem or...
  3. Disable profiling (via DD_PROFILING_ENABLED=false or Datadog.configure { c.profiling.enabled = false } via code)

Metadata

Metadata

Assignees

Labels

bugInvolves a bugprofilingInvolves Datadog profiling

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions