Hello!
On Fri, Jun 26, 2015 at 6:53 AM, S wrote:
> Thanks for the cool sample-bt tool. When I use it with some applications,
> sample-bt fails with "ERROR: too many pending (error) messages". Could you
> please comment how we can fix this? Detailed output is as below. Thanks!
Well, some suggestions:
1. Try the latest version of systemtap and elfutils from their
official releases (please see
http://openresty.org/#BuildSystemtap for
instructions)
2. Ensure your boost and protobuf builds have debug symbols enabled by
passing -g to gcc/g++ while compiling *every* single source file in
those projects.
3. Ensure your gcc/g++ version is recent enough. The quality of the
debug symbols generated by gcc 4.5+ is significantly better than older
versions. Generally, the newer, the better.
4. Try to use shorter sampling intervals if it makes sense.
> undefined symbol: _ZN5boost15program_options6detail7cmdline5styleEi (/home/..) --> ...
> undefined symbol: _ZNK6google8protobuf7Message9SpaceUsedEv (/home/..)
Using c++filt can get the original C++ names:
$ echo _ZN5boost15program_options6detail7cmdline5styleEi | c++filt
boost::program_options::detail::cmdline::style(int)
$ echo _ZNK6google8protobuf7Message9SpaceUsedEv | c++filt
google::protobuf::Message::SpaceUsed() const
These names may give you directions.
Generally, these "undefined symbol" warnings can be safely ignored.
Are you sure you're not getting other things?
Regards,
-agentzh