Date: Wed, 13 Jun 2012 21:33:01 -0700 From: Ryan Goodfellow <rgoodfel@eecs.wsu.edu> To: freebsd-current@freebsd.org Subject: DTrace broken on 9.0-Release? Message-ID: <5D6510D5-A8B3-41D9-B175-15FA680AF7F2@eecs.wsu.edu>
next in thread | raw e-mail | index | archive | help
Hi FreeBSD community, Today I downloaded and installed FreeBSD 9.0-RELEASE and followed the = directions from <http://wiki.freebsd.org/DTrace> to get DTrace up and = running. The output of DTrace instrumenting a simple program, however, = is not correct. The program is as follows: // test.cc #include<cstdlib> int main(void) { for(int i =3D 0; i < 5; i++) { malloc(47); } } then compiling and running DTrace as follows: g++ test.cc -o test dtrace -n 'pid$target::malloc:entry{ }' -c ./test The correct output for this example is something to the tune of: dtrace: description 'pid$target::malloc:entry' matched 2 probes dtrace: pid 95236 has exited CPU ID FUNCTION:NAME 0 188748 malloc:entry=20 0 188748 malloc:entry=20 0 188748 malloc:entry=20 0 188748 malloc:entry=20 0 188748 malloc:entry=20 (this from a machine with the same code running DTrace) The DTrace session should also make an immediate exit on completion. On = FreeBSD I have the following CPU ID FUNCTION:NAME 2 42213 malloc:entry=20 and the execution does either not exit on it's own or hangs, it requires = a ctrl-c. I followed the instructions from the FreeBSD site exactly, compiling and = installing the custom kernel. I used both clang++ and g++ for = compilation with the same result. The system has even completely hung = on other attempts. Is DTrace not something that should be relied upon in FreeBSD? I have = also tried this on the latest 10-CURRENT build with the same result. Thanks Ryan G=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5D6510D5-A8B3-41D9-B175-15FA680AF7F2>