# rtorrent in ports



## wonslung (Jun 22, 2009)

has anyone had any problems with rtorrent from ports? i can get it to install but it segfaults after like...30-40 minutes.

also, i can't seem to get rtorrent-devel to work at all
i get this error

```
rtorrent: std::bad_alloc
```

any help would be greatly appreciated


----------



## DutchDaemon (Jun 22, 2009)

No problem whatsoever, with either rtorrent or -devel (I dropped the latter because rtgui depends closely on rtorrent's RPC setup). Now running it on 8-CUR, again: no probs. Not jailed, though.


----------



## wonslung (Jun 22, 2009)

i think it may be something to do with 7.2.  some googling revealed this to be a common issue.


----------



## DutchDaemon (Jun 22, 2009)

I ran it on 7.0, 7.1, 7.2 and 8.0 without problems.. And there were plenty of new versions along the way to have rebuilt the port on each one of those.


----------



## wonslung (Jun 23, 2009)

this ticket at rtorrent says it's an issue with freebsd
http://libtorrent.rakshasa.no/ticket/1643
Then there is this
http://groups.google.com/group/mail...f226a8f14c731/b8f416d02a9c4e85?lnk=raot&pli=1

and this
http://www.freebsd.org/cgi/query-pr.cgi?pr=133196


so obviously it's not just me...but if you know how to make this build and work without the error i'm all ears, i've tried on 3 seperate computers with fresh installs

same error every time


----------



## DutchDaemon (Jun 23, 2009)

Are you using amd64? The reports seem to be for amd64 installs.


----------



## wonslung (Jun 23, 2009)

i am. Freebsd 7.2 AMD65 with ZFS

This is for my home media/file server.  I was using linux mdadm raid5 with an xfs file system, but when i upgraded it i decided to go wiht freebsd +zfs because i recently switched to freebsd for some other stuff and i REALLY liked it compared to linux.  I figured with ZFS amd64 was the best way to go.  I'm having some weird issues since the switch though, it seems running any torrents at all seem to slow things down to a crawl when i use torrentflux so i decided to give rtorrent a try.



KNOCK ON WOOD i've been using the SVN version from the website for a few hours without issue.

rtorrent is pretty amazing as far as clients go, i've been using transmission and tornado for awhile so i'm used to each torrent being it's own process, if i can keep this working i'll be very happy.

But the versions in ports DO NOT work for me.  /usr/ports/net-p2p/rtorrent gives segfaults and /usr/ports/net-p2p/rtorrent-devel gives the error above.


----------



## DutchDaemon (Jun 23, 2009)

Well, all I can suggest is that you chime in and add your findings to the PR that's already posted, and/or drop the port maintainer a message about rtorrent/libtorrent problems on amd64.


----------



## Carpetsmoker (Jun 23, 2009)

I run rtorrent on my amd64 machine without problems.

FreeBSD glitch.rwxrwxrwx.net 7.2-STABLE FreeBSD 7.2-STABLE #0: Fri Jun 12 15:29:31 UTC 2009     carpetsmoker@glitch.rwxrwxrwx.net:/usr/obj/usr/src/sys/GLITCH  amd64

rTorrent 0.8.2/0.12.2

XMLRPC is enabled, I use rtgui and that seems to work ok too...


----------



## DutchDaemon (Jun 23, 2009)

Do you also have kqueue support enabled in libtorrent? (just trying to find possible differences between your amd64 installations that might point to the source of trouble)


----------



## Carpetsmoker (Jun 23, 2009)

Yes


```
[~]% cat /var/db/ports/rtorrent/options
# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for rtorrent-0.8.2_3
_OPTIONS_READ=rtorrent-0.8.2_3
WITH_XMLRPC=true


[~]% cat /var/db/ports/libtorrent/options
# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for libtorrent-0.12.2
_OPTIONS_READ=libtorrent-0.12.2
WITH_KQUEUE=true


[~]% cat ~/.rtorrent.rc
port_range = 23680-23689
port_random = yes
min_peers = 40
max_peers = 80
min_peers_seed = 10
max_peers_seed = 30
max_uploads = 8
download_rate = 0
upload_rate = 40
use_udp_trackers = yes
peer_exchange=yes

# Hash read-ahead controls how many MB to request the kernel to read
# ahead. If the value is too low the disk may not be fully utilized,
# while if too high the kernel might not be able to keep the read
# pages in memory thus end up trashing.
hash_read_ahead = 8

# Interval between attempts to check the hash, in milliseconds.
hash_interval = 10

# Number of attempts to check the hash while using the mincore status,
# before forcing. Overworked systems might need lower values to get a
# decent hash checking rate.
hash_max_tries = 5

# Max number of files to keep open simultaniously.
#max_open_files = 128

# Number of sockets to simultaneously keep open.
#max_open_sockets = <no default>

# Check hash for finished torrents.
check_hash = no

# Default directory to save the downloaded torrents.
directory = /data2/downloads

# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
session = /data2/downloads/.S

# Set  how  rtorrent should deal with encrypted Bittorrent connec-
# tions. By default, encryption is disabled, equivalent to  speci-
# fying  the option none. Alternatively, any number of the follow-
# ing options may be specified:
#
# allow_incoming (allow incoming encrypted connections),  try_out-
# going  (use  encryption for outgoing connections), require (dis-
# able unencrypted handshakes), require_RC4 (also  disable  plain-
# text   transmission  after  the  initial  encrypted  handshake),
# enable_retry (if the initial outgoing  connection  fails,  retry
# with  encryption  turned  on if it was off or off if it was on),
# prefer_plaintext (choose plaintext when  peer  offers  a  choice
# between plaintext transmission and RC4 encryption, otherwise RC4
# will be used).
encryption = allow_incoming, enable_retry, prefer_plaintext

# Watch a directory for new torrents, and stop those that have been
# deleted.
schedule = watch_directory,5,5,load_start=/data2/downloads/.T/*.torrent
schedule = untied_directory,5,5,stop_untied=

# Close torrents when diskspace is low.
schedule = low_diskspace,5,60,close_low_diskspace=250M

# Stop torrents when reaching upload ratio in percent,
# when also reaching total upload in bytes, or when
# reaching final upload ratio in percent.
# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
#schedule = ratio,60,60,stop_on_ratio=150,200M,2000

# XMLRPC
scgi_port = 127.0.0.1:5000
#scgi_local = /var/run/rtorrent/rpc.socket
```


----------



## DutchDaemon (Jun 24, 2009)

Ok, wonslung .. compare ..


----------

