[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.


More information about the rabbitmq-discuss mailing list