<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi!<div><br></div><div>I have encountered two possible faults in librabbitmq (rabbitmq-c-fb6fca832fd2). I am trying to use that latest version customized with Perl Net::RabbitMQ on SLES 11 SP 1.</div><div><br></div><div>One is that amqp_simple_wait_frame and recv do not respond to messages being published to an exchange after rabbitmqctl stop_app, reset and start_app. That problem appears also with&nbsp;Net::RabbitMQ versions 0.2.2 and 0.2.0.</div><div><br></div><div>Another is that&nbsp;amqp_basic_get&nbsp;fails with error Operation not permitted&nbsp;after rabbitmqctl stop_app, reset and start_app.&nbsp;&nbsp;That problem appears also with&nbsp;Net::RabbitMQ versions 0.2.2 and 0.2.0, but there is a segmentation fault.</div><div><br></div><div>I got the following state in gdb with recv:</div><div><br></div><div><div>0x00007f38e70b7935 in recv () from /lib64/libpthread.so.0</div><div>(gdb) bt</div><div>#0 &nbsp;0x00007f38e70b7935 in recv () from /lib64/libpthread.so.0</div><div>#1 &nbsp;0x00007f38e5cfba4d in recv (__flags=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __n=&lt;value optimized out&gt;, __buf=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __fd=&lt;value optimized out&gt;) at /usr/include/bits/socket2.h:45</div><div>#2 &nbsp;wait_frame_inner (__flags=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __n=&lt;value optimized out&gt;, __buf=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __fd=&lt;value optimized out&gt;) at amqp_socket.c:182</div><div>#3 &nbsp;0x00007f38e5ce78b9 in internal_recv (RETVAL=0xbf4f68, conn=0xbe1440,&nbsp;</div><div>&nbsp; &nbsp; piggyback=0) at RabbitMQ.xs:77</div><div>#4 &nbsp;0x00007f38e5ce8566 in XS_Net__RabbitMQ_recv (</div><div>&nbsp; &nbsp; my_perl=&lt;value optimized out&gt;, cv=&lt;value optimized out&gt;) at RabbitMQ.xs:424</div><div>#5 &nbsp;0x000000000047e115 in Perl_pp_entersub ()</div><div>#6 &nbsp;0x0000000000455ad3 in Perl_runops_debug ()</div><div>#7 &nbsp;0x000000000047a1af in perl_run ()</div><div>#8 &nbsp;0x000000000042172c in main ()</div><div>(gdb) continue</div><div>Continuing.</div><div>^C</div><div>Program received signal SIGINT, Interrupt.</div><div>0x00007f38e70b7935 in recv () from /lib64/libpthread.so.0</div><div>(gdb) bt</div><div>#0 &nbsp;0x00007f38e70b7935 in recv () from /lib64/libpthread.so.0</div><div>#1 &nbsp;0x00007f38e5cfba4d in recv (__flags=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __n=&lt;value optimized out&gt;, __buf=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __fd=&lt;value optimized out&gt;) at /usr/include/bits/socket2.h:45</div><div>#2 &nbsp;wait_frame_inner (__flags=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __n=&lt;value optimized out&gt;, __buf=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __fd=&lt;value optimized out&gt;) at amqp_socket.c:182</div><div>#3 &nbsp;0x00007f38e5ce78b9 in internal_recv (RETVAL=0xbf4f68, conn=0xbe1440,&nbsp;</div><div>&nbsp; &nbsp; piggyback=0) at RabbitMQ.xs:77</div><div>#4 &nbsp;0x00007f38e5ce8566 in XS_Net__RabbitMQ_recv (</div><div>&nbsp; &nbsp; my_perl=&lt;value optimized out&gt;, cv=&lt;value optimized out&gt;) at RabbitMQ.xs:424</div><div>#5 &nbsp;0x000000000047e115 in Perl_pp_entersub ()</div><div>#6 &nbsp;0x0000000000455ad3 in Perl_runops_debug ()</div><div>#7 &nbsp;0x000000000047a1af in perl_run ()</div><div>#8 &nbsp;0x000000000042172c in main ()</div><div>(gdb) up</div><div>#1 &nbsp;0x00007f38e5cfba4d in recv (__flags=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __n=&lt;value optimized out&gt;, __buf=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __fd=&lt;value optimized out&gt;) at /usr/include/bits/socket2.h:45</div><div>45<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;return __recv_alias (__fd, __buf, __n, __flags);</div><div>(gdb) up</div><div>#2 &nbsp;wait_frame_inner (__flags=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __n=&lt;value optimized out&gt;, __buf=&lt;value optimized out&gt;,&nbsp;</div><div>&nbsp; &nbsp; __fd=&lt;value optimized out&gt;) at amqp_socket.c:182</div><div>182<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp;res = recv(state-&gt;sockfd, state-&gt;sock_inbound_buffer.bytes,</div><div>(gdb) up</div><div>#3 &nbsp;0x00007f38e5ce78b9 in internal_recv (RETVAL=0xbf4f68, conn=0xbe1440,&nbsp;</div><div>&nbsp; &nbsp; piggyback=0) at RabbitMQ.xs:77</div><div>77<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp; &nbsp;result = amqp_simple_wait_frame(conn, &amp;frame);</div><div>(gdb) print conn</div><div>$1 = (amqp_connection_state_t) 0xbe1440</div><div>(gdb) print *conn</div><div>$2 = {frame_pool = {pagesize = 131072, pages = {num_blocks = 5,&nbsp;</div><div>&nbsp; &nbsp; &nbsp; blocklist = 0xc5d4f0}, large_blocks = {num_blocks = 0, blocklist = 0x0},&nbsp;</div><div>&nbsp; &nbsp; next_page = 0, alloc_block = 0x0, alloc_used = 0}, decoding_pool = {</div><div>&nbsp; &nbsp; pagesize = 131072, pages = {num_blocks = 1, blocklist = 0xbf22e0},&nbsp;</div><div>&nbsp; &nbsp; large_blocks = {num_blocks = 0, blocklist = 0x0}, next_page = 0,&nbsp;</div><div>&nbsp; &nbsp; alloc_block = 0x0, alloc_used = 0}, state = CONNECTION_STATE_IDLE,&nbsp;</div><div>&nbsp; channel_max = 0, frame_max = 131072, heartbeat = 0, inbound_buffer = {</div><div>&nbsp; &nbsp; len = 131072, bytes = 0x0}, inbound_offset = 0, target_size = 7,&nbsp;</div><div>&nbsp; outbound_buffer = {len = 131072, bytes = 0xc67f90}, sockfd = 3,&nbsp;</div><div>&nbsp; sock_inbound_buffer = {len = 131072, bytes = 0x7f38e7b57010},&nbsp;</div><div>&nbsp; sock_inbound_offset = 79, sock_inbound_limit = 79, first_queued_frame = 0x0,&nbsp;</div><div>&nbsp; last_queued_frame = 0x0, most_recent_api_result = {</div><div>&nbsp; &nbsp; reply_type = AMQP_RESPONSE_NORMAL, reply = {id = 3932181,&nbsp;</div><div>&nbsp; &nbsp; &nbsp; decoded = 0x7f38e7af1038}, library_error = 0}}</div></div><div><br></div><div><br><div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>regards, Matti Linnanvuori</div></div></span></div>
</div>
<br></div></body></html>