open-telemetry / open-telemetry/opentelemetry-cpp-contrib

SDK Init failed, result code is: 8

Open
#271 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Webserver
Dominant language
Python
Stars
153
Forks
184
Avg merge
2d 9h
Merged PRs (30d)
26

Description

Using docker debian:buster with apache2 installed logs are showing SDK Init failed, result code is: 8 when initializing lib.

$ apache2ctl -V     
Server version: Apache/2.4.38 (Debian)
Server built:   2023-03-02T14:26:27
Server's Module Magic Number: 20120211:84
Server loaded:  APR 1.6.5, APR-UTIL 1.6.1
Compiled using: APR 1.6.5, APR-UTIL 1.6.1
Architecture:   64-bit
Server MPM:     event
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)

conf file:

LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_common.so
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_resources.so
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_trace.so
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_otlp_recordable.so
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_exporter_ostream_span.so
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_exporter_otlp_grpc.so

#Load the ApacheModule SDK
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_webserver_sdk.so
LoadModule otel_apache_module /opt/opentelemetry-webserver-sdk/WebServerModule/Apache/libmod_apache_otel.so
ApacheModuleEnabled ON

#ApacheModule Otel Exporter details
ApacheModuleOtelSpanExporter otlp
ApacheModuleOtelExporterEndpoint docker.for.mac.localhost:4317 <--- this is reachable 
#ApacheModuleOtelExporterHeaders api-key=abc123

# SSL Certificates
#ApacheModuleOtelSslEnabled ON
#ApacheModuleOtelSslCertificatePath 

ApacheModuleOtelSpanProcessor Batch
ApacheModuleOtelSampler AlwaysOn
ApacheModuleOtelMaxQueueSize 2048
ApacheModuleOtelScheduledDelayMillis 3000
ApacheModuleOtelExportTimeoutMillis 30000
ApacheModuleOtelMaxExportBatchSize 1024

ApacheModuleServiceName reverseproxy
ApacheModuleServiceNamespace my
ApacheModuleServiceInstanceId test

#ApacheModuleResolveBackends ON
ApacheModuleTraceAsError ON

What is the expected behavior?
Succesful traces sent to receiver.

What is the actual behavior?
logs:

Wed Apr 05 09:06:45.272391 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: initialize_opentelemetry: no config stored in the process memory pool
[Wed Apr 05 09:06:45.272473 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: traceConfig: config{(Enabled="1")(OtelExporterEndpoint="docker.for.mac.localhost:4317")(OtelSslEnabled="0")(OtelSslCertificatePath="")(OtelSpanExporter="otlp")(OtelSpanProcessor="Batch")(OtelSampler="AlwaysOn")(ServiceNamespace="my")(ServiceName="reverseproxy")(ServiceInstanceId="test")(OtelMaxQueueSize="2048")(OtelScheduledDelayMillis="3000")(OtelExportTimeoutMillis="30000")(OtelMaxExportBatchSize="1024")(ResolveBackends="1")(TraceAsError="1")(ReportAllInstrumentedModules="0")(MaskCookie="0")(MaskSmUser="0")(SegmentType="FIRST")(SegmentParameter="2")}
[Wed Apr 05 09:06:45.272552 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: initialize_opentelemetry: Adding Context: my:reverseproxy:test ServiceNamespace: my ServiceName: reverseproxy ServiceInstanceId: test
[Wed Apr 05 09:06:45.272847 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: initialize_opentelemetry: SDK Init failed, result code is: 8
[Wed Apr 05 09:06:45.272901 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: otel_hook_header_parser_begin: opentelemetry did not get initialized
172.17.0.1 - - [05/Apr/2023:09:06:45 +0000] "GET / HTTP/1.1" 302 673 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/111.0"
-28:642d3a25:0
[Wed Apr 05 09:06:45.273322 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: otel_hook_log_transaction_end: configuration is NULL

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Apache configuration and the initialize_opentelemetry log path in mod_opentelemetry_webserver_sdk; inspect how result code 8 is produced during SDK initialization. Reproduce in docker debian:buster with the shown LoadFile and LoadModule settings, then verify that successful traces reach the configured OTLP receiver.

Written by the indexing model from the issue text.

Assessment

Tech stack
apache, debian, docker
Domain
backend, observability-sre
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.