Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 507413

Summary: Broker with single IO thread gets stuck looping if it runs out of file handles
Product: Red Hat Enterprise MRG Reporter: Andrew Stitcher <astitcher>
Component: qpid-cppAssignee: Andrew Stitcher <astitcher>
Status: CLOSED ERRATA QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.1.1CC: gsim
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Due to missing "break" statement in the "catch" clause, a broker with a single I/O thread stopped responding to the SIGINT (interrupt) signal when it ran out of file handles. With this update, the relevant "catch" clause has been corrected, and brokers now respond to the interrupt signal as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-14 16:11:33 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:
Attachments:
Description Flags
Fix for bug
none
Corrected (not reversed) patch none

Description Andrew Stitcher 2009-06-22 17:13:35 UTC
Description of problem:

If your run the C++ broker --worker-threads=1 and create enough connections to make the broker run out of sockets then the broker will no longer shutdown in respose to ^c or SIGINT.

How reproducible:

100%

Steps to Reproduce:

(untested steps, but I reproduced this in another test)

In one terminal:
ulimit -n 20
qpidd --port 21022 --auth no --worker-threads 1 --no-data-dir 


In 6 others:
perftest -p 21022

This should bew sufficient to run out of sockets. When this happens the broker will no longer stop if you use ^c on it.

Comment 1 Andrew Stitcher 2009-06-23 02:18:18 UTC
Created attachment 349025 [details]
Fix for bug

Comment 2 Andrew Stitcher 2009-06-23 02:20:18 UTC
This patch has been applied to qpidc-752581-19

Comment 3 Andrew Stitcher 2009-06-23 02:43:02 UTC
Created attachment 349029 [details]
Corrected (not reversed) patch

Comment 4 Andrew Stitcher 2009-06-24 21:39:44 UTC
This change has been applied to trunk too

Comment 7 Jaromir Hradilek 2010-10-07 16:32:21 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:
A broker with a single I/O thread no longer stops responding to the SIGINT (interrupt) signal when it runs out of file handles.

Comment 8 Douglas Silas 2010-10-11 09:32:31 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 @@
-A broker with a single I/O thread no longer stops responding to the SIGINT (interrupt) signal when it runs out of file handles.+A broker with a single I/O thread stopped responding to the SIGINT (interrupt) signal when it ran out of file handles.

Comment 9 Jaromir Hradilek 2010-10-13 16:36:30 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 @@
-A broker with a single I/O thread stopped responding to the SIGINT (interrupt) signal when it ran out of file handles.+Due to missing "break" statement in the "catch" clause, a broker with a single I/O thread stopped responding to the SIGINT (interrupt) signal when it ran out of file handles. With this update, the relevant "catch" clause has been corrected, and brokers now respond to the interrupt signal as expected.

Comment 10 Andrew Stitcher 2010-10-13 18:11:09 UTC
Don't you think this tech note is unnecessarily detailed for an end user release note?

Comment 12 errata-xmlrpc 2010-10-14 16:11:33 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