New Stable version of rtorrent 0.8.9 / 0.12.9

simur612

Member
May 25, 2018
879
0
16
i have upgraded to the latest stable of rtorrent 0.8.9 with the latest rutorretn svn yesterday and have noticed no issues at the moment. if you stick with the latest svn you should be right to use this version.
 

lisas4567

Member
May 25, 2018
773
0
16
Quote
i have upgraded to the latest stable of rtorrent 0.8.9 with the latest rutorretn svn yesterday and have noticed no issues at the moment. if you stick with the latest svn you should be right to use this version.​


Do you use any plugins?

If so would you mind listing the ones you use so I know they work, dont wanna bork my lovely install.

Sorry wonslung I dont use solaris so can't help.
 

peshua19

Member
May 25, 2018
897
0
16
Hiya all,

I compiled and installed it to a custom location (so not to /usr/local/bin because i wanted to test it before actually switch to 0.8.6)

However, if i connect to it with rutorrent it sends rtorrent to 200% CPU, after a good 25 seconds it shows rutorrent (normally its 1-2 seconds).

Is there anyone else with this problem ? my guess its with rtorrent and maybe because i didnt install it in the default directory.

It would be a great help if there is someone with FreeBSD (what im running) that can confirm that it runs fine when installed normally ?

Also, on 0.8.6 i have a lot of problems with multi moves in rutorrent (save to + move data files) on which rtorrent crashes and dumps core, i was under the impression that this was solved in 0.8.7+ (can anyone confirm ?)

Thnx alot !

PS, since its not officially supported i didnt want to open a completely new thread for it, please let me know if this is wished or not.

Also some additional specs: Phenom II Hexacore, 16Gb ram, 20Gb SSD cache for FS, root on ZFS on SSD, FreeBSD 8.2 custom kernel.

EDIT: Offcource i upgreaded rutorrent to the latest SVN.
 

randac56

Member
May 25, 2018
915
0
16
Quote
Is there anyone else with this problem ? my guess its with rtorrent and maybe because i didnt install it in the default directory.​


I'm also having the same problem after installing 0.8.9 from ports. I'm using rutorrent from SVN, FreeBSD 8.2-Release amd64. The ports tree has been updated to have 0.8.9 so more people may run into the same issue.

I did have issues with 0.8.7 crashing but I can't really recall why because it was a while ago. I think I'll stick with 0.8.6 until the ports tree gets updated with a fix.
 

saroos1

Member
May 25, 2018
718
0
16
I noticed that rutorrent-3.3 was released recently. Does it work with a new stable version of rtorrent (0.8.9) ?
 

simur612

Member
May 25, 2018
879
0
16
Quote
I noticed that rutorrent-3.3 was released recently. Does it work with a new stable version of rtorrent (0.8.9) ?​


Yes, from the changelog:

Version 3.3 (30.07.2011 r1731)

Added support for new rTorrent versions (0.8.8, 0.8.9)
 

saroos1

Member
May 25, 2018
718
0
16
Same 200% cpu load here, anyone find a fix?
I'm using rtorrent 0.8.9 from the ports tree... gonna rollback my ports snapshot for now.
EDIT: works fine until connecting to web UI.
 

saroos1

Member
May 25, 2018
718
0
16
Appears that it was an rtorrent/freebsd problem.

For FreeBSD I applied this src patch http://libtorrent.rakshasa.no/ticket/2661

If anyone runs into this problem, copy/paste the following to /usr/ports/net-p2p/rtorrent/files/patch-src_thread_base.cc

Code:
--- src/thread_base.cc.org 2011-04-05 06:26:12.000000000 -0400
+++ src/thread_base.cc 2011-11-07 19:53:21.484185000 -0500
@@ -61,7 +61,7 @@

static const unsigned int max_size = 32;

- thread_queue_hack() { std::memset(this, 0, sizeof(thread_queue_hack)); }
+ thread_queue_hack() : m_lock(0) { std::memset(this, 0, sizeof(thread_queue_hack)); }

void lock() { while (!__sync_bool_compare_and_swap(&m_lock, 0, 1)) usleep(0); }
void unlock() { __sync_bool_compare_and_swap(&m_lock, 1, 0); }
@@ -201,10 +201,15 @@

