Bug 575748

Summary: broker exits with "critical Broker start-up failed: St9bad_alloc" when ran with --worker-threads 0|-1
Product: Red Hat Enterprise MRG Reporter: Frantisek Reznicek <freznice>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED ERRATA QA Contact: Frantisek Reznicek <freznice>
Severity: low Docs Contact:
Priority: low    
Version: 1.2CC: esammons, gsim, lbrindle
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Previously, the C++ broker &#39;qpidd&#39; did not inform the user of an invalid value when using the &#34;--worker-threads&#34; parameter. This meant the broker failed to start, and provided the wrong error message. With this update, the broker fails with the correct and appropriate message.
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-14 15:57:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Frantisek Reznicek 2010-03-22 10:34:12 UTC
Description of problem:

c++ broker qpidd does not inform user of invalid value to --worker-threads parameter.

Experiments with:
qpidd --log-enable=info+ --worker-threads -1 -p 34342
qpidd --log-enable=info+ --worker-threads 0 -p 34342

cause that broker correctly refuses to start-up, but logged message is inappropriate:
...
2010-mar-22 06:26:36 notice Broker running
2010-mar-22 06:26:36 critical Broker start-up failed: St9bad_alloc
2010-mar-22 06:26:36 notice Shut down

Defect severity and priority assigned to low, feel free to change target milestone if needed (currently 1.3).

Version-Release number of selected component (if applicable):
1.2 and later (including 1.3 alpha2)

How reproducible:
100%

Steps to Reproduce:
1. qpidd --log-enable=info+ --worker-threads -1
   or 
   qpidd --log-enable=info+ --worker-threads 0
  
Actual results:
Broker fails to start with inappropriate message.

Expected results:
Broker should fail to start with appropriate message.

Additional info:

root@mrg-qe-10:~# qpidd --log-enable=info+ --worker-threads 0 -p 43432
2010-mar-22 06:23:53 info Loaded Module: /usr/lib64/qpid/daemon/acl.so
2010-mar-22 06:23:53 info Loaded Module: /usr/lib64/qpid/daemon/rdma.so
2010-mar-22 06:23:53 info Loaded Module: /usr/lib64/qpid/daemon/replication_exchange.so
2010-mar-22 06:23:53 info Loaded Module: /usr/lib64/qpid/daemon/msgstore.so
2010-mar-22 06:23:54 info Loaded Module: /usr/lib64/qpid/daemon/ssl.so
2010-mar-22 06:23:54 info Loaded Module: /usr/lib64/qpid/daemon/replicating_listener.so
2010-mar-22 06:23:54 info Loaded Module: /usr/lib64/qpid/daemon/xml.so
2010-mar-22 06:23:54 info SSL connector not enabled, you must set QPID_SSL_CERT_DB to enable it.
2010-mar-22 06:23:54 info Loaded Module: /usr/lib64/qpid/client/sslconnector.so
2010-mar-22 06:23:54 info Loaded Module: /usr/lib64/qpid/client/rdmaconnector.so
2010-mar-22 06:23:54 info Loaded Module: /usr/lib64/qpid/daemon/cluster.so
2010-mar-22 06:23:54 info Management enabled
2010-mar-22 06:23:54 notice Journal "TplStore": Created
2010-mar-22 06:23:54 notice Store module initialized; dir=/root/.qpidd
2010-mar-22 06:23:54 info > Default files per journal: 8
2010-mar-22 06:23:54 info > Default journal file size: 24 (wpgs)
2010-mar-22 06:23:54 info > Default write cache page size: 32 (Kib)
2010-mar-22 06:23:54 info > Default number of write cache pages: 32
2010-mar-22 06:23:54 info > TPL files per journal: 8
2010-mar-22 06:23:54 info > TPL journal file size: 24 (wpgs)
2010-mar-22 06:23:54 info > TPL write cache page size: 4 (Kib)
2010-mar-22 06:23:54 info > TPL number of write cache pages: 64
2010-mar-22 06:23:54 notice SASL disabled: No Authentication Performed
2010-mar-22 06:23:54 notice Listening on TCP port 43432
2010-mar-22 06:23:54 info Policy file not specified. ACL Disabled, no ACL checking being done!
2010-mar-22 06:23:54 info Rdma: Disabled: no rdma devices found
2010-mar-22 06:23:54 info Registered replication exchange
2010-mar-22 06:23:54 info SSL plugin not enabled, you must set --qpid-ssl-cert-db to enable it.
2010-mar-22 06:23:54 info Registered xml exchange
2010-mar-22 06:23:54 notice Broker running
2010-mar-22 06:23:54 critical Broker start-up failed: St9bad_alloc
2010-mar-22 06:23:54 notice Shut down
root@mrg-qe-10:~# rpm -q qpidd
qpidd-0.5.752581-34.el5
root@mrg-qe-10:~# qpidd --log-enable=info+ --worker-threads -1 -p 34342
2010-mar-22 06:26:36 info Loaded Module: /usr/lib64/qpid/daemon/acl.so
2010-mar-22 06:26:36 info Loaded Module: /usr/lib64/qpid/daemon/rdma.so
2010-mar-22 06:26:36 info Loaded Module: /usr/lib64/qpid/daemon/replication_exchange.so
2010-mar-22 06:26:36 info Loaded Module: /usr/lib64/qpid/daemon/msgstore.so
2010-mar-22 06:26:36 info Loaded Module: /usr/lib64/qpid/daemon/ssl.so
2010-mar-22 06:26:36 info Loaded Module: /usr/lib64/qpid/daemon/replicating_listener.so
2010-mar-22 06:26:36 info Loaded Module: /usr/lib64/qpid/daemon/xml.so
2010-mar-22 06:26:36 info SSL connector not enabled, you must set QPID_SSL_CERT_DB to enable it.
2010-mar-22 06:26:36 info Loaded Module: /usr/lib64/qpid/client/sslconnector.so
2010-mar-22 06:26:36 info Loaded Module: /usr/lib64/qpid/client/rdmaconnector.so
2010-mar-22 06:26:36 info Loaded Module: /usr/lib64/qpid/daemon/cluster.so
2010-mar-22 06:26:36 info Management enabled
2010-mar-22 06:26:36 notice Journal "TplStore": Created
2010-mar-22 06:26:36 notice Store module initialized; dir=/root/.qpidd
2010-mar-22 06:26:36 info > Default files per journal: 8
2010-mar-22 06:26:36 info > Default journal file size: 24 (wpgs)
2010-mar-22 06:26:36 info > Default write cache page size: 32 (Kib)
2010-mar-22 06:26:36 info > Default number of write cache pages: 32
2010-mar-22 06:26:36 info > TPL files per journal: 8
2010-mar-22 06:26:36 info > TPL journal file size: 24 (wpgs)
2010-mar-22 06:26:36 info > TPL write cache page size: 4 (Kib)
2010-mar-22 06:26:36 info > TPL number of write cache pages: 64
2010-mar-22 06:26:36 notice SASL disabled: No Authentication Performed
2010-mar-22 06:26:36 notice Listening on TCP port 34342
2010-mar-22 06:26:36 info Policy file not specified. ACL Disabled, no ACL checking being done!
2010-mar-22 06:26:36 info Rdma: Disabled: no rdma devices found
2010-mar-22 06:26:36 info Registered replication exchange
2010-mar-22 06:26:36 info SSL plugin not enabled, you must set --qpid-ssl-cert-db to enable it.
2010-mar-22 06:26:36 info Registered xml exchange
2010-mar-22 06:26:36 notice Broker running
2010-mar-22 06:26:36 critical Broker start-up failed: St9bad_alloc
2010-mar-22 06:26:36 notice Shut down

