From: <ni...@ma...> - 2005-12-30 11:21:38
|
opreport -lg fails with basic_string::_S_construct NULL not valid An exception seems to be thrown by libstdc++ call stack when exception is thrown: #0 0xb7ece6eb in __cxa_throw () from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6 #1 0xb7e6f953 in std::__throw_logic_error () from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6 #2 0xb7eb0c14 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string () from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6 #3 0xb7eb0cd6 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string () from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6 #4 0x080ae019 in find_nearest_line (b=@0xbffd3d60, sym=@0xa841a20, offset=16096) at bfd_support.cpp:537 #5 0x080a915d in op_bfd::get_linenr (this=0xbffd3d40, sym_idx=1, offset=16096, source_filename=@0xbffd3c10, linenr=@0xbffd3c4c) at op_bfd.cpp:338 #6 0x08088dbe in profile_container::add (this=0xbffd3e50, profile=@0xbffd3cd0, abfd=@0xbffd3d40, app_name=@0x8112bf8, pclass=0) at profile_container.cpp:101 #7 0x08087026 in populate_for_image (archive_path=@0x80e51d0, samples=@0xbffd3e50, ip=@0x8121840, symbol_filter=@0x80e51e0, has_debug_info=0x0) at populate.cpp:85 #8 0x0804e4b5 in (anonymous namespace)::opreport (spec=@0xbffd3f10) at opreport.cpp:529 #9 0x08060c05 in run_pp_tool (argc=2, argv=0xbffd3ff4, fct=0x804df46 <(anonymous namespace)::opreport(options::spec const&)>) at common_option.cpp:193 #10 0x0804e598 in main (argc=2, argv=0xbffd3ff4) at opreport.cpp:544 Thanks in advance for your help ! |
From: Roger <wa...@us...> - 2008-09-26 07:17:29
|
oprofile version: 0.9.4; libbfd comes with (binutils-2.15.92.0.2-25 in rhel4) gcc (GCC) 3.4.6 20060404 (gdb) bt #0 0x0000003e875af240 in __cxa_throw () from /usr/lib64/libstdc++.so.6 #1 0x0000003e87551bf0 in std::__throw_logic_error () from /usr/lib64/libstdc++.so.6 #2 0x0000003e87592706 in ?? () from /usr/lib64/libstdc++.so.6 #3 0x0000003e875927b3 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string () from /usr/lib64/libstdc++.so.6 #4 0x00000000004810f0 in op_bfd (this=0x7fbfffe830, fname=<value optimized out>, symbol_filter=@0x638000, extra_images=<value optimized out>, ok=<value optimized out>) at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ext/new_allocator.h:62 #5 0x000000000045099e in populate_for_image (samples=@0x7fbfffead0, ip=@0x64ed40, symbol_filter=@0x638000, has_debug_info=0x0) at populate.cpp:70 #6 0x000000000040ac4f in (anonymous namespace)::opreport (spec=<value optimized out>) at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_list.h:131 #7 0x000000000041a723 in run_pp_tool (argc=<value optimized out>, argv=0x7fbfffedc8, fct=0x40a830 <(anonymous namespace)::opreport(options::spec const&)>) at common_option.cpp:210 #8 0x0000003e84c1c3fb in __libc_start_main () from /lib64/tls/libc.so.6 #9 0x0000000000406d1a in _start () (gdb) frame 5 #5 0x000000000045099e in populate_for_image (samples=@0x7fbfffead0, ip=@0x64ed40, symbol_filter=@0x638000, has_debug_info=0x0) at populate.cpp:70 70 samples.extra_found_images, ok); (gdb) p ip.image $9 = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x655458 "/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so"}} (gdb) p samples.extra_found_images $10 = {images = {_M_t = { _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7fbfffeb20, _M_right = 0x7fbfffeb20}, _M_node_count = 0}}}, archive_path = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x637778 ""}}, root_path = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x637778 ""}}, uid = 3, static suid = 4} Thanks in advance. -- You may say I am a dreamer, but I am not the only one. |
From: WenRui <we...@gm...> - 2008-09-27 02:18:21
|
Hi, Here is an error report: oprofile version: 0.9.4; libbfd comes with (binutils-2.15.92.0.2-25 in rhel4) gcc (GCC) 3.4.6 20060404 (gdb) bt #0 0x0000003e875af240 in __cxa_throw () from /usr/lib64/libstdc++.so.6 #1 0x0000003e87551bf0 in std::__throw_logic_error () from /usr/lib64/libstdc++.so.6 #2 0x0000003e87592706 in ?? () from /usr/lib64/libstdc++.so.6 #3 0x0000003e875927b3 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string () from /usr/lib64/libstdc++.so.6 #4 0x00000000004810f0 in op_bfd (this=0x7fbfffe830, fname=<value optimized out>, symbol_filter=@0x638000, extra_images=<value optimized out>, ok=<value optimized out>) at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ext/new_allocator.h:62 #5 0x000000000045099e in populate_for_image (samples=@0x7fbfffead0, ip=@0x64ed40, symbol_filter=@0x638000, has_debug_info=0x0) at populate.cpp:70 #6 0x000000000040ac4f in (anonymous namespace)::opreport (spec=<value optimized out>) at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_list.h:131 #7 0x000000000041a723 in run_pp_tool (argc=<value optimized out>, argv=0x7fbfffedc8, fct=0x40a830 <(anonymous namespace)::opreport(options::spec const&)>) at common_option.cpp:210 #8 0x0000003e84c1c3fb in __libc_start_main () from /lib64/tls/libc.so.6 #9 0x0000000000406d1a in _start () (gdb) frame 5 #5 0x000000000045099e in populate_for_image (samples=@0x7fbfffead0, ip=@0x64ed40, symbol_filter=@0x638000, has_debug_info=0x0) at populate.cpp:70 70 samples.extra_found_images, ok); (gdb) p ip.image $9 = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x655458 "/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so"}} (gdb) p samples.extra_found_images $10 = {images = {_M_t = { _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >> = {<No data fields>}, <No data fields>}, _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x7fbfffeb20, _M_right = 0x7fbfffeb20}, _M_node_count = 0}}}, archive_path = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x637778 ""}}, root_path = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x637778 ""}}, uid = 3, static suid = 4} Thanks in advance. -- You may say I am a dreamer, but I am not the only one. |
From: Maynard J. <may...@us...> - 2008-10-03 14:02:42
|
WenRui wrote: > Hi, > > Here is an error report: > > oprofile version: 0.9.4; libbfd comes with (binutils-2.15.92.0.2-25 in rhel4) > gcc (GCC) 3.4.6 20060404 I don't have an x86_64 with RHEL4 installed, so I built and installed oprofile 0.9.4 on a rhel4 U3 POWER4 system with gcc 4.1.2. My testcase works fine. You'll need to provide more info. Does this fail consistently? Please remove /root/.oporofile/daemonrc and the entire /var/lib/oprofile directory and run the profiler again? Do you still see the failure? What options are you using with opreport? If it still fails, run opreport with '--verbose=all' and see if the verbose output provides any clues. Thanks. -Maynard > > (gdb) bt > > #0 0x0000003e875af240 in __cxa_throw () from /usr/lib64/libstdc++.so.6 > > #1 0x0000003e87551bf0 in std::__throw_logic_error () from > /usr/lib64/libstdc++.so.6 > > #2 0x0000003e87592706 in ?? () from /usr/lib64/libstdc++.so.6 > > #3 0x0000003e875927b3 in std::basic_string<char, > std::char_traits<char>, std::allocator<char> >::basic_string () > > from /usr/lib64/libstdc++.so.6 > > #4 0x00000000004810f0 in op_bfd (this=0x7fbfffe830, fname=<value > optimized out>, symbol_filter=@0x638000, > > extra_images=<value optimized out>, ok=<value optimized out>) > > at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ext/new_allocator.h:62 > > #5 0x000000000045099e in populate_for_image (samples=@0x7fbfffead0, > ip=@0x64ed40, symbol_filter=@0x638000, > > has_debug_info=0x0) at populate.cpp:70 > > #6 0x000000000040ac4f in (anonymous namespace)::opreport (spec=<value > optimized out>) > > at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_list.h:131 > > #7 0x000000000041a723 in run_pp_tool (argc=<value optimized out>, > argv=0x7fbfffedc8, > > fct=0x40a830 <(anonymous namespace)::opreport(options::spec > const&)>) at common_option.cpp:210 > > #8 0x0000003e84c1c3fb in __libc_start_main () from /lib64/tls/libc.so.6 > > #9 0x0000000000406d1a in _start () > > (gdb) frame 5 > > #5 0x000000000045099e in populate_for_image (samples=@0x7fbfffead0, > ip=@0x64ed40, symbol_filter=@0x638000, > > has_debug_info=0x0) at populate.cpp:70 > > 70 samples.extra_found_images, ok); > > (gdb) p ip.image > > $9 = {static npos = 18446744073709551615, > > _M_dataplus = {<std::allocator<char>> = > {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data > fields>}, > > _M_p = 0x655458 "/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so"}} > > (gdb) p samples.extra_found_images > > $10 = {images = {_M_t = { > > _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const > std::basic_string<char, std::char_traits<char>, std::allocator<char> >> , std::basic_string<char, std::char_traits<char>, > std::allocator<char> > > > >> = > {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const > std::basic_string<char, std::char_traits<char>, std::allocator<char> >> , std::basic_string<char, std::char_traits<char>, > std::allocator<char> > > > >> = {<No data fields>}, <No data fields>}, > > _M_key_compare = > {<std::binary_function<std::basic_string<char, std::char_traits<char>, > std::allocator<char> >,std::basic_string<char, std::char_traits<char>, > std::allocator<char> >,bool>> = {<No data fields>}, <No data fields>}, > > _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left > = 0x7fbfffeb20, _M_right = 0x7fbfffeb20}, > > _M_node_count = 0}}}, archive_path = {static npos = > 18446744073709551615, > > _M_dataplus = {<std::allocator<char>> = > {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data > fields>}, > > _M_p = 0x637778 ""}}, root_path = {static npos = 18446744073709551615, > > _M_dataplus = {<std::allocator<char>> = > {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data > fields>}, > > _M_p = 0x637778 ""}}, uid = 3, static suid = 4} > > Thanks in advance. > > -- > You may say I am a dreamer, but I am not the only one. > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list |
From: WenRui <we...@gm...> - 2008-10-06 05:13:40
|
Hi Maynard, Thanks for replying. Yes, it fails every time. I removed the files and directories you mentioned, but it still failed. the command line and output for opreport is: ============ >8 ======================= sudo opreport --verbose=all -l /opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so /opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so Archive: Matched sample files: 1 /var/lib/oprofile/samples/current/{root}/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so/{dep}/{root}/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so/CPU_CLK_UNHALTED.100000.0.all.all.all profile_classes: event: cpuinfo: CPU: Core 2, speed 2925.88 MHz (estimated) class #0: name: CPU_CLK_UNHALTED:100000 longname: Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 ptemplate: event: CPU_CLK_UNHALTED count: 100000 unitmask: 0 tgid: all tid: all cpu: all profiles_set #0: image: /opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so profile_sample_files #0: sample_filename: /var/lib/oprofile/samples/current/{root}/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so/{dep}/{root}/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so/CPU_CLK_UNHALTED.100000.0.all.all.all callgraph filenames: CPU: Core 2, speed 2925.88 MHz (estimated) Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 op_bfd ctor for /opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so opreport error: basic_string::_S_construct NULL not valid ============ 8< ======================= I am profiling java application. Thanks. Roger On Fri, Oct 3, 2008 at 10:02 PM, Maynard Johnson <may...@us...> wrote: > WenRui wrote: >> Hi, >> >> Here is an error report: >> >> oprofile version: 0.9.4; libbfd comes with (binutils-2.15.92.0.2-25 in rhel4) >> gcc (GCC) 3.4.6 20060404 > I don't have an x86_64 with RHEL4 installed, so I built and installed oprofile 0.9.4 on a rhel4 U3 POWER4 system with gcc 4.1.2. My testcase works fine. You'll need to provide more info. Does this fail consistently? Please remove /root/.oporofile/daemonrc and the entire /var/lib/oprofile directory and run the profiler again? Do you still see the failure? What options are you using with opreport? If it still fails, run opreport with '--verbose=all' and see if the verbose output provides any clues. > > Thanks. > -Maynard >> >> (gdb) bt >> >> #0 0x0000003e875af240 in __cxa_throw () from /usr/lib64/libstdc++.so.6 >> >> #1 0x0000003e87551bf0 in std::__throw_logic_error () from >> /usr/lib64/libstdc++.so.6 >> >> #2 0x0000003e87592706 in ?? () from /usr/lib64/libstdc++.so.6 >> >> #3 0x0000003e875927b3 in std::basic_string<char, >> std::char_traits<char>, std::allocator<char> >::basic_string () >> >> from /usr/lib64/libstdc++.so.6 >> >> #4 0x00000000004810f0 in op_bfd (this=0x7fbfffe830, fname=<value >> optimized out>, symbol_filter=@0x638000, >> >> extra_images=<value optimized out>, ok=<value optimized out>) >> >> at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ext/new_allocator.h:62 >> >> #5 0x000000000045099e in populate_for_image (samples=@0x7fbfffead0, >> ip=@0x64ed40, symbol_filter=@0x638000, >> >> has_debug_info=0x0) at populate.cpp:70 >> >> #6 0x000000000040ac4f in (anonymous namespace)::opreport (spec=<value >> optimized out>) >> >> at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_list.h:131 >> >> #7 0x000000000041a723 in run_pp_tool (argc=<value optimized out>, >> argv=0x7fbfffedc8, >> >> fct=0x40a830 <(anonymous namespace)::opreport(options::spec >> const&)>) at common_option.cpp:210 >> >> #8 0x0000003e84c1c3fb in __libc_start_main () from /lib64/tls/libc.so.6 >> >> #9 0x0000000000406d1a in _start () >> >> (gdb) frame 5 >> >> #5 0x000000000045099e in populate_for_image (samples=@0x7fbfffead0, >> ip=@0x64ed40, symbol_filter=@0x638000, >> >> has_debug_info=0x0) at populate.cpp:70 >> >> 70 samples.extra_found_images, ok); >> >> (gdb) p ip.image >> >> $9 = {static npos = 18446744073709551615, >> >> _M_dataplus = {<std::allocator<char>> = >> {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data >> fields>}, >> >> _M_p = 0x655458 "/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so"}} >> >> (gdb) p samples.extra_found_images >> >> $10 = {images = {_M_t = { >> >> _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const >> std::basic_string<char, std::char_traits<char>, std::allocator<char> >>> , std::basic_string<char, std::char_traits<char>, >> std::allocator<char> > > > >> = >> {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const >> std::basic_string<char, std::char_traits<char>, std::allocator<char> >>> , std::basic_string<char, std::char_traits<char>, >> std::allocator<char> > > > >> = {<No data fields>}, <No data fields>}, >> >> _M_key_compare = >> {<std::binary_function<std::basic_string<char, std::char_traits<char>, >> std::allocator<char> >,std::basic_string<char, std::char_traits<char>, >> std::allocator<char> >,bool>> = {<No data fields>}, <No data fields>}, >> >> _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left >> = 0x7fbfffeb20, _M_right = 0x7fbfffeb20}, >> >> _M_node_count = 0}}}, archive_path = {static npos = >> 18446744073709551615, >> >> _M_dataplus = {<std::allocator<char>> = >> {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data >> fields>}, >> >> _M_p = 0x637778 ""}}, root_path = {static npos = 18446744073709551615, >> >> _M_dataplus = {<std::allocator<char>> = >> {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data >> fields>}, >> >> _M_p = 0x637778 ""}}, uid = 3, static suid = 4} >> >> Thanks in advance. >> >> -- >> You may say I am a dreamer, but I am not the only one. >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >> Build the coolest Linux based applications with Moblin SDK & win great prizes >> Grand prize is a trip for two to an Open Source event anywhere in the world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> oprofile-list mailing list >> opr...@li... >> https://lists.sourceforge.net/lists/listinfo/oprofile-list > > -- You may say I am a dreamer, but I am not the only one. |
From: Maynard J. <may...@us...> - 2008-10-07 23:35:50
|
WenRui wrote: > Hi Maynard, > > Thanks for replying. > > Yes, it fails every time. I removed the files and directories you > mentioned, but it still failed. the command line and output for > opreport is: > > ============ >8 ======================= > sudo opreport --verbose=all -l /opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so Does opreport fail if you specify some other binary besides libjvm.so? >From the output below (and from your gdb backtrace output), it's dying in the op_bfd constructor somewhere, but I'm not seeing where the problem is. Can you download the oprofile 0.9.4 release from the oprofile website, and build/install it. Then get the gdb backtrace with the newly-built version so we can see source file/line number info. Thanks. -Maynard > > /opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so > > > > Archive: > > Matched sample files: 1 > > /var/lib/oprofile/samples/current/{root}/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so/{dep}/{root}/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so/CPU_CLK_UNHALTED.100000.0.all.all.all > > profile_classes: > > event: > > cpuinfo: CPU: Core 2, speed 2925.88 MHz (estimated) > > class #0: > > name: CPU_CLK_UNHALTED:100000 > > longname: Counted CPU_CLK_UNHALTED events (Clock cycles when not > halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000 > > ptemplate: > > event: CPU_CLK_UNHALTED > > count: 100000 > > unitmask: 0 > > tgid: all > > tid: all > > cpu: all > > profiles_set #0: > > image: /opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so > > profile_sample_files #0: > > sample_filename: > /var/lib/oprofile/samples/current/{root}/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so/{dep}/{root}/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so/CPU_CLK_UNHALTED.100000.0.all.all.all > > callgraph filenames: > > > > CPU: Core 2, speed 2925.88 MHz (estimated) > > Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a > unit mask of 0x00 (Unhalted core cycles) count 100000 > > op_bfd ctor for /opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so > > opreport error: basic_string::_S_construct NULL not valid > > ============ 8< ======================= > > I am profiling java application. > > Thanks. > > Roger > > On Fri, Oct 3, 2008 at 10:02 PM, Maynard Johnson <may...@us...> wrote: >> WenRui wrote: >>> Hi, >>> >>> Here is an error report: >>> >>> oprofile version: 0.9.4; libbfd comes with (binutils-2.15.92.0.2-25 in rhel4) >>> gcc (GCC) 3.4.6 20060404 >> I don't have an x86_64 with RHEL4 installed, so I built and installed oprofile 0.9.4 on a rhel4 U3 POWER4 system with gcc 4.1.2. My testcase works fine. You'll need to provide more info. Does this fail consistently? Please remove /root/.oporofile/daemonrc and the entire /var/lib/oprofile directory and run the profiler again? Do you still see the failure? What options are you using with opreport? If it still fails, run opreport with '--verbose=all' and see if the verbose output provides any clues. >> >> Thanks. >> -Maynard >>> (gdb) bt >>> >>> #0 0x0000003e875af240 in __cxa_throw () from /usr/lib64/libstdc++.so.6 >>> >>> #1 0x0000003e87551bf0 in std::__throw_logic_error () from >>> /usr/lib64/libstdc++.so.6 >>> >>> #2 0x0000003e87592706 in ?? () from /usr/lib64/libstdc++.so.6 >>> >>> #3 0x0000003e875927b3 in std::basic_string<char, >>> std::char_traits<char>, std::allocator<char> >::basic_string () >>> >>> from /usr/lib64/libstdc++.so.6 >>> >>> #4 0x00000000004810f0 in op_bfd (this=0x7fbfffe830, fname=<value >>> optimized out>, symbol_filter=@0x638000, >>> >>> extra_images=<value optimized out>, ok=<value optimized out>) >>> >>> at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/ext/new_allocator.h:62 >>> >>> #5 0x000000000045099e in populate_for_image (samples=@0x7fbfffead0, >>> ip=@0x64ed40, symbol_filter=@0x638000, >>> >>> has_debug_info=0x0) at populate.cpp:70 >>> >>> #6 0x000000000040ac4f in (anonymous namespace)::opreport (spec=<value >>> optimized out>) >>> >>> at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/bits/stl_list.h:131 >>> >>> #7 0x000000000041a723 in run_pp_tool (argc=<value optimized out>, >>> argv=0x7fbfffedc8, >>> >>> fct=0x40a830 <(anonymous namespace)::opreport(options::spec >>> const&)>) at common_option.cpp:210 >>> >>> #8 0x0000003e84c1c3fb in __libc_start_main () from /lib64/tls/libc.so.6 >>> >>> #9 0x0000000000406d1a in _start () >>> >>> (gdb) frame 5 >>> >>> #5 0x000000000045099e in populate_for_image (samples=@0x7fbfffead0, >>> ip=@0x64ed40, symbol_filter=@0x638000, >>> >>> has_debug_info=0x0) at populate.cpp:70 >>> >>> 70 samples.extra_found_images, ok); >>> >>> (gdb) p ip.image >>> >>> $9 = {static npos = 18446744073709551615, >>> >>> _M_dataplus = {<std::allocator<char>> = >>> {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data >>> fields>}, >>> >>> _M_p = 0x655458 "/opt/jdk1.6.0_05/jre/lib/amd64/server/libjvm.so"}} >>> >>> (gdb) p samples.extra_found_images >>> >>> $10 = {images = {_M_t = { >>> >>> _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<const >>> std::basic_string<char, std::char_traits<char>, std::allocator<char> >>>> , std::basic_string<char, std::char_traits<char>, >>> std::allocator<char> > > > >> = >>> {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const >>> std::basic_string<char, std::char_traits<char>, std::allocator<char> >>>> , std::basic_string<char, std::char_traits<char>, >>> std::allocator<char> > > > >> = {<No data fields>}, <No data fields>}, >>> >>> _M_key_compare = >>> {<std::binary_function<std::basic_string<char, std::char_traits<char>, >>> std::allocator<char> >,std::basic_string<char, std::char_traits<char>, >>> std::allocator<char> >,bool>> = {<No data fields>}, <No data fields>}, >>> >>> _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left >>> = 0x7fbfffeb20, _M_right = 0x7fbfffeb20}, >>> >>> _M_node_count = 0}}}, archive_path = {static npos = >>> 18446744073709551615, >>> >>> _M_dataplus = {<std::allocator<char>> = >>> {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data >>> fields>}, >>> >>> _M_p = 0x637778 ""}}, root_path = {static npos = 18446744073709551615, >>> >>> _M_dataplus = {<std::allocator<char>> = >>> {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data >>> fields>}, >>> >>> _M_p = 0x637778 ""}}, uid = 3, static suid = 4} >>> >>> Thanks in advance. >>> >>> -- >>> You may say I am a dreamer, but I am not the only one. >>> >>> ------------------------------------------------------------------------- >>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>> Grand prize is a trip for two to an Open Source event anywhere in the world >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>> _______________________________________________ >>> oprofile-list mailing list >>> opr...@li... >>> https://lists.sourceforge.net/lists/listinfo/oprofile-list >> > > > |
From: Philippe E. <ph...@wa...> - 2005-12-30 11:47:49
|
On Fri, 30 Dec 2005 at 12:21 +0000, ni...@ma... wrote: > opreport -lg fails with basic_string::_S_construct NULL not valid > > An exception seems to be thrown by libstdc++ > call stack when exception is thrown: > #0 0xb7ece6eb in __cxa_throw () > from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6 > #1 0xb7e6f953 in std::__throw_logic_error () > from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6 > #2 0xb7eb0c14 in std::basic_string<char, std::char_traits<char>, > std::allocator<char> >::basic_string () > from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6 > #3 0xb7eb0cd6 in std::basic_string<char, std::char_traits<char>, > std::allocator<char> >::basic_string () > from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6 > #4 0x080ae019 in find_nearest_line (b=@0xbffd3d60, sym=@0xa841a20, > offset=16096) at bfd_support.cpp:537 > #5 0x080a915d in op_bfd::get_linenr (this=0xbffd3d40, sym_idx=1, > offset=16096, source_filename=@0xbffd3c10, linenr=@0xbffd3c4c) at > op_bfd.cpp:338 > #6 0x08088dbe in profile_container::add (this=0xbffd3e50, > profile=@0xbffd3cd0, abfd=@0xbffd3d40, app_name=@0x8112bf8, pclass=0) > at profile_container.cpp:101 > #7 0x08087026 in populate_for_image (archive_path=@0x80e51d0, > samples=@0xbffd3e50, ip=@0x8121840, symbol_filter=@0x80e51e0, > has_debug_info=0x0) > at populate.cpp:85 > #8 0x0804e4b5 in (anonymous namespace)::opreport (spec=@0xbffd3f10) at > opreport.cpp:529 > #9 0x08060c05 in run_pp_tool (argc=2, argv=0xbffd3ff4, fct=0x804df46 > <(anonymous namespace)::opreport(options::spec const&)>) > at common_option.cpp:193 > #10 0x0804e598 in main (argc=2, argv=0xbffd3ff4) at opreport.cpp:544 > > Thanks in advance for your help ! Not the first time we get something related to this bug but the first stack trace we get, helpfull! Can you provide your libbfd, gcc and oprofile version. Try this patch too: regards, Philippe Elie Index: libutil++/bfd_support.cpp =================================================================== RCS file: /cvsroot/oprofile/oprofile/libutil++/bfd_support.cpp,v retrieving revision 1.2 diff -u -p -r1.2 bfd_support.cpp --- libutil++/bfd_support.cpp 2 Jun 2005 20:24:46 -0000 1.2 +++ libutil++/bfd_support.cpp 30 Dec 2005 11:43:31 -0000 @@ -531,7 +531,7 @@ find_nearest_line(bfd_info const & b, op ret = bfd_find_nearest_line(abfd, section, syms, pc, &cfilename, &function, &linenr); - if (!ret || !cfilename) + if (!ret || !cfilename && !function) goto fail; if (!is_correct_function(function, sym.name())) |
From: Philippe E. <ph...@wa...> - 2005-12-30 11:57:50
|
On Fri, 30 Dec 2005 at 12:51 +0000, Philippe Elie wrote: oops > RCS file: /cvsroot/oprofile/oprofile/libutil++/bfd_support.cpp,v > retrieving revision 1.2 > diff -u -p -r1.2 bfd_support.cpp > --- libutil++/bfd_support.cpp 2 Jun 2005 20:24:46 -0000 1.2 > +++ libutil++/bfd_support.cpp 30 Dec 2005 11:43:31 -0000 > @@ -531,7 +531,7 @@ find_nearest_line(bfd_info const & b, op > ret = bfd_find_nearest_line(abfd, section, syms, pc, &cfilename, > &function, &linenr); > > - if (!ret || !cfilename) > + if (!ret || !cfilename && !function) ^^ oops > goto fail; > > if (!is_correct_function(function, sym.name())) > try this one rather :) regards, Philippe Elie Index: libutil++/bfd_support.cpp =================================================================== RCS file: /cvsroot/oprofile/oprofile/libutil++/bfd_support.cpp,v retrieving revision 1.2 diff -u -p -r1.2 bfd_support.cpp --- libutil++/bfd_support.cpp 2 Jun 2005 20:24:46 -0000 1.2 +++ libutil++/bfd_support.cpp 30 Dec 2005 11:54:59 -0000 @@ -531,7 +531,7 @@ find_nearest_line(bfd_info const & b, op ret = bfd_find_nearest_line(abfd, section, syms, pc, &cfilename, &function, &linenr); - if (!ret || !cfilename) + if (!ret || !cfilename || !function) goto fail; if (!is_correct_function(function, sym.name())) |
From: Nicolas S. <ni...@ma...> - 2005-12-30 12:34:51
|
this patch fixed my problem ! My gcc version is 3.4.5, oprofile is 0.9.1, libbfd is 2.16.1. Thanks, nicolas On Friday 30 December 2005 13:01, Philippe Elie wrote: > On Fri, 30 Dec 2005 at 12:51 +0000, Philippe Elie wrote: > > oops > > > RCS file: /cvsroot/oprofile/oprofile/libutil++/bfd_support.cpp,v > > retrieving revision 1.2 > > diff -u -p -r1.2 bfd_support.cpp > > --- libutil++/bfd_support.cpp 2 Jun 2005 20:24:46 -0000 1.2 > > +++ libutil++/bfd_support.cpp 30 Dec 2005 11:43:31 -0000 > > @@ -531,7 +531,7 @@ find_nearest_line(bfd_info const & b, op > > ret = bfd_find_nearest_line(abfd, section, syms, pc, &cfilename, > > &function, &linenr); > > > > - if (!ret || !cfilename) > > + if (!ret || !cfilename && !function) > > ^^ oops > > > goto fail; > > > > if (!is_correct_function(function, sym.name())) > > try this one rather :) > > regards, > Philippe Elie > |