Project

General

Profile

Actions

Bug #816

closed

race condition in metadata flush in live with dyninst (prototype)

Added by Julien Desfossez almost 10 years ago. Updated almost 10 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Julien Desfossez
Target version:
-
Start date:
07/07/2014
Due date:
% Done:

0%

Estimated time:

Description

There seems to be a race condition when sending the metadata to the relay.

When an application instrumented with dyninst is launched the first time, the constructor calls the sessiond to instrument it and create static tracepoints for this application before it is started.

In the live client, we see that we are missing metadata to be able to even create the trace collection (streams definition missing), the metadata is split in 2 packets.

There seems to be a race condition, where some metadata is sent after the first data index is sent (lines 248 and 295 in the relayd log) which should not happen since no additionnal instrumentation was added.

If the application is started again and the same sessiond is still running, the dynamic instrumentation is much faster and the metadata is complete on the relay before the first data index arrives.

sessiond log : http://paste.ubuntu.com/7761775/
relayd log : http://paste.ubuntu.com/7761776/
client log : http://paste.ubuntu.com/7761780/

Actions #1

Updated by Christian Babeux almost 10 years ago

  • Project changed from LTTng-tools to LTTng-UST
Actions #2

Updated by Mathieu Desnoyers almost 10 years ago

  • Status changed from Confirmed to Resolved
Actions

Also available in: Atom PDF