Skip to content

Commit 05dd5ba

Browse files
committed
Fix crash when reconnecting in background sender thread
Signed-off-by: Bob Weinand <[email protected]>
1 parent 5d08aec commit 05dd5ba

3 files changed

Lines changed: 4 additions & 4 deletions

File tree

ext/process_tags.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ zend_string *ddtrace_process_tags_get_base_hash(void) {
314314
}
315315

316316
bool ddtrace_process_tags_enabled(void){
317-
return get_DD_EXPERIMENTAL_PROPAGATE_PROCESS_TAGS_ENABLED();
317+
return zai_config_is_initialized() ? get_DD_EXPERIMENTAL_PROPAGATE_PROCESS_TAGS_ENABLED() : get_global_DD_EXPERIMENTAL_PROPAGATE_PROCESS_TAGS_ENABLED();
318318
}
319319

320320
void ddtrace_process_tags_first_rinit(void) {

tests/ext/telemetry/broken_pipe.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ dd_trace_serialize_closed_spans();
2929

3030
// force a reconnect, it needs to resubmit telemetry info
3131
dd_trace_internal_fn("break_sidecar_connection");
32-
dd_trace_internal_fn("synchronous_flush", 5000); // await connection breaking
32+
dd_trace_internal_fn("stats_sidecar"); // await connection breaking
3333

3434
dd_trace_internal_fn("finalize_telemetry");
3535

@@ -71,7 +71,7 @@ if ($i == 300) {
7171

7272
?>
7373
--EXPECTF--
74-
[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %sbroken_pipe-telemetry.out
74+
[ddtrace] [info] [%d] Flushing trace of size 1 to send-queue for %sbroken_pipe-telemetry.out%A
7575
[ddtrace] [datadog_sidecar::service::blocking] [%d] The sidecar transport is closed. Reconnecting... This generally indicates a problem with the sidecar, most likely a crash. Check the logs / core dump locations and possibly report a bug.
7676
string(11) "app-started"
7777
string(25) "broken_pipe-telemetry-app"

0 commit comments

Comments
 (0)