void
ThreadBase::interrupt_main_polling() {
- do {
+ int sleep_length = 0;
+
+ while (ThreadBase::is_main_polling()) {
+ pthread_kill(main_thread->m_thread, SIGUSR1);
+
if (!ThreadBase::is_main_polling())
return;

- pthread_kill(main_thread->m_thread, SIGUSR1);
- } while (1);
+ usleep(sleep_length);
+ sleep_length = std::min(sleep_length + 50, 1000);
+ }
}

if you've built previously you will need to deinstall the port with:

Code:
cd /usr/ports/net-p2p/rtorrent && make deinstall clean
then do:

Code:
cd /usr/ports/net-p2p/rtorrent && make install clean
 

simur612

Member
May 25, 2018
879
0
16
Quote
Appears that it was an rtorrent/freebsd problem.

For FreeBSD I applied this src patch http://libtorrent.rakshasa.no/ticket/2661

If anyone runs into this problem do this

Code:
echo "--- src/thread_base.cc.org 2011-04-05 06:26:12.000000000 -0400
+++ src/thread_base.cc 2011-11-07 19:53:21.484185000 -0500
@@ -61,7 +61,7 @@

static const unsigned int max_size = 32;

- thread_queue_hack() { std::memset(this, 0, sizeof(thread_queue_hack)); }
+ thread_queue_hack() : m_lock(0) { std::memset(this, 0, sizeof(thread_queue_hack)); }

void lock() { while (!__sync_bool_compare_and_swap(&m_lock, 0, 1)) usleep(0); }
void unlock() { __sync_bool_compare_and_swap(&m_lock, 1, 0); }
@@ -201,10 +201,15 @@

void
ThreadBase::interrupt_main_polling() {
- do {
+ int sleep_length = 0;
+
+ while (ThreadBase::is_main_polling()) {
+ pthread_kill(main_thread->m_thread, SIGUSR1);
+
if (!ThreadBase::is_main_polling())
return;

- pthread_kill(main_thread->m_thread, SIGUSR1);
- } while (1);
+ usleep(sleep_length);
+ sleep_length = std::min(sleep_length + 50, 1000);
+ }
}" > /usr/ports/net-p2p/rtorrent/files/patch-src_thread_base.cc

if you've built previously you will need to deinstall the port with:

Code:
cd /usr/ports/net-p2p/rtorrent && make deinstall clean
then do:

Code:
cd /usr/ports/net-p2p/rtorrent && make install clean


Have the same problem (200%)
After applying your patch, i recieve:

Code:
pezzak# make install clean
===> Vulnerability check disabled, database not found
===> License check disabled, port has not defined LICENSE
===> Found saved configuration for rtorrent-0.8.9
===> Extracting for rtorrent-0.8.9
=> SHA256 Checksum OK for rtorrent-0.8.9.tar.gz.
===> Patching for rtorrent-0.8.9
===> Applying FreeBSD patches for rtorrent-0.8.9
1 out of 2 hunks failed--saving rejects to src/thread_base.cc.rej
=> Patch patch-src_thread_base.cc failed to apply cleanly.
*** Error code 1

Stop in /usr/ports/net-p2p/rtorrent.
*** Error code 1

Stop in /usr/ports/net-p2p/rtorrent.
 

saroos1

Member
May 25, 2018
718
0
16
My fault, just paste this into /usr/ports/net-p2p/rtorrent/files/patch-src_thread_base.cc

Code:
--- src/thread_base.cc.org 2011-04-05 06:26:12.000000000 -0400
+++ src/thread_base.cc 2011-11-07 19:53:21.484185000 -0500
@@ -61,7 +61,7 @@

static const unsigned int max_size = 32;

- thread_queue_hack() { std::memset(this, 0, sizeof(thread_queue_hack)); }
+ thread_queue_hack() : m_lock(0) { std::memset(this, 0, sizeof(thread_queue_hack)); }

void lock() { while (!__sync_bool_compare_and_swap(&m_lock, 0, 1)) usleep(0); }
void unlock() { __sync_bool_compare_and_swap(&m_lock, 1, 0); }
@@ -201,10 +201,15 @@

void
ThreadBase::interrupt_main_polling() {
- do {
+ int sleep_length = 0;
+
+ while (ThreadBase::is_main_polling()) {
+ pthread_kill(main_thread->m_thread, SIGUSR1);
+
if (!ThreadBase::is_main_polling())
return;

- pthread_kill(main_thread->m_thread, SIGUSR1);
- } while (1);
+ usleep(sleep_length);
+ sleep_length = std::min(sleep_length + 50, 1000);
+ }
}
echo added characters.