Qpid
  1. Qpid
  2. QPID-4857

Perl TypeError on message release/reject

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.22
    • Fix Version/s: 0.23
    • Component/s: Perl Client
    • Labels:
      None

      Description

      When user tries to release/reject the acquired message, following error occurs:
      TypeError in method 'Session_release', argument 2 of type 'qpid::messaging::Message &'

      Version-Release number of selected component (if applicable):
      perl-qpid-0.22-4

      How reproducible:
      100%

      Steps to Reproduce:
      1. see additional info

      Actual results:
      Unable to release/reject message

      Expected results:
      Acquired message may be released/rejected

      Additional info:

      Reproducer:

      1. release message

      #!/usr/bin/env perl

      use qpid;

      my $message = new qpid::messaging::Message();
      my $address = "q;

      {create:sender,delete:receiver}

      ";

      my $connection = new qpid::messaging::Connection("127.0.0.1");
      $connection->open();
      my $session = $connection->create_session();
      my $sender = $session->create_sender($address);
      my $receiver = $session->create_receiver($address);
      $sender->send($message);
      eval

      { $message = $receiver->fetch(0); }

      ;
      $session->release($message);
      $session->reject($message);
      $receiver->close();
      $session->close();
      $connection->close();

      2. reject message

      same as above with following modification:

      • $session->release($message);
        + $session->reject($message);

        Activity

        Hide
        Darryl L. Pierce added a comment - - edited

        The underlying cause in both reject and also in release is that the Perl qpid::messaging::Message object is being passed to the underlying C++ code rather than the C++ implementation wrapped in the Perl code.

        Show
        Darryl L. Pierce added a comment - - edited The underlying cause in both reject and also in release is that the Perl qpid::messaging::Message object is being passed to the underlying C++ code rather than the C++ implementation wrapped in the Perl code.
        Hide
        Darryl L. Pierce added a comment -
        Show
        Darryl L. Pierce added a comment - The fix is committed here: http://svn.apache.org/viewvc?view=revision&revision=1483771
        Hide
        Justin Ross added a comment -
        Show
        Justin Ross added a comment - Released in Qpid 0.24, http://qpid.apache.org/releases/qpid-0.24/index.html

          People

          • Assignee:
            Darryl L. Pierce
            Reporter:
            Darryl L. Pierce
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development