Bug 595914
Summary: | QMF python console will occasionally crash if a get request times out. | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Ken Giusti <kgiusti> | ||||
Component: | qpid-qmf | Assignee: | Ken Giusti <kgiusti> | ||||
Status: | CLOSED ERRATA | QA Contact: | Jan Sarenik <jsarenik> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | beta | CC: | freznice, jross, jsarenik | ||||
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-10-20 11:29:15 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: |
|
Above mentioned AttribError: AttributeError: 'NoneType' object has no attribute 'session_completed' is very slowing the test and MRG/M verification down and makes evaluation of correct run more difficult. I can see this behavior in my virtual machines even when simple receiver / sender tries to access non existent qpid address (high level API) So I believe there should be more fundamental problem there. # service qpidd start # qpid-stat -b Brokers broker cluster uptime conn sess exch queue =============================================================== localhost:5672 <standalone> 7m 10s 1 1 8 3 # qpid-stat -b Brokers broker cluster uptime conn sess exch queue =============================================================== localhost:5672 <standalone> 7m 10s 1 1 8 3 Exception in thread Thread-4: Traceback (most recent call last): File "/usr/lib/python2.3/threading.py", line 436, in __bootstrap self.run() File "/usr/lib/python2.3/threading.py", line 416, in run self.__target(*self.__args, **self.__kwargs) File "/usr/lib/python2.3/site-packages/qpid/queue.py", line 84, in run self.listener(o) File "/usr/lib/python2.3/site-packages/qmf/console.py", line 2437, in _v2Cb self.amqpSession.channel.session_completed(self.amqpSession.receiver._completed) AttributeError: 'NoneType' object has no attribute 'session_completed' # qpid-config Total Exchanges: 8 topic: 3 headers: 1 fanout: 1 direct: 3 Total Queues: 3 durable: 0 non-durable: 3 Ken, can you rise the priority of the bug to at least medium, please? raising NEEDINFO Bumping priority - affects others (grid, Justin, etc). Up stream fix: Committed revision 952731. Merged to mrg_1.3.x repo: http://mrg1.lab.bos.redhat.com/git/?p=qpid.git;a=commitdiff;h=a6bcd45d3efd0d310012716bd8e241c8a085ef70 Current behavior is that only the message is printed if the timeout is reached: # qpid-config Failed: Exception: Timed out after 60 seconds Verified on qmf-0.7.946106-4.el5 |
Created attachment 416572 [details] tool to create many queues and bindings to repro the bug. Description of problem: On a broker configured with a very large # of queues bound to amq.direct, if the python qmf getObject() method times out, occasionally a crash occurs during the exception: # qpid-config exchanges -b amq.direct Exception in thread Thread-4: Traceback (most recent call last): File "/usr/lib64/python2.4/threading.py", line 442, in __bootstrap self.run() File "/usr/lib64/python2.4/threading.py", line 422, in run self.__target(*self.__args, **self.__kwargs) File "/usr/lib/python2.4/site-packages/qpid/queue.py", line 84, in run self.listener(o) File "/usr/lib/python2.4/site-packages/qmf/console.py", line 2366, in _v2Cb self.amqpSession.channel.session_completed(self.amqpSession.receiver._completed) AttributeError: 'NoneType' object has no attribute 'session_completed' Failed: Exception: Timed out after 60 seconds Version-Release number of selected component (if applicable): How reproducible: Occasional Steps to Reproduce: 1. Configure 50K+ queues 2. use qpid-config to dump the bindings 3. If a timeout exception is hit, the crash may occur. Actual results: Expected results: Timeout, but no crash. Additional info: