Analyzers
Community support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
4823 Discussions

Using callgraph collector leads to segmentation fault on first use of pool allocator

omers1
Beginner
318 Views
Hello,

I am trying to use VTune 8.0 for Linux to profile our application, and I have problems with the callgraph collector.

Unfortunately, once the application is instrumented, it receives a segmentation fault on the first deallocation from the glibc pool allocator that is used by STL node containers.

As our application is subject for various copyrights, I had created a minimal executable that reproduces the problem:

I would be glad to hear if anybody encountered similar problem in the past, and what should be done. Is it possible to prevent vtl from removing the instrumented binary?

--- test_vtune.cpp
#include
#include
#include

typedef std::map my_map_t ;


int
main(int argc, char* argv[])
{
my_map_t my_map ;

my_map[1] = "foo" ;
my_map[2] = "goo" ;
}
---- test_vtune.cpp ends

---- compilation line

g++ test_vtune.cpp -g -o ./test_vtune

---- compilation line ends

---- vtl run
vtl activity test_vtune_test -c callgraph -app /root/vtune_sessions/test_vtune_callgraph/test_vtune -moi /root/vtune_sessions/test_vtune_callgraph/test_vtune run
VTune Performance Analyzer 8.0 for Linux*.
Copyright (C) 2000-2005 Intel Corporation. All rights reserved.

The Activity is running.
Mon May 22 05:16:55 2006 Reading property files started...

Mon May 22 05:16:55 2006 Reading property files done.

Mon May 22 05:16:55 2006 Static instrumentation started
Mon May 22 05:16:55 2006 All functions instrumentation of module "test_vtune" was successful.
Mon May 22 05:16:57 2006 Exports instrumentation of module "libc-2.3.6.so" was successful.
Mon May 22 05:16:57 2006 Exports instrumentation of module "libgcc_s-4.0.2-20051126.so.1" was successful.
Mon May 22 05:16:57 2006 All functions instrumentation of module "libm-2.3.6.so" was successful.
Mon May 22 05:16:58 2006 Exports instrumentation of module "libstdc++.so.6.0.7" was successful.
Mon May 22 05:16:58 2006 Static instrumentation done
Mon May 22 05:16:59 2006 Data collection started...
Mon May 22 05:17:03 2006 Data collection finished...
Mon May 22 05:17:03 2006 Error - Internal error while resolving the results file.
Some errors occurred during the collection. The Activity was cancelled.

--- vtl run ends

After the unsuccessfull activity testing, I found a core file (from the instrumented executable). Following is the stack trace from the gdb debugger (please pay attention that only a single activation record was successfully correlated with the binary, as the instrumented binary was deleted by vtl.

--- gdb backtrace starts
(gdb) bt
#0 0x00d024f2 in ?? ()
#1 0x0804b9c0 in guard variable for __gnu_cxx::__common_pool<__gnu_cxx::__pool, true>::_S_get_pool()::_S_pool ()
#2 0x084b7148 in ?? ()
#3 0x00000001 in ?? ()
#4 0x00000bb8 in ?? ()
#5 0x0000000a in ?? ()
#6 0x00c80acb in ?? ()
#7 0x00000000 in ?? ()

--- gdb backtrace ends

Additional details:
CPU: Intel Xeon CPU 2.80GHz, single core with HT enabled
O.S. - Fedora Core release 4
glibc version - glibc-2.3.6-3
stdc++ version - libstdc++-4.0.2-8.fc4
g++ version - gcc-4.0.2-8.fc4



Thanks,
Omer Shapira
0 Kudos
1 Reply
jeffrey-gallagher
318 Views

Omer, I suggest you open a Premier Support case on this one!

http://premier.intel.com

cheers

jdg

Reply