Periodic ValueErrors when using qpid
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Low
|
David Ripton | ||
Grizzly |
Fix Released
|
Low
|
Unassigned |
Bug Description
When using qpid, I see periodic tracebacks like this in various nova logs:
2013-05-26 03:56:03.821 2785 INFO nova.service [-] Caught SIGTERM, exiting
2013-05-26 03:56:03.831 2785 CRITICAL nova [-] need more than 0 values to unpack
2013-05-26 03:56:03.831 2785 TRACE nova Traceback (most recent call last):
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/bin/
2013-05-26 03:56:03.831 2785 TRACE nova service.wait()
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
6, in wait
2013-05-26 03:56:03.831 2785 TRACE nova _launcher.wait()
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
9, in wait
2013-05-26 03:56:03.831 2785 TRACE nova rpc.cleanup()
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
/__init__.py", line 240, in cleanup
2013-05-26 03:56:03.831 2785 TRACE nova return _get_impl(
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
/impl_qpid.py", line 649, in cleanup
2013-05-26 03:56:03.831 2785 TRACE nova return rpc_amqp.
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
/amqp.py", line 670, in cleanup
2013-05-26 03:56:03.831 2785 TRACE nova connection_
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
/amqp.py", line 80, in empty
2013-05-26 03:56:03.831 2785 TRACE nova self.get().close()
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
/impl_qpid.py", line 386, in close
2013-05-26 03:56:03.831 2785 TRACE nova self.connection
2013-05-26 03:56:03.831 2785 TRACE nova File "<string>", line 6, in close
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
py", line 316, in close
2013-05-26 03:56:03.831 2785 TRACE nova ssn.close(
2013-05-26 03:56:03.831 2785 TRACE nova File "<string>", line 6, in close
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
2013-05-26 03:56:03.831 2785 TRACE nova if not self._ewait(lambda: self.closed, timeout=timeout):
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
2013-05-26 03:56:03.831 2785 TRACE nova result = self.connection
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
2013-05-26 03:56:03.831 2785 TRACE nova result = self._wait(lambda: self.error or predicate(), timeout)
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
2013-05-26 03:56:03.831 2785 TRACE nova return self._waiter.
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
2013-05-26 03:56:03.831 2785 TRACE nova self.condition.
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
2013-05-26 03:56:03.831 2785 TRACE nova sw.wait(timeout)
2013-05-26 03:56:03.831 2785 TRACE nova File "/usr/lib/
2013-05-26 03:56:03.831 2785 TRACE nova ready, _, _ = select([self], [], [], timeout)
2013-05-26 03:56:03.831 2785 TRACE nova ValueError: need more than 0 values to unpack
2013-05-26 03:56:03.831 2785 TRACE nova
Changed in nova: | |
assignee: | nobody → David Ripton (dripton) |
status: | New → In Progress |
importance: | Undecided → Low |
tags: | added: grizzly-backport-potential |
Changed in nova: | |
milestone: | none → havana-2 |
status: | Fix Committed → Fix Released |
tags: | removed: grizzly-backport-potential in-stable-grizzly |
Changed in nova: | |
milestone: | havana-2 → 2013.2 |
The actual bug may be in the python-qpid package, not in Nova proper. It's unpacking the return value from select(), which it expects to have length 3, but which actually has length 1 for some reason.