Comment 1 Gordon Sim 2010-04-26 14:34:12 UTC
Fixed by r938060.

Comment 2 Frantisek Reznicek 2010-07-27 09:09:10 UTC
The issue has been fixed, verified on RHEL4.8 / 5.5 i386 / x86_64 on packages:
python-qpid-0.7.946106-9.el5
qpid-cpp-client-0.7.946106-10.el5
qpid-cpp-client-devel-0.7.946106-10.el5
qpid-cpp-client-devel-docs-0.7.946106-10.el5
qpid-cpp-client-rdma-0.7.946106-10.el5
qpid-cpp-client-ssl-0.7.946106-10.el5
qpid-cpp-mrg-debuginfo-0.7.946106-9.el5
qpid-cpp-server-0.7.946106-10.el5
qpid-cpp-server-cluster-0.7.946106-10.el5
qpid-cpp-server-devel-0.7.946106-10.el5
qpid-cpp-server-rdma-0.7.946106-10.el5
qpid-cpp-server-ssl-0.7.946106-10.el5
qpid-cpp-server-store-0.7.946106-10.el5
qpid-cpp-server-xml-0.7.946106-10.el5
qpid-java-client-0.7.946106-6.el5
qpid-java-common-0.7.946106-6.el5
qpid-tools-0.7.946106-7.el5
rh-qpid-cpp-tests-0.7.946106-10.el5

-> VERIFIED

Comment 3 Martin Prpič 2010-10-08 12:25:28 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:
Previously, the C++ broker 'qpidd' did not inform the user of an invalid value to when using the "--worker-threads" parameter and caused the broker to fail to start with the wrong error message. With this update, the broker fails with the correct and appropriate message.

Comment 4 Lana Brindley 2010-10-13 21:26:47 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-Previously, the C++ broker 'qpidd' did not inform the user of an invalid value to when using the "--worker-threads" parameter and caused the broker to fail to start with the wrong error message. With this update, the broker fails with the correct and appropriate message.+Previously, the C++ broker &#39;qpidd&#39; did not inform the user of an invalid value when using the &#34;--worker-threads&#34; parameter. This meant the broker failed to start, and provided the wrong error message. With this update, the broker fails with the correct and appropriate message.

Comment 6 errata-xmlrpc 2010-10-14 15:57:18 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0773.html