public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* Test failure of cxxclass
@ 2009-12-14  2:55 Wenji Huang
  2009-12-14  7:30 ` Mark Wielaard
  0 siblings, 1 reply; 2+ messages in thread
From: Wenji Huang @ 2009-12-14  2:55 UTC (permalink / raw)
  To: SystemTAP

Hi,

I got failed when I ran tests on FC11 32-bits.

$ 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.

$ stap -V
SystemTap translator/driver (version 1.0/0.143 commit 
release-1.0-355-g958c58e)

$ g++ -v
Using built-in specs.
Target: i586-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
--infodir=/usr/share/info 
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap 
--enable-shared --enable-threads=posix --enable-checking=release 
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions 
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada 
--enable-java-awt=gtk --disable-dssi --enable-plugin 
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre 
--enable-libgcj-multifile --enable-java-maintainer-mode 
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar 
--disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic 
--with-arch=i586 --build=i586-redhat-linux
Thread model: posix
gcc version 4.4.0 20090506 (Red Hat 4.4.0-4) (GCC)

Regards,
Wenji

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Test failure of cxxclass
  2009-12-14  2:55 Test failure of cxxclass Wenji Huang
@ 2009-12-14  7:30 ` Mark Wielaard
  0 siblings, 0 replies; 2+ messages in thread
From: Mark Wielaard @ 2009-12-14  7:30 UTC (permalink / raw)
  To: wenji.huang; +Cc: SystemTAP

Hi Wenji,

On Mon, 2009-12-14 at 10:51 +0800, Wenji Huang wrote:
> I got failed when I ran tests on FC11 32-bits.
> 
> $ 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.

Yes, I am seeing the same. Wanted to file a bug report, but bugzilla was
down this weekend. Will do so now.

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.

Cheers,

Mark

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-12-14  7:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-14  2:55 Test failure of cxxclass Wenji Huang
2009-12-14  7:30 ` Mark Wielaard

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).