IndexError: pop from empty list

chris at freeranger.com chris at freeranger.com
Fri May 16 01:08:34 EDT 2014


No, that was pretty much what I was looking for.  If anyone has an answer to the deeper question, that would be icing on the cake.

What is interesting is that usually the traceback shows the line of code that I invoke which, deep inside a library I'm using, has generated an error.  In this case I don't know which of my commands has spawned the error.

I can experiment, I suppose, with putting a try/catch around suspected lines of code...

Thanks,
Chris.


On Thursday, May 15, 2014 9:48:00 PM UTC-7, Gary Herron wrote:
> On 05/15/2014 09:36 PM, chris at freeranger.com wrote:
> 
> > Any ideas about what this might mean?
> 
> >
> 
> > Running Debian Wheezy on a RaspBerry Pi and collecting data on a dispatch thread that is reading input on the serial port (connected to xbee series 1).
> 
> >
> 
> > It happens every few days but it really chokes the program.
> 
> >
> 
> > Thanks for any tips,
> 
> > ChrisJ
> 
> >
> 
> >
> 
> >
> 
> >
> 
> > Exception in thread Thread-2:
> 
> > Traceback (most recent call last):
> 
> >    File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
> 
> >      self.run()
> 
> >    File "/usr/local/lib/python2.7/dist-packages/xbee/base.py", line 95, in run
> 
> >      self._callback(self.wait_read_frame())
> 
> >    File "/usr/local/lib/python2.7/dist-packages/xbee/base.py", line 400, in wait_read_frame
> 
> >      return self._split_response(frame.data)
> 
> >    File "/usr/local/lib/python2.7/dist-packages/xbee/base.py", line 288, in _split_response
> 
> >      info[parse_rule[0]] = parse_rule[1](self, info)
> 
> >    File "/usr/local/lib/python2.7/dist-packages/xbee/ieee.py", line 117, in <lambda>
> 
> >      lambda xbee,original: xbee._parse_samples(original['samples'])
> 
> >    File "/usr/local/lib/python2.7/dist-packages/xbee/base.py", line 357, in _parse_samples
> 
> >      digital_data_set = (sample_bytes.pop(0) << 8 | sample_bytes.pop(0))
> 
> > IndexError: pop from empty list
> 
> 
> 
> The error means that sample_bytes is an empty list so calling pop is an 
> 
> error.
> 
> 
> 
> Or were you asking something deeper, like *why*  sample_bytes is an 
> 
> empty list?
> 
> 
> 
> Gary Herron



More information about the Python-list mailing list