This is because you are setting 'examples' to be a topic exchange, and so the messages sent are pre-settled by default (which the example application is not checking before trying to accept). The example is a simple one intended to work with a queue (or queue like thing).
On Wed, Oct 13, 2021 at 11:16 PM Majszak, Gregory J <gregory.j.majs...@lmco.com> wrote: > > ./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 > (mockbu...@x86-vm-37.build.eng.bos.redhat.com<mailto:mockbu...@x86-vm-37.build.eng.bos.redhat.com>) > (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 ~]$ > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org