Page 1 of 1

Deluge freezes with libtorrent_aio

Posted: Thu Nov 18, 2010 5:43 pm
by 方向音痴
I am trying to use the Asynchronous I/O branch of libtorrent with deluge:

https://libtorrent.svn.sourceforge.net/ ... rrent_aio/

I want to use this version in order to take advantage of multiple spindles in a large raid array to increase throughput by having multiple reads I/O's being done in parallel. I compiled libtorrent_aio but as soon as I load a torrent from deluge it freezes.

I am using the newest version from git but the most recent stable also had the same issue.

The process has to be killed with signal 6 or 9 as a normal SIGTERM will not cause it to die. When stracing the process I get:

Code: Select all

readlink("/usr/share/icons/Tango/22x22/actions/gtk-add.png", "list-add.png", 256) = 12
write(10, "\224\6\7\0\31\4\300\2\0\0\0\0\0\0\0\0W\0\"\0007\1,\1U\0"..., 464) = 464
ioctl(10, FIONREAD, [0])                = 0
poll([{fd=7, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=12, events=POLLIN}, {fd=12, events=0}, {fd=12, events=0}, {fd=18, events=POLLIN}], 9, 11) = 0
ioctl(10, FIONREAD, [0])                = 0
poll([{fd=7, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=12, events=POLLIN}, {fd=12, events=0}, {fd=12, events=0}, {fd=18, events=POLLIN}], 9, 37) = 0
ioctl(10, FIONREAD, [0])                = 0
poll([{fd=7, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN}, {fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=12, events=POLLIN}, {fd=12, events=0}, {fd=12, events=0}, {fd=18, events=POLLIN}], 9, 48) = 0
ioctl(10, FIONREAD, [0])                = 0
poll([{fd=7, events=POLLIN}, {fd=5, events=POLLIN}, {fd=10, events=POLLIN, revents=POLLIN}, {fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=12, events=POLLIN}, {fd=12, events=0}, {fd=12, events=0}, {fd=18, events=POLLIN}], 9, 48) = 1
ioctl(10, FIONREAD, [32])               = 0
read(10, "\5\1\377!\212\266\343Q6\0\0\0w\1\300\2\0\0\0\0\35\4\317"..., 32) = 32
write(10, "$\6\1\0&\4\2\0006\0\0\0", 12) = 12
read(10, "\1\1\1\"\0\0\0\0006\0\0\0\350\3\340\0\35\4\317\2\35\4\317"..., 32) = 32
write(10, "&\6\2\0\350\3\340\0", 8)     = 8
read(10, "\1\1\2\"\0\0\0\0006\0\0\0\351\3\340\0\35\4\317\2\223\1"..., 32) = 32
write(10, "&\6\2\0\351\3\340\0", 8)     = 8
read(10, "\1\1\3\"\0\0\0\0006\0\0\0w\1\300\2\35\4\317\2\220\1\273"..., 32) = 32
write(10, "&\6\2\0w\1\300\2", 8)        = 8
read(10, "\1\1\4\"\0\0\0\0006\0\0\0\0\0\0\0\35\4\317\2\220\1\273"..., 32) = 32
write(10, "%\6\1\0", 4)                 = 4
brk(0x1a3e000)                          = 0x1a3e000
write(15, "\0", 1)                      = 1
futex(0x1830228, 0x81 /* FUTEX_??? */, 1) = 1
futex(0x188b334, 0x80 /* FUTEX_??? */, 287
Does deluge require some modifications to work with this branch of libtorrent?

Re: Deluge freezes with libtorrent_aio

Posted: Fri Dec 10, 2010 6:10 pm
by Cas
I asked arvid who develops lt and he pointed me to this conversation:

http://permalink.gmane.org/gmane.networ ... rrent/3594

and also to a potential signal handler problem with python and libtorrent

http://bugs.python.org/issue5315

Re: Deluge freezes with libtorrent_aio

Posted: Sun Dec 19, 2010 4:51 pm
by 方向音痴
Yea that is my thread. Unfortunately doing stack traces is totally broken with my python and I have had trouble troubleshooting this on my own which is why I messaged you =(