Skip to content

Instantly share code, notes, and snippets.

@drbobbeaty
Created March 22, 2011 13:01
Show Gist options
  • Save drbobbeaty/881176 to your computer and use it in GitHub Desktop.
Save drbobbeaty/881176 to your computer and use it in GitHub Desktop.
Core Dump for ZeroMQ 2.1.3 with OpenPGM (epgm)
If the core dump is right, the value of minor_bucket is 0x27c38b0 - and the check in the code is for it not being NULL. Seems to me to be next to impossible to have this be the case.
Core was generated by `./TickerPlant OPRA_15 -m2 -nD -lI -F../logs/pslchi6dngdbus2'.
Program terminated with signal 6, Aborted.
#0 0x00002aefb17cda75 in raise () from /lib/libc.so.6
(gdb) bt
#0 0x00002aefb17cda75 in raise () from /lib/libc.so.6
#1 0x00002aefb17d15c0 in abort () from /lib/libc.so.6
#2 0x00002aefb10cfd9d in pgm_rate_check2 (major_bucket=0x27c3880, minor_bucket=0x27c38b0, data_size=0, is_nonblocking=<value optimized out>) at rate_control.c:89
#3 0x00002aefb10c4bdc in send_odata_copy (sock=0x27c2100, tsdu=<value optimized out>, tsdu_length=4, bytes_written=<value optimized out>) at source.c:1351
#4 0x00002aefb10c5934 in pgm_send (sock=0x27c2100, apdu=<value optimized out>, apdu_length=6, bytes_written=<value optimized out>) at source.c:1824
#5 0x00002aefb1097654 in zmq::pgm_socket_t::send (this=0x6e4ca0, data_=0x4f62 <Address 0x4f62 out of bounds>, data_len_=6) at pgm_socket.cpp:465
#6 0x00002aefb10960dc in zmq::pgm_sender_t::out_event (this=0x6e4c00) at pgm_sender.cpp:184
#7 0x00002aefb108e37e in zmq::epoll_t::loop (this=0x6d7a20) at epoll.cpp:157
#8 0x00002aefb10a3c46 in thread_routine (arg_=0x6d7a90) at thread.cpp:71
#9 0x00002aefb1b239ca in start_thread () from /lib/libpthread.so.0
#10 0x00002aefb188070d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()
PGM_GNUC_INTERNAL
bool
pgm_rate_check2 (
pgm_rate_t* major_bucket,
pgm_rate_t* minor_bucket,
const size_t data_size,
const bool is_nonblocking
)
{
int64_t new_major_limit, new_minor_limit;
pgm_time_t now;
/* pre-conditions */
pgm_assert (NULL != major_bucket);
pgm_assert (NULL != minor_bucket); // this is line 89!
pgm_assert (data_size > 0);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment