|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2012-05-24 20:38 UTC] soichih at gmail dot com
[2012-08-26 03:56 UTC] pdezwart@php.net
[2012-08-26 03:56 UTC] pdezwart@php.net
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: pdezwart
[2012-08-27 12:58 UTC] soichih at gmail dot com
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 12:00:01 2025 UTC |
Description: ------------ When I call AMQPQueue::get() immediately after calling AMQPExchange::publish() using the same AMQPChannel object, get() will block indefinitely, and this also causes the entire Apache server to block if it is run inside apache. Following is the gdb stack during the lockup. (gdb) where #0 0x0000003d066e6a32 in recv () from /lib64/libc.so.6 #1 0x00007fd272eca9cb in ?? () from /usr/lib64/librabbitmq.so.0 #2 0x00007fd2730de663 in read_message_from_channel (connection=0x195f5f0, envelopeZval=<value optimized out>) at /home/hayashis/dev/amqp- 1.0.3/amqp_queue.c:163 #3 0x00007fd2730df687 in zim_amqp_queue_class_get (ht=<value optimized out>, return_value=0x193ab98, return_value_ptr=<value optimized out>, this_ptr=<value optimized out>, return_value_used=<value optimized out>) at /home/hayashis/dev/amqp-1.0.3/amqp_queue.c:849 #4 0x00000000005f5368 in ?? () #5 0x00000000005cc6a0 in execute () #6 0x00000000005a6ddd in zend_execute_scripts () #7 0x0000000000555078 in php_execute_script () #8 0x0000000000630b15 in ?? () #9 0x0000003d0661ecdd in __libc_start_main () from /lib64/libc.so.6 #10 0x0000000000421ea9 in _start () Test script: --------------- <?php //connect $connection = new AMQPConnection(); $connection->connect(); $channel = new AMQPChannel($connection); $reply_queue = new AMQPQueue($channel); $reply_queue->declare();//create default queue //send request $ex = new AMQPExchange($channel); $input = "hello"; $queue = "somewhere"; $ex->publish("somemessage", "some exchange"); $message = $reply_queue->get(AMQP_AUTOACK); echo "you will never see this"; Expected result: ---------------- I should see "you will never see this" Actual result: -------------- The script will not display "you will never see this"