Bug 841488 - qpid-stat does not support multi-byte characters (UTF-8)
qpid-stat does not support multi-byte characters (UTF-8)
Status: CLOSED ERRATA
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-tools (Show other bugs)
2.2
Unspecified Unspecified
medium Severity medium
: 2.2
: ---
Assigned To: Ted Ross
Leonid Zhaldybin
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-19 03:11 EDT by Leonid Zhaldybin
Modified: 2014-11-09 17:38 EST (History)
3 users (show)

See Also:
Fixed In Version: qpid-tools-0.14-5
Doc Type: Bug Fix
Doc Text:
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.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-09-19 13:21:48 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Leonid Zhaldybin 2012-07-19 03:11:24 EDT
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:
Comment 1 Ted Ross 2012-07-20 11:05:40 EDT
Fix committed on trunk at revision 1363795.
Comment 4 Leonid Zhaldybin 2012-08-02 04:31:28 EDT
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
Comment 5 Ted Ross 2012-08-22 09:28:57 EDT
    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.
Comment 7 errata-xmlrpc 2012-09-19 13:21:48 EDT
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

Note You need to log in before you can comment on or make changes to this bug.