Bug 507395 - non-deterministic NoneType error
Summary: non-deterministic NoneType error
Keywords:
Status: CLOSED EOL
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-qmf
Version: 1.1.1
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
: ---
Assignee: messaging-bugs
QA Contact: MRG Quality Engineering
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-06-22 16:08 UTC by Matthew Farrellee
Modified: 2020-07-21 14:54 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-07-21 14:54:58 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Matthew Farrellee 2009-06-22 16:08:50 UTC
Version-Release number of selected component (if applicable):

$ rpm -q qpidc qmf python
qpidc-0.5.752600-5.fc10.i386
qmf-0.5.752600-5.fc10.i386
python-2.5.2-1.fc10.i386

--

 time ./echo-perf.py amqp://localhost:5672 1000 1000
Found broker: org.apache.qpid.broker:broker[0-0-1-0-1152921504606846978]
0-0-1-0-1152921504606846977:5672
Iteractions: 1000
Message size: 1000 bytes
Start: 1245379685.08
End: 1245379690.17
Total messages: 1000
Total time: 5.08541417122 seconds
Date rate: 191.921437889 KiB/s
Response rate: 196.640817509 Hz
Exception in thread Thread-2 (most likely raised during interpreter
shutdown):
Traceback (most recent call last):
  File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
  File "/usr/lib/python2.5/threading.py", line 446, in run
  File "/usr/lib/python2.5/site-packages/qpid/queue.py", line 80, in run
  File "/usr/lib/python2.5/site-packages/qpid/queue.py", line 50, in get
  File "/usr/lib/python2.5/Queue.py", line 165, in get
  File "/usr/lib/python2.5/threading.py", line 209, in wait
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
./echo-perf.py amqp://localhost:5672 1000 1000  5.59s user 0.46s system
83% cpu 7.242 total

$ time ./echo-perf.py amqp://localhost:5672 1000 1000
Found broker: org.apache.qpid.broker:broker[0-0-1-0-1152921504606846978]
0-0-1-0-1152921504606846977:5672
Iteractions: 1000
Message size: 1000 bytes
Start: 1245379829.39
End: 1245379834.65
Total messages: 1000
Total time: 5.26431202888 seconds
Date rate: 185.506196183 KiB/s
Response rate: 189.958344892 Hz
Exception in thread Thread-1 (most likely raised during interpreter
shutdown):
Traceback (most recent call last):
  File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
  File "/usr/lib/python2.5/threading.py", line 446, in run
  File "/usr/lib/python2.5/site-packages/qpid/connection.py", line 172,
in run
  File "/usr/lib/python2.5/site-packages/qpid/delegates.py", line 37, in
received
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute
'channel'
./echo-perf.py amqp://localhost:5672 1000 1000  5.65s user 0.47s system
85% cpu 7.148 total

$ time ./echo-perf.py amqp://localhost:5672 1000 1000
Found broker: org.apache.qpid.broker:broker[0-0-1-0-1152921504606846978]
0-0-1-0-1152921504606846977:5672
Iteractions: 1000
Message size: 1000 bytes
Start: 1245379900.35
End: 1245379905.84
Total messages: 1000
Total time: 5.48216915131 seconds
Date rate: 178.134324762 KiB/s
Response rate: 182.409548556 Hz
Exception in thread Thread-1 (most likely raised during interpreter
shutdown):
Traceback (most recent call last):
  File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
  File "/usr/lib/python2.5/threading.py", line 446, in run
  File "/usr/lib/python2.5/site-packages/qpid/connection.py", line 168,
in run
  File "/usr/lib/python2.5/site-packages/qpid/assembler.py", line 79, in
read_segment
  File "/usr/lib/python2.5/site-packages/qpid/framer.py", line 154, in
read_frame
  File "/usr/lib/python2.5/site-packages/qpid/packer.py", line 29, in unpack
  File "/usr/lib/python2.5/site-packages/qpid/framer.py", line 110, in read
<type 'exceptions.TypeError'>: 'NoneType' object is not callable
./echo-perf.py amqp://localhost:5672 1000 1000  6.23s user 0.52s system
83% cpu 8.066 total

-- echo-perf.py

#!/usr/bin/env python

from qmf.console import Session
from sys import exit, argv
import time

url = len(argv) > 1 and argv[1] or "amqp://localhost:5672"
count = len(argv) > 2 and int(argv[2]) or 10000
# size note: ../python2.5/../qpid/packer.py:36: DeprecationWarning: 'H'
format requires 0 <= number <= 65535
size = len(argv) > 3 and int(argv[3]) or 1024

message = "1"*size

session = Session();
session.addBroker(url)
brokers = session.getObjects(_class="broker",
_package="org.apache.qpid.broker")
broker = brokers[0]

print "Found broker:", broker
print "Iteractions:", count
# is "1" really a byte?
print "Message size:", size, "bytes"

start = time.time()

print "Start:", start

for i in xrange(count):
    r = broker.echo(i, message)
    if r.status or r.sequence != i:
        print "text:", r.text, "sequence:", r.sequence, "(expected:", i, ")"
        count = i
        break
#    if r.body != message:
#        print "message mismatch, received:", r.body
#        count = i
#        break

end = time.time()

print "End:", end
print "Total messages:", count
print "Total time:", end-start, "seconds"
print "Date rate:", ((count * size)/1024.0)/(end-start), "KiB/s"
print "Response rate:", count/(end-start), "Hz"

exit(0)


Note You need to log in before you can comment on or make changes to this bug.