libzmq: problem: cannot get stack trace

I’m trying to debug libzmq and cannot stack trace on assert, I’m trying the following:

void* callstack[128];
int i, frames = backtrace(callstack, 128);
char** strs = backtrace_symbols(callstack, frames);
for (i = 0; i < frames; ++i) {
  printf("%s\n", strs[i]);
}
free(strs);

But I don’t get the methods names, for example:

/home/somdoron/git/libzmq/src/.libs/libzmq.so.5(+0x189c0) [0x7ff8c9ad29c0]
/home/somdoron/git/libzmq/src/.libs/libzmq.so.5(+0x11bc0) [0x7ff8c9acbbc0]
/home/somdoron/git/libzmq/src/.libs/libzmq.so.5(+0x183b2) [0x7ff8c9ad23b2]
/home/somdoron/git/libzmq/tests/.libs/lt-test_inproc_connect() [0x403231]
/home/somdoron/git/libzmq/tests/.libs/lt-test_inproc_connect() [0x401076]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7ff8c94f2a40]
/home/somdoron/git/libzmq/tests/.libs/lt-test_inproc_connect() [0x4010b9]

I try to configure with --enable-debug, but output is the same.

I’m actually using the libzmq tests (make check), so how do I compile the tests with symbols of libzmq? Platform is Ubuntu and using autotools.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 15 (15 by maintainers)

Most upvoted comments

Will send as soon as I clean it up. Also managed to get demangled names:

0: src/.libs/libzmq.so.5 (zmq::mailbox_safe_t::send(zmq::command_t const&)+0x23) [0x7fcebb6f19b9]
1: src/.libs/libzmq.so.5 (zmq::ctx_t::send_command(unsigned int, zmq::command_t const&)+0x59) [0x7fcebb6d4f47]
2: src/.libs/libzmq.so.5 (zmq::object_t::send_command(zmq::command_t&)+0x37) [0x7fcebb6fc6d1]
3: src/.libs/libzmq.so.5 (zmq::object_t::send_own(zmq::own_t*, zmq::own_t*)+0x62) [0x7fcebb6fbc54]
4: src/.libs/libzmq.so.5 (zmq::own_t::launch_child(zmq::own_t*)+0x52) [0x7fcebb6fffd0]
5: src/.libs/libzmq.so.5 (zmq::socket_base_t::add_endpoint(char const*, zmq::own_t*, zmq::pipe_t*)+0x2c) [0x7fcebb719c0c]
6: src/.libs/libzmq.so.5 (zmq::socket_base_t::bind(char const*)+0x546) [0x7fcebb718374]
7: src/.libs/libzmq.so.5 (zmq_bind+0x67) [0x7fcebb73b0eb]
8: tests/.libs/test_thread_safe (main+0x5c) [0x402377]
9: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf5) [0x7fceba6f1b45]
10: tests/.libs/test_thread_safe (_start+0x29) [0x4012f9]
11: ? (+0x29) [0x29]
Resource deadlock avoided (src/mutex.hpp:173)
Aborted (core dumped)