question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

IndexError: pop from an empty deque

See original GitHub issue
Traceback (most recent call last):
  File "./tracer.py", line 223, in <module>
    proc.run()
  File "./tracer.py", line 133, in run
    self._connection.ioloop.start()
  File "/usr/lib/python2.6/site-packages/pika/adapters/select_connection.py", line 138, in start
    self.poller.start()
  File "/usr/lib/python2.6/site-packages/pika/adapters/select_connection.py", line 433, in start
    self.poll()
  File "/usr/lib/python2.6/site-packages/pika/adapters/select_connection.py", line 494, in poll
    self._handler(fileno, event, write_only=write_only)
  File "/usr/lib/python2.6/site-packages/pika/adapters/base_connection.py", line 318, in _handle_events
    self._handle_write()
  File "/usr/lib/python2.6/site-packages/pika/adapters/base_connection.py", line 358, in _handle_write
    frame = self.outbound_buffer.popleft()
IndexError: pop from an empty deque

Sometimes it arises from additional thread

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib64/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.6/threading.py", line 484, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.6/site-packages/unirest/__init__.py", line 102, in __request
    callback(_unirestResponse)
  File "./tracer.py", line 176, in put_jobs_in_queue
    self.publish(ip)
  File "./tracer.py", line 98, in publish
    self._w_channel.basic_publish(exchange='', routing_key=self.W_QUEUE_NAME, body=message)
  File "/usr/lib/python2.6/site-packages/pika/channel.py", line 300, in basic_publish
    (properties, body))
  File "/usr/lib/python2.6/site-packages/pika/channel.py", line 1057, in _send_method
    self.connection._send_method(self.channel_number, method_frame, content)
  File "/usr/lib/python2.6/site-packages/pika/connection.py", line 1503, in _send_method
    self._send_frame(frame.Method(channel_number, method_frame))
  File "/usr/lib/python2.6/site-packages/pika/connection.py", line 1490, in _send_frame
    self._flush_outbound()
  File "/usr/lib/python2.6/site-packages/pika/adapters/select_connection.py", line 77, in _flush_outbound
    self.ioloop.poller.poll(write_only=True)
  File "/usr/lib/python2.6/site-packages/pika/adapters/select_connection.py", line 494, in poll
    self._handler(fileno, event, write_only=write_only)
  File "/usr/lib/python2.6/site-packages/pika/adapters/base_connection.py", line 318, in _handle_events
    self._handle_write()
  File "/usr/lib/python2.6/site-packages/pika/adapters/base_connection.py", line 358, in _handle_write
    frame = self.outbound_buffer.popleft()
IndexError: pop from an empty deque

self._w_channel it is channel, where 1 client publish, and 100+ clients consuming

Why this error is arises and what i can do with it?

Version of pika 0.9.14

Issue Analytics

  • State:closed
  • Created 9 years ago
  • Comments:12 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
viniciusdcommented, Oct 13, 2020

I found this thread because I am having the same error with an expanded version of the basic consumer threaded example. But it is probably because I am sharing an outbound channel together with the connection itself (I am debugging it literally now)

1reaction
viniciusdcommented, Oct 13, 2020

Not sure I follow you here, there is an example of a basic threaded consumer that shares the connection object with the thread: https://github.com/pika/pika/blob/0.12.0/examples/basic_consumer_threaded.py

It isn’t supported even though there is an official example using it?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Python while loop popleft() - ERROR: Empty deque
The code above executes all three commands and on the gamma command returns an "IndexError: pop from an empty deque.
Read more >
iostream's write :IndexError: pop from an empty deque
IndexError : pop from an empty deque. What does this mean? I am sure when I calling self._stream.write(data,lambda : self.read_message(sendno, mess_id)), ...
Read more >
Issue 31099: Timer error pop from empty deque/list
msg299634 ‑ (view) Author: Randy Henderson (Randy Henderson) Date: 2017‑08‑01 20:50 msg299636 ‑ (view) Author: R. David Murray (r.david.murray) * Date: 2017‑08‑01 20:58 msg299638 ‑...
Read more >
Re: IndexError: pop from an empty deque - Groups.io
I am only running the watchdog code below and disconnecting. The issue has i noticed happens when i disconnect and both the gateway...
Read more >
Pyspark RDD.Collect Problem | Data Science and Machine ...
... in _get_connection connection = self.deque.pop() IndexError: pop from an empty deque During handling of the above exception, another exception occurred: ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found