qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robbie Gemmell (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (PROTON-1465) amqp:decode-error Could not process AMQP commands
Date Thu, 20 Apr 2017 09:51:04 GMT

     [ https://issues.apache.org/jira/browse/PROTON-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Robbie Gemmell closed PROTON-1465.
----------------------------------
    Resolution: Not A Problem

The broker is explicitly closing the AMQP connection with an error, and the client appears
to be throwing a ConnectionClosed exception to that effect, which from your description I
guess you are not catching, leading the interpreter to exit.

The logs you just pasted show other connections (MQTT, not AMQP) ending at the same time,
perhaps suggesting a more general issue, and the logs includes "'Unexpected error occurred:
java.lang.OutOfMemoryError: GC overhead limit exceeded')", suggesting you want to look at
your brokers memory config.

Since there isn't any evidence of a client issue that I can see as yet, and plenty of a broker
[config] issue, closing this JIRA out for now.

> amqp:decode-error Could not process AMQP commands
> -------------------------------------------------
>
>                 Key: PROTON-1465
>                 URL: https://issues.apache.org/jira/browse/PROTON-1465
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: python-binding
>    Affects Versions: 0.17.0
>         Environment: Ubuntu 14.04
>            Reporter: Nico Maas
>
> I use Qpid in Python to send files and do it this way:
> {code}
> from __future__ import print_function, unicode_literals
> # qpid-proton
> from proton import Message
> from proton.utils import BlockingConnection
> from proton.handlers import IncomingMessageHandler
> activemq_channel = ""
> activemq_connection = ""
> activemq_session = ""
> activemq_sender = ""
> def mq_connect(ip, username, password):
>   global activemq_channel
>   global activemq_connection
>   global activemq_session
>   global activemq_sender
>   activemq_connection = BlockingConnection(username + ":" + password + "@" + ip + ":5672")
>   activemq_sender = activemq_connection.create_sender("file")
> def mq_send(data):
>   global activemq_sender
>   #activemq_sender.send(Message(bytearray(data)))
>   activemq_sender.send(Message(durable=True,body=data))
> def mq_close():
>   global activemq_connection
>   activemq_connection.close()
> mq_connect(server_ip,'admin','admin')
> for i in file_list:
>   data = open(i, 'rb')
>   mq_send(data.read())
>   data.close()
> mq_close.close()
> {code}
> Sadly I could not send the files as bytearrays as I normally do.. but it should work
(Is there any better way to send binary files via proton?). However, on random, following
problem arises:
> {code}
> Traceback (most recent call last):
>   File "./send_activemq.py", line 323, in <module>
>     mq_send(data.read())
>   File "./send_activemq.py", line 271, in mq_send
>     activemq_sender.send(Message(body=data))
>   File "/usr/local/lib/python2.7/dist-packages/proton/utils.py", line 78, in send
>     self.connection.wait(lambda: _is_settled(delivery), msg="Sending on sender %s" %
self.link.name, timeout=timeout)
>   File "/usr/local/lib/python2.7/dist-packages/proton/utils.py", line 267, in wait
>     self.container.process()
>   File "/usr/local/lib/python2.7/dist-packages/proton/reactor.py", line 159, in process
>     self._check_errors()
>   File "/usr/local/lib/python2.7/dist-packages/proton/reactor.py", line 155, in _check_errors
>     _compat.raise_(exc, value, tb)
>   File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 4050, in dispatch
>     ev.dispatch(self.handler)
>   File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 3959, in dispatch
>     result = dispatch(handler, type.method, self)
>   File "/usr/local/lib/python2.7/dist-packages/proton/__init__.py", line 3837, in dispatch
>     return m(*args)
>   File "/usr/local/lib/python2.7/dist-packages/proton/utils.py", line 289, in on_connection_remote_close
>     raise ConnectionClosed(event.connection)
> proton.utils.ConnectionClosed: Connection x closed due to: Condition('amqp:decode-error',
'Could not process AMQP commands')
> {code}
> ActiveMQ tells me following:
> {code}
>  WARN | Transport Connection to: tcp://x:59158 failed: org.apache.activemq.transport.amqp.AmqpProtocolException:
Could not process AMQP commands
>  WARN | Transport Connection to: tcp://x:55804 failed: java.io.EOFException
> {code}
> However, it always happens at random - without any clue on the file, size or time..
> What can I do? Python crashes at this point... So it is a blocker for me. Thanks a lot
for your help.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message