Bug 841488 - qpid-stat does not support multi-byte characters (UTF-8)
Summary: qpid-stat does not support multi-byte characters (UTF-8)
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-tools
Version: 2.2
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: 2.2
: ---
Assignee: Ted Ross
QA Contact: Leonid Zhaldybin
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-07-19 07:11 UTC by Leonid Zhaldybin
Modified: 2014-11-09 22:38 UTC (History)
3 users (show)

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.
Clone Of:
Environment:
Last Closed: 2012-09-19 17:21:48 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2012:1277 0 normal SHIPPED_LIVE Moderate: Red Hat Enterprise MRG Messaging 2.2 update 2012-09-19 21:18:49 UTC

Description Leonid Zhaldybin 2012-07-19 07:11:24 UTC
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 15:05:40 UTC
Fix committed on trunk at revision 1363795.

Comment 4 Leonid Zhaldybin 2012-08-02 08:31:28 UTC
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 13:28:57 UTC
    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 17:21:48 UTC
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.