Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-2453

Python messaging client unusable after receiving a malformed message

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.23
    • Python Client
    • None

    Description

      Description of problem:

      This bug is in reference to the new messaging API.

      If the Python messaging client (qpid.messaging) receives a message which is in any way malformed (i.e. improper UTF8 encoding in strings, unknown content-type), it throws an exception on the receiver.fetch call. From this point forward, the API is unusable. Any attempt to recover or call methods in the API (session.close, connection.close, fetch on other receivers, etc.) will result in the same exception repeating itself.

      Version-Release number of selected component (if applicable):

      Development trunk.

      How reproducible:

      100%

      Steps to Reproduce:
      1. Produce a message with a content-type of "amqp/xxx"
      2. Send this message to a queue
      3. Set up a receiver to receive the message from the queue
      4. Call fetch on the receiver

      Actual results:

      An exception is thrown and subsequent calls repeat the exception (i.e. trying
      to close the receiver, session, or connection). The only way out is to kill
      the client process.

      Expected/Desired results:

      The malformed messages should be received normally. Perhaps there should be a
      "malformed" flag on the message that can be checked, or an exception should be
      thrown when attempting to access the content of the message.

      In no case should this cause an unrecoverable condition.

      Attachments

        1. python-tests.patch
          0.8 kB
          Ernest Allen
        2. qpid-2453.patch
          3 kB
          Ernest Allen
        3. test.py
          1 kB
          Ernest Allen

        Activity

          People

            Unassigned Unassigned
            tross Ted Ross
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: