Ultimamente rtorrent mi stava dando qualche problema, i limiti fisici del vecchio raspberry PI prima versione non mi danno spazio per gestire la memoria così succede che rtorrent muore inaspettatamente.
Caught internal_error: DhtServer::event_write called but both write queues are empty. /usr/lib/arm-linux-gnueabihf/libtorrent.so.21(_ZN7torrent14internal_error10initializeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x1c0) [0xb6cdcd7c] rtorrent(_ZN7torrent14internal_errorC1EPKc+0x9c) [0x7fa58] /usr/lib/arm-linux-gnueabihf/libtorrent.so.21(+0x98728) [0xb6d50728] /usr/lib/arm-linux-gnueabihf/libtorrent.so.21(_ZN7torrent9PollEPoll7performEv+0x118) [0xb6cf59bc] /usr/lib/arm-linux-gnueabihf/libtorrent.so.21(_ZN7torrent9PollEPoll7do_pollExi+0x78) [0xb6cf5adc] /usr/lib/arm-linux-gnueabihf/libtorrent.so.21(_ZN7torrent11thread_base10event_loopEPS0_+0x174) [0xb6d3289c] rtorrent() [0x1e660] /lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x114) [0xb68dd740]
Non è una bella situazione dato che l’unico accesso per riavviare rtorrent deve avvenire da SSH e spesso non mi è possibile inoltre possono passare diverse ore se non giorni prima che me ne renda conto.
La soluzione era avviare rtorrent con uno script in grado di capire se era attivo .