public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
From: "mjw at redhat dot com" <sourceware-bugzilla@sourceware.org>
To: systemtap@sources.redhat.com
Subject: [Bug translator/11089] New: process.mark() probes with same name trigger wrongly
Date: Mon, 14 Dec 2009 12:31:00 -0000	[thread overview]
Message-ID: <20091214123044.11089.mjw@redhat.com> (raw)

When a process.mark() probe is in the .probes section multiple times with
different addresses it looks like only one address is being triggered for a
probe on the mark() for that name (and it is triggered multiple times for that
one address).

One example is the cxxclass.exp test on i386:

> $ stap ./systemtap.base/cxxclass.stp cxxclass.exe -c ./cxxclass.exe
> main_enter
> call: 64
> cons call: 64
> cons call: 64
> meth call: 64 24
> meth call: 64 24
> dest call: 42
> dest call: 42
> call2: 24
> main_exit
> 
> Seems there is double call on process.mark.

The issue seems to be that some of the static probe points get
duplicated in the code. This shouldn't be a problem, and the .probes
section does contain both places with different addresses. You can also
see (with enough -vvvvv) that stap finds both locations while resolving
the mark("cons") probe. But, only the first is registered twice, as can
be seen in the generated code:

  { .address=(unsigned
long)0x8048476ULL,
.pp="process(\"/home/mark/src/systemtap/testsuite/cxxclass.exe\").statement(134513782)",
.ph=&probe_1895, },
  { .address=(unsigned
long)0x8048476ULL,
.pp="process(\"/home/mark/src/systemtap/testsuite/cxxclass.exe\").statement(134513782)",
.ph=&probe_1895, },

This means the first call of the constructor is triggered as probe twice
(as is the method, and destructor call) but the second call isn't
triggered as probe at all.

It looks like this is a problem in how sdt_query::convert_location() is
called (it seems to do duplication detection based on probe name, but
not address. I haven't looked very deeply into it yet though.

-- 
           Summary: process.mark() probes with same name trigger wrongly
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
        AssignedTo: systemtap at sources dot redhat dot com
        ReportedBy: mjw at redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=11089

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

             reply	other threads:[~2009-12-14 12:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-14 12:31 mjw at redhat dot com [this message]
2009-12-14 13:59 ` [Bug translator/11089] " mjw at redhat dot com
2009-12-14 16:59 ` fche at redhat dot com
2009-12-14 19:51 ` scox at redhat dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091214123044.11089.mjw@redhat.com \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=systemtap@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).