bug-binutils
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]