Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4999 Discussions

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

omers1
Beginner
484 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
484 Views

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

http://premier.intel.com

cheers

jdg

0 Kudos
Reply