[
https://issues.apache.org/jira/browse/PROTON-2439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17430555#comment-17430555
]
Gordon Sim commented on PROTON-2439:
------------------------------------
Where is the message 'leaked'? On the client or the broker?
> Python BlockingReceiver accept() fails when used with qpidd broker
> ------------------------------------------------------------------
>
> Key: PROTON-2439
> URL: https://issues.apache.org/jira/browse/PROTON-2439
> Project: Qpid Proton
> Issue Type: Improvement
> Components: examples, python-binding
> Affects Versions: proton-c-0.35.0
> Reporter: Greg Majszak
> Priority: Minor
>
> ./qpidTest.bash script:
> {{#!/usr/bin/env bash}}
> {{ }}
> {{function main() {}}
> {{ # Display Linux distro}}
> {{ echo "Linux distro:"}}
> {{ cat /etc/*release*}}
> {{ echo}}
> {{ }}
> {{ # Display Linux version}}
> {{ echo "Linux version:"}}
> {{ cat /proc/version}}
> {{ echo}}
> {{ }}
> {{ # Display Python 3 version}}
> {{ echo "Python3 version:"}}
> {{ python3 --version}}
> {{ echo}}
> {{ }}
> {{ # Display C++ Qpid qpidd broker version}}
> {{ echo "C++ Qpid qpidd broker version:"}}
> {{ qpidd --version}}
> {{ echo}}
> {{ }}
> {{ echo "Run of Qpid Python 3 example broker and helloworld_blocking
> scripts:"}}
> {{ }}
> {{ # Start and background Python 3 example Qpid broker}}
> {{ python3 ~/Downloads/Qpid_Proton_0.35.0/Proton_Python_Examples/broker.py
> &}}
> {{ local brokerPid=$\{!}}}
> {{ }}
> {{ # Allow some time for Python 3 example Qpid broker to get up and
> running}}
> {{ sleep 1}}
> {{ }}
> {{ # Run helloworld_blocking.py (note no error, receiver.accept() performs
> as expected)}}
> {{ if [[ "Hello World!" == $(python3
> ~/Downloads/Qpid_Proton_0.35.0/Proton_Python_Examples/helloworld_blocking.py)
> ]]; then}}
> {{ echo "Completed without error"}}
> {{ else}}
> {{ echo "Command 'python3
> ~/Downloads/Qpid_Proton_0.35.0/Proton_Python_Examples/helloworld_blocking.py'
> failed"}}
> {{ fi}}
> {{ }}
> {{ # Stop background Python 3 example Qpid broker}}
> {{ kill $\{brokerPid}}}
> {{ echo}}
> {{ }}
> {{ echo "Run of C++ Qpid qpidd broker and helloworld_blocking script:"}}
> {{ }}
> {{ # Start and background C++ Qpid qpidd broker}}
> {{ qpidd &}}
> {{ brokerPid=$\{!}}}
> {{ }}
> {{ # Allow some time for C++ Qpid qpidd broker to get up and running}}
> {{ sleep 1}}
> {{ }}
> {{ # Add exchange topic 'examples'}}
> {{ qpid-config add exchange topic examples '*' || {}}
> {{ echo "Command 'qpid-config add exchange topic examples '*'' failed"}}
> {{ }}
> {{ # Run same helloworld_blocking.py (note error, receiver.accept() fails
> with 'IndexError: pop from an empty deque')}}
> {{ # If 'receiver.accept()' is commented out from helloworld_blocking.py,
> command succeeds and returns 'Hello World!'}}
> {{ # but message is 'leaked' and/or stored/queued awaiting acceptance}}
> {{ if [[ "Hello World!" == $(python3
> ~/Downloads/Qpid_Proton_0.35.0/Proton_Python_Examples/helloworld_blocking.py
> || echo "${?}") ]]; then}}
> {{ echo "Completed without error"}}
> {{ else}}
> {{ echo "'python3
> ~/Downloads/Qpid_Proton_0.35.0/Proton_Python_Examples/helloworld_blocking.py'
> failed"}}
> {{ fi}}
> {{ }}
> {{ # Stop background C++ Qpid qpidd broker}}
> {{ kill $\{brokerPid}}}
> {{}}}
> {{ }}
> {{main "${@}"}}
> {{ }}
> {{exit}}
> ./qpidTest.bash script run output:
> [gmajszak@xxx-u-dev-wks20 ~]$ ./qpidTest.bash
> {{Linux distro:}}
> {{NAME="Red Hat Enterprise Linux Workstation"}}
> {{VERSION="7.6 (Maipo)"}}
> {{ID="rhel"}}
> {{ID_LIKE="fedora"}}
> {{VARIANT="Workstation"}}
> {{VARIANT_ID="workstation"}}
> {{VERSION_ID="7.6"}}
> {{PRETTY_NAME="Red Hat Enterprise Linux Workstation 7.6 (Maipo)"}}
> {{ANSI_COLOR="0;31"}}
> {{CPE_NAME="cpe:/o:redhat:enterprise_linux:7.6:GA:workstation"}}
> {{HOME_URL=[https://www.redhat.com/]}}
> {{BUG_REPORT_URL=[https://bugzilla.redhat.com/]}}
> {{REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"}}
> {{REDHAT_BUGZILLA_PRODUCT_VERSION=7.6}}
> {{REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"}}
> {{REDHAT_SUPPORT_PRODUCT_VERSION="7.6"}}
> {{Red Hat Enterprise Linux Workstation release 7.6 (Maipo)}}
> {{Red Hat Enterprise Linux Workstation release 7.6 (Maipo)}}
> {{cpe:/o:redhat:enterprise_linux:7.6:ga:workstation}}
> {{Linux version:}}
> {{Linux version 3.10.0-1160.45.1.el7.x86_64
> ([[email protected]|mailto:[email protected]])
> (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Fri Sep 24
> 10:17:16 UTC 2021}}
> {{Python3 version:}}
> {{Python 3.6.8}}
> {{C++ Qpid qpidd broker version:}}
> {{qpidd (qpid-cpp) version 1.39.0}}
> {{Run of Qpid Python 3 example broker and helloworld_blocking scripts:}}
> {{Completed without error}}
> {{Run of C++ Qpid qpidd broker and helloworld_blocking script:}}
> {{2021-10-13 15:04:53 [Broker] notice Broker (pid=4832) start-up}}
> {{2021-10-13 15:04:53 [Security] notice SSL plugin not enabled, you must set
> --ssl-cert-db to enable it.}}
> {{2021-10-13 15:04:53 [Store] notice Linear Store: Store module initialized;
> store-dir=/home/gmajszak/.qpidd}}
> {{2021-10-13 15:04:53 [Network] notice Listening on TCP/TCP6 port 5672}}
> {{./qpidTest.bash: line 3: 4827 Terminated python3
> ~/Downloads/Qpid_Proton_0.35.0/Proton_Python_Examples/broker.py}}
> {{Traceback (most recent call last):}}
> {{ File
> "/home/gmajszak/Downloads/Qpid_Proton_0.35.0/Proton_Python_Examples/helloworld_blocking.py",
> line 32, in <module>}}
> {{ receiver.accept()}}
> {{ File "/usr/lib64/python3.6/site-packages/proton/_utils.py", line 248, in
> accept}}
> {{ self.settle(Delivery.ACCEPTED)}}
> {{ File "/usr/lib64/python3.6/site-packages/proton/_utils.py", line 283, in
> settle}}
> {{ self.fetcher.settle(state)}}
> {{ File "/usr/lib64/python3.6/site-packages/proton/_utils.py", line 192, in
> settle}}
> {{ delivery = self.unsettled.popleft()}}
> {{IndexError: pop from an empty deque}}
> {{'python3
> ~/Downloads/Qpid_Proton_0.35.0/Proton_Python_Examples/helloworld_blocking.py'
> failed}}
> {{2021-10-13 15:04:54 [Broker] notice Broker (pid=4832) shut-down}}
> {{[gmajszak@xxx-u-dev-wks20 ~]$}}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]