Description of problem: qpid-config tool is perfectly capable of creating queues, exchanges and binding keys containing multi-byte characters (I tried Czech diacritical marks and Cyrillic letters). But qpid-stat tool is unable to show any statistics if such characters are used: [root@lzhaldyb-rhel63x ~]# qpid-config add queue ěáéčáš [root@lzhaldyb-rhel63x ~]# qpid-config queues Queue Name Attributes ============================================================ qmfc-v2-hb-lzhaldyb-rhel63x.11765.1 auto-del excl --limit-policy=ring qmfc-v2-lzhaldyb-rhel63x.11765.1 auto-del excl qmfc-v2-ui-lzhaldyb-rhel63x.11765.1 auto-del excl --limit-policy=ring reply-lzhaldyb-rhel63x.11765.1 auto-del excl topic-lzhaldyb-rhel63x.11765.1 auto-del excl --limit-policy=ring ěáéčáš [root@lzhaldyb-rhel63x ~]# qpid-stat -q Queues Failed: UnicodeDecodeError - 'ascii' codec can't decode byte 0xc4 in position 0: ordinal not in range(128) Version-Release number of selected component (if applicable): qpid-tools-0.14-4.el6_3.noarch qpid-tools-0.14-3.el5 How reproducible: 100% Steps to Reproduce: 1. Using qpid-config, create a queue or an exchange with mulit-byte characters in the name. 2. Try to get statistics from the broker by running qpid-stat tool. 3. Actual results: qpid-stat returns an error and is unable to report any statistics. Expected results: qpid-stat is able to show statistics for queues and exchanges containing UTF-8 characters. Additional info:
Fix committed on trunk at revision 1363795.
Tested on the latest available MRG/M 2.2 build on RHEL58 and RHEL6.3 (both i386 and x86_64). The qpid-stat tool is now capable of dealing with multi-byte characters. Packages used for testing: RHEL5.8: python-qpid-0.14-10.el5 python-qpid-qmf-0.14-13.el5 qpid-cpp-client-0.14-20.el5 qpid-cpp-client-devel-0.14-20.el5 qpid-cpp-client-devel-docs-0.14-20.el5 qpid-cpp-client-ssl-0.14-20.el5 qpid-cpp-server-0.14-20.el5 qpid-cpp-server-cluster-0.14-20.el5 qpid-cpp-server-devel-0.14-20.el5 qpid-cpp-server-ssl-0.14-20.el5 qpid-cpp-server-store-0.14-20.el5 qpid-cpp-server-xml-0.14-20.el5 qpid-java-client-0.14-3.el5 qpid-java-common-0.14-3.el5 qpid-java-example-0.14-3.el5 qpid-qmf-0.14-13.el5 qpid-qmf-devel-0.14-13.el5 qpid-tools-0.14-5.el5 RHEL6.3: python-qpid-0.14-10.el6_3.noarch python-qpid-qmf-0.14-13.el6_3.i686 qpid-cpp-client-0.14-20.el6_3.i686 qpid-cpp-client-devel-0.14-20.el6_3.i686 qpid-cpp-client-devel-docs-0.14-20.el6_3.noarch qpid-cpp-client-rdma-0.14-20.el6_3.i686 qpid-cpp-client-ssl-0.14-20.el6_3.i686 qpid-cpp-server-0.14-20.el6_3.i686 qpid-cpp-server-cluster-0.14-20.el6_3.i686 qpid-cpp-server-devel-0.14-20.el6_3.i686 qpid-cpp-server-rdma-0.14-20.el6_3.i686 qpid-cpp-server-ssl-0.14-20.el6_3.i686 qpid-cpp-server-store-0.14-20.el6_3.i686 qpid-cpp-server-xml-0.14-20.el6_3.i686 qpid-qmf-0.14-13.el6_3.i686 qpid-tools-0.14-5.el6_3.noarch -> VERIFIED
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: cause: qpid-stat, and other CLI tools, were unable to display multi-byte characters in strings. consequence: Invoking qpid-stat on a broker that contained queues or exchanges whose names had multi-byte characters in them would fail. An exception would be thrown and the display of the list of queues or exchange would be stopped. fix: Multi-byte character handling was restored to the display library used by qpid-stat and its peers. result: qpid-stat and its peer utilities can now properly display strings that contain multi-byte characters.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2012-1277.html