[rabbitmq-discuss] nonblocking py-amqplib issues
majek04
majek04 at gmail.com
Tue Nov 25 17:23:26 GMT 2008
On Tue, Nov 25, 2008 at 16:20, Dmitriy Samovskiy
<dmitriy.samovskiy at cohesiveft.com> wrote:
>> File "build/bdist.linux-i686/egg/amqplib/nbclient_0_8.py", line 74, in
>> write
>> <P�'
>> read_buf='&<!amq.ctag-rdYQarPUansf8+2dGsnFAQ==�6<<!amq.ctag-rdYQarPUansf8+2dGsnFAQ==myfan2<�
>> text/plainfooIbarSbaz�1�6<<!amq.ctag-rdYQarPUansf8+2dGsnFAQ==myfan2<�
>> text/plainfooIbarSbaz�2�' read_p='175'
>
> I was not able to reproduce this problem with python2.5 on debian etch, but
> I will revisit code to see what may be causing it.
The exception comes from this code:
def write(self, data):
# detect a potential deadlock.
# This might happen if we get a request to write from high-level
# (i.e., not from read() via __do_write), while not all data
# have been written yet.
if data and self.read_p < len(self.read_buf):
raise Exception("Deadlock: data=%r read_buf=%r read_p='%d'" %
(data, self.read_buf, self.read_p))
assert self.read_p == len(self.read_buf)
>> ['4', '1', '2', '3', '4']
>
> I was able to reproduce this problem, and will look into it. It's not only
> the order but also looks like client calls callback() more than once for
> some messages, which would be wrong.
Thanks for help.
Cheers!
MM
More information about the rabbitmq-discuss
mailing list