lg/murder — Issue #13: Peer is throwing an error after completing the download
Author: juneym
Created: 2012-01-19 07:49:49+00:00
State: open

Environment:
OS: CentOS 5.5 (Final)
Python 2.4.3

---------------------------------------------------

Traceback (most recent call last):
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/RawServer.py", line 142, in listen_forever
self.sockethandler.handle_events(events)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/SocketHandler.py", line 319, in handle_events
s.handler.data_came_in(s, data)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Encrypter.py", line 190, in data_came_in
x = self.next_func(m)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Encrypter.py", line 148, in read_message
self.connecter.got_message(self, s)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Connecter.py", line 285, in got_message
if c.download.got_piece(i, toint(message[5:9]), message[9:]):
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 182, in got_piece
self._request_more()
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 189, in _request_more
self.fix_download_endgame(new_unchoke)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 256, in fix_download_endgame
del want[self.backlog - len(self.active_requests):]
TypeError: slice indices must be integers or None

Traceback (most recent call last):
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/RawServer.py", line 142, in listen_forever
self.sockethandler.handle_events(events)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/SocketHandler.py", line 319, in handle_events
s.handler.data_came_in(s, data)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Encrypter.py", line 190, in data_came_in
x = self.next_func(m)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Encrypter.py", line 148, in read_message
self.connecter.got_message(self, s)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Connecter.py", line 285, in got_message
if c.download.got_piece(i, toint(message[5:9]), message[9:]):
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 182, in got_piece
self._request_more()
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 189, in _request_more
self.fix_download_endgame(new_unchoke)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 256, in fix_download_endgame
del want[self.backlog - len(self.active_requests):]
TypeError: slice indices must be integers or None

Traceback (most recent call last):
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/RawServer.py", line 142, in listen_forever
self.sockethandler.handle_events(events)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/SocketHandler.py", line 319, in handle_events
s.handler.data_came_in(s, data)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Encrypter.py", line 190, in data_came_in
x = self.next_func(m)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Encrypter.py", line 148, in read_message
self.connecter.got_message(self, s)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Connecter.py", line 285, in got_message
if c.download.got_piece(i, toint(message[5:9]), message[9:]):
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 182, in got_piece
self._request_more()
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 189, in _request_more
self.fix_download_endgame(new_unchoke)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 256, in fix_download_endgame
del want[self.backlog - len(self.active_requests):]
TypeError: slice indices must be integers or None

Traceback (most recent call last):
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/RawServer.py", line 142, in listen_forever
self.sockethandler.handle_events(events)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/SocketHandler.py", line 319, in handle_events
s.handler.data_came_in(s, data)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Encrypter.py", line 195, in data_came_in
self.close()
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Encrypter.py", line 161, in close
self.sever()
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Encrypter.py", line 167, in sever
self.connecter.connection_lost(self)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Connecter.py", line 206, in connection_lost
c.download.disconnected()
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 88, in disconnected
self._letgo()
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/Downloader.py", line 101, in _letgo
self.downloader.storage.request_lost(index, begin, length)
File "/home/rmartinez/murder-deploy/murder/dist/BitTornado/BT1/StorageWrapper.py", line 738, in request_lost
assert not (begin, length) in self.inactive_requests[index]
AssertionError

done and done