[rabbitmq-discuss] Core down when invoking amqp_destroy_connection() of rabbitmq-c-0.5.0 stable version

Alan Antonuk alan.antonuk at gmail.com
Mon Jun 30 16:52:44 BST 2014


Looks like something has incorrectly written to the amqp_pool_t memory pool
(probably contained in the amqp_connection_state_t object). Without further
information about the program I cannot help you much further.

-Alan


On Mon, Jun 30, 2014 at 2:16 AM, 椰风 <1006798382 at qq.com> wrote:

> It looks like the pool num_blocks (=1342177400) ‍and blocklist(0x7fb850000bb0)
> members of pages‍ is incorrect.
> refer to,
> $7 = {pagesize = 132577, pages = {num_blocks = 1342177400, blocklist =
> 0x7fb850000bb0}, large_blocks = {num_blocks = 0, blocklist = 0x0},
> next_page = 0, alloc_block = 0x0, alloc_used = 0}‍
>
> platform: Centos 6.3 x86_64bits
>
> std output:
> [push at zwjf-jpush-conn09-247115 conn_v1]$ *** glibc detected ***
> /opt/push/bin/conn/conn_v1/tcp_interface_srv_v1: free(): invalid pointer:
> 0x00007fb8500214f8 ***
> ======= Backtrace: =========
> /lib64/libc.so.6[0x35dd676166]
> /opt/push/lib64/librabbitmq.so.1(+0xf45d)[0x7fb8804a145d]
> /opt/push/lib64/librabbitmq.so.1(empty_amqp_pool+0x28)[0x7fb8804a150a]
> /opt/push/lib64/librabbitmq.so.1(amqp_destroy_connection+0x53)
> [0x7fb8804a082f]‍
>
> more detail:
> #4 0x00007fb8804a145d in empty_blocklist (x=0x7fb850000e20) at
> /home/push/source/jim/jpush-server/server/external/src/rabbitmq-c-0.5.0/librabbitmq/amqp_mem.c:79
> 79 free(x->blocklist[i]);
> (gdb) l
> 74 static void empty_blocklist(amqp_pool_blocklist_t *x)
> 75 {
> 76 int i;
> 77
> 78 for (i = 0; i < x->num_blocks; i++) { 79 free(x->blocklist[i]); 80 }
> 81 if (x->blocklist != NULL) { 82 free(x->blocklist); 83 }
> (gdb) p *x
> $5 = {num_blocks = 1342177400, blocklist = 0x7fb850000bb0}
> (gdb) f 5
> #5 0x00007fb8804a150a in empty_amqp_pool (pool=0x7fb850000e18) at
> /home/push/source/jim/jpush-server/server/external/src/rabbitmq-c-0.5.0/librabbitmq/amqp_mem.c:99
> 99 empty_blocklist(&pool->pages);
> (gdb) l
> 94 }
> 95
> 96 void empty_amqp_pool(amqp_pool_t *pool)
> 97 { 98 recycle_amqp_pool(pool); 99 empty_blocklist(&pool->pages); 100 }
> 101
> 102 /* Returns 1 on success, 0 on failure */
> 103 static int record_pool_block(amqp_pool_blocklist_t *x, void *block)
> (gdb) p pool->pages
> $6 = {num_blocks = 1342177400, blocklist = 0x7fb850000bb0}
> (gdb) p *pool
> $7 = {pagesize = 132577, pages = {num_blocks = 1342177400, blocklist =
> 0x7fb850000bb0}, large_blocks = {num_blocks = 0, blocklist = 0x0},
> next_page = 0, alloc_block = 0x0, alloc_used = 0}
> (gdb)‍
>
>
>
> _______________________________________________
> rabbitmq-discuss mailing list has moved to
> https://groups.google.com/forum/#!forum/rabbitmq-users,
> please subscribe to the new list!
>
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20140630/3d4cd1d3/attachment.html>


More information about the rabbitmq-discuss mailing list