Open Cubittus opened 7 years ago
I've had this problem happen with a tracker experiencing network issues but am unable to reproduce consistently.
Saw the error come up again using rtorrent. It turned out the disk libtorrent was writing to was failing. From an end user point-of-view the message was a bit cryptic but I'd say that's rtorrent's fault for not catching and wrapping the error with something more helpful, not libtorrent's fault.
I get this error regularly. Any update on getting this fixed?
I've been having rtorrent crashes occasionally just after a download completes. It's not consistent, but I have caught one with a backtrace:
I tried replacing the throw internal_error at libtorrent/src/dht/dht_server.cc:899 with a log notice and after a few torrents completed saw it appear in the log. rtorrent continued to function without apparent problem.
It seems that PollEPoll::perform() can sometimes call DhtServer::event_write() when there is nothing on it's queues. There is a TODO comment in that function to that effect at libtorrent/src/torrent/poll_epoll.cc:175. The problem is that DhtServer::event_write() considers such a call to be a fatal internal error.
Here's a trivial patch that essentially ignores the calls and just logs a notice: