Bug 624988
Summary: | qpidd broker suffers from error 'framing-error: Frame size too small 0 (qpid/framing/AMQFrame.cpp:101)' which can result in client getting SessionDetached() | ||
---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Frantisek Reznicek <freznice> |
Component: | qpid-cpp | Assignee: | Kim van der Riet <kim.vdriet> |
Status: | CLOSED NOTABUG | QA Contact: | MRG Quality Engineering <mrgqe-bugs> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | beta | CC: | esammons, gsim |
Target Milestone: | 1.3 | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2010-08-31 08:24:46 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-08-18 10:16:17 UTC
Reproducibility is higher now as I succeeded to trigger the issue again on RHEL 5.5 x86_64 on different machine (with same package set). How reproducible: 40% on RHEL 5.5 x86_64 After examining the logs with trace-level logging enabled, it seems these failures are connected with qmf traffic (if I understand Gordon's analysis correctly), specifically when a qmf session is closed. In all cases I reproduced, the frame size 0 error was immediately preceded by a SessionCompletedBody with very large (corrupted) command completion values. In once case, this corrupted message also sparked an Execution exception on account of bad session completion information. 2010-08-23 19:14:01 trace RECV [127.0.0.1:57357]: Frame[BEbe; channel=1; {SessionCompletedBody: commands={ [0,10] [65537,50462837] }; }] 2010-08-23 19:14:01 debug anonymous.rhts_mrg10.lab.bos.redhat.com.11352_3_{(2010, 8, 23, 19, 14, 1, 0, 235, 1)}: sender marked completed: { [0,10] [65537,50462837] } 2010-08-23 19:14:01 debug anonymous.rhts_mrg10.lab.bos.redhat.com.11352_3_{(2010, 8, 23, 19, 14, 1, 0, 235, 1)}: sender confirmed point moved to (11+0) 2010-08-23 19:14:01 debug Exception constructed: Frame size too small 0 (qpid/framing/AMQFrame.cpp:101) 2010-08-23 19:14:01 error framing-error: Frame size too small 0 (qpid/framing/AMQFrame.cpp:101) I commented out the management client from the test code (rhtslib_management.py:58, 59, 78) and reran the test. Although client connection timeout errors were observed in some runs, no further occurrence of the "Frame size 0" error was seen. Since the client is using the old API which has known issues with thread safety, and since this is a multi-threaded client, I would suggest that in this case, the broker is not at fault, and is behaving correctly given the corrupted frame is likely being sent from the Python client. I would propose changing this bug to state CLOSED/NOTABUG unless there are any objections or other considerations/tests. Thread-safety issue in old management client is now tracked by bug 628856 (whether or not this is deemed worth fixing given it is now superceded is another question). I'm going to mark this closed as suggested by Kim. |