[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gprof/17102] New: Gprof of a multi threaded program using Boost::Si
From: |
dgotwisn at newfieldwireless dot com |
Subject: |
[Bug gprof/17102] New: Gprof of a multi threaded program using Boost::Signal2 produces an incomplete or wrong profile. |
Date: |
Mon, 30 Jun 2014 18:29:03 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=17102
Bug ID: 17102
Summary: Gprof of a multi threaded program using Boost::Signal2
produces an incomplete or wrong profile.
Product: binutils
Version: 2.20
Status: NEW
Severity: normal
Priority: P2
Component: gprof
Assignee: unassigned at sourceware dot org
Reporter: dgotwisn at newfieldwireless dot com
Running a multi threaded program built with Boost::Signal2 produces call stack
entries with fewer indices (left hand side) than are indicated by the callee's
(right hand side).
Code was built with G++ gcc (GCC) 4.8.1, gprof GNU gprof version
2.20.51.0.2-5.36.el6 20100205.
In looking at the gprof output of this progrm, the call tree lists 1832 items.
If you look at block 84, for example, it refers to an item 2319. I have found
at least 10 others that are larger than 1832 in the program.
This code was built with the following set as the last set of options given to
G++: -pg -O0 -fno-inline -fno-omit-frame-pointer
-fno-inline-functions-called-once -fno-optimize-sibling-calls
-fno-default-inline, so no inlining or other relevant optimizations should have
occurred. Without these, the profile collapses things and looses itself much
earlier.
Here is the block for 84:
-----------------------------------------------
0.00 0.00 1997300/1997300
boost::variant<boost::shared_ptr<void>,
boost::signals2::detail::foreign_void_shared_ptr,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_>::~variant()
[2319]
[84] 0.0 0.00 0.00 1997300
boost::variant<boost::shared_ptr<void>,
boost::signals2::detail::foreign_void_shared_ptr,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_>::destroy_content() [84] XXX I16
0.00 0.00 2026778/2026778
boost::detail::variant::destroyer::result_type
boost::variant<boost::shared_ptr<void>,
boost::signals2::detail::foreign_void_shared_ptr,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_, boost::detail::variant::void_,
boost::detail::variant::void_,
boost::detail::variant::void_>::internal_apply_visitor<boost::detail::variant::destroyer>(boost::detail::variant::destroyer&)
[69]
0.00 0.00 2023311/2023335
boost::detail::variant::destroyer::destroyer() [70]
0.00 0.00 1915477/1915501
boost::detail::variant::destroyer::~destroyer() [91]
-----------------------------------------------
Because this is proprietary code, and I am not a boost expert, I can't easily
attach a code sample that reproduces the problem.
--
You are receiving this mail because:
You are on the CC list for the bug.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug gprof/17102] New: Gprof of a multi threaded program using Boost::Signal2 produces an incomplete or wrong profile.,
dgotwisn at newfieldwireless dot com <=