caisan / libtorrent Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/libtorrent
License: Other
Automatically exported from code.google.com/p/libtorrent
License: Other
libtorrent is an open source C++ library implementing the BitTorrent protocol, along with most popular extensions, making it suitable for real world deployment. It is configurable to be able to fit both servers and embedded devices. The main goals of libtorrent are to be efficient and easy to use. See docs/index.html for more detailed build and usage instructions. To build with boost-build, run: b2 See docs/building.html for more details on how to build and which configuration options are available.
What steps will reproduce the problem?
1. the program crashed so I restarted it
2. Libtorrent started checking the torrents (only two)
3. but checking got stuck, one at 0.0% and the other one at 0.1%
4. I tried to pause one of the two torrents and it crashed.
What is the expected output? What do you see instead?
*************************************************************
Catching SIGABRT, please report a bug at http://bug.qbittorrent.org
and provide the following backtrace:
stack trace:
[0x2fa400]
[0x2fa422]
/lib/tls/i686/cmov/libc.so.6 : gsignal()+0x51 [0x2bf75b1]
/lib/tls/i686/cmov/libc.so.6 : abort()+0x182 [0x2bfaa12]
/usr/lib/libtorrent-rasterbar.so.6 : ()+0xf53d9 [0x109b3d9]
/usr/lib/libtorrent-rasterbar.so.6 :
libtorrent::disk_io_thread::add_job(libtorrent::disk_io_job const&,
boost::function<void ()(int, libtorrent::disk_io_job const&)> const&)+0x58
[0x10c7c68]
/usr/lib/libtorrent-rasterbar.so.6 :
libtorrent::disk_io_thread::operator()()+0x1ae7 [0x10d0d87]
/usr/lib/libtorrent-rasterbar.so.6 :
boost::detail::thread_data<boost::reference_wrapper<libtorrent::disk_io_thr
ead> >::run()+0x23 [0x10d7ee3]
/usr/lib/libboost_thread-mt.so.1.38.0 : thread_proxy()+0x5d [0x5a7c1d]
/lib/tls/i686/cmov/libpthread.so.0 : ()+0x58de [0x75b8de]
/lib/tls/i686/cmov/libc.so.6 : clone()+0x5e [0x2c9a73e]
What version of the product are you using? On what operating system?
libtorrent v0.15svn (rev 4159)
Please provide any additional information below.
Other users reported the same issue (file checking getting stuck from time
to time)
Original issue reported on code.google.com by [email protected]
on 13 Jan 2010 at 7:57
What steps will reproduce the problem?
1. libtorrent does not support uTP
What is the expected output? What do you see instead?
I think libtorrent should support uTP, is this planned?
What version of the product are you using? On what operating system?
Any
Please provide any additional information below.
http://bittorrent.org/beps/bep_0029.html
Original issue reported on code.google.com by [email protected]
on 4 Jan 2010 at 12:13
What steps will reproduce the problem?
1. This crash happens on rare occasions (once or twice month)
2.
3.
What is the expected output? What do you see instead?
no crash
What version of the product are you using? On what operating system?
v0.14.9
Please provide any additional information below.
Due to the low frequency of this crash, it is too difficult for me to get a
gdb backtrace.
/usr/lib/libtorrent-rasterbar.so.5 [0x8b84a0]
/usr/lib/libtorrent-rasterbar.so.5 :
libtorrent::torrent::disconnect_peers(int)+0x144 [0x8bcee4]
/usr/lib/libtorrent-rasterbar.so.5 :
libtorrent::aux::session_impl::second_tick(boost::system::error_code
const&)+0xe11 [0x88f4f1]
/usr/lib/libtorrent-rasterbar.so.5 :
boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::binder1
<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, libtorrent::aux::session_impl,
boost::system::error_code const&>,
boost::_bi::list2<boost::_bi::value<libtorrent::aux::session_impl*>,
boost::arg<1> > >, boost::system::error_code>
>::do_call(boost::asio::detail::handler_queue::handler*)+0x7b [0x89ac6b]
/usr/lib/libtorrent-rasterbar.so.5 :
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false>
>::run(boost::system::error_code&)+0x350 [0x851b40]
/usr/lib/libtorrent-rasterbar.so.5 :
libtorrent::aux::session_impl::operator()()+0x84 [0x893bf4]
/usr/lib/libtorrent-rasterbar.so.5 :
boost::detail::thread_data<boost::reference_wrapper<libtorrent::aux::session_imp
l>
>::run()+0x23 [0x8a5ab3]
/usr/lib/libboost_thread.so.1.40.0 : thread_proxy()+0x65 [0xf57ab5]
/lib/tls/i686/cmov/libpthread.so.0 [0x25b80e]
/lib/tls/i686/cmov/libc.so.6 : clone()+0x5e [0x66b8de]
Original issue reported on code.google.com by [email protected]
on 20 Feb 2010 at 4:55
What steps will reproduce the problem?
There is currently a bitfield called "pieces" in torrent_status that
indicates the pieces that we already have.
I think it would be nice to have another bitfield called
"downloading_pieces" that specifies the pieces that are currently being
downloaded.
What is the expected output? What do you see instead?
I currently display a progress bar similar to the one in uTorrent with
downloaded pieces in a given color. I would like to show currently
downloading pieces by changing their color too.
What version of the product are you using? On what operating system?
v0.15
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 18 Mar 2010 at 8:11
What steps will reproduce the problem?
1.Add some complete torrents to seed,wait for them to finish checking.
2.Enable preallocate all file.
3.Restart the program.
What is the expected output?
When the program restart, the fast-resume process should be very fast.
What do you see instead?
When the program restart, the fast-resume process is very slow(>10 times
slower).
What version of the product are you using? On what operating system?
QBittorrent 2.10 compiled with Libtorrent 0.15svn4157 in Ubuntu 9.10
Please provide any additional information below.
1. If I disable preallocate all file then the fast-resume process is very fast.
2. QBittorrent 2.10 compiled with libtorrent 0.14.x does not have this bug,
so I think this is a bug in libtorrent 0.15.
3. I believe QBittorrent use storage_mode_allocate to preallocate all file.
Original issue reported on code.google.com by [email protected]
on 14 Jan 2010 at 10:23
What steps will reproduce the problem?
1. No apparent action caused the crash.
2.
3.
What is the expected output? What do you see instead?
Should not crash
What version of the product are you using? On what operating system?
version: 0.15.0.0
$Rev: 3323 $
Please provide any additional information below.
version: 0.15.0.0
$Rev: 3323 $
file: 'piece_picker.cpp'
line: 2142
function: void
libtorrent::piece_picker::write_failed(libtorrent::piece_block)
expression: i != m_downloads.end()
stack:
1: assert_fail(char const*, int, char const*, char const*)
2: libtorrent::piece_picker::write_failed(libtorrent::piece_block)
3: libtorrent::torrent::handle_disk_error(libtorrent::disk_io_job const&,
libtorrent::peer_connection*)
4: libtorrent::peer_connection::on_disk_write_complete(int,
libtorrent::disk_io_job const&, libtorrent::peer_request,
boost::shared_ptr<libtorrent::torrent>)
5:
boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void,
boost::_mfi::mf4<void, libtorrent::peer_connection, int,
libtorrent::disk_io_job const&, libtorrent::peer_request,
boost::shared_ptr<libtorrent::torrent> >,
boost::_bi::list5<boost::_bi::value<boost::intrusive_ptr<libtorrent::peer_co
nnection> >, boost::arg<1>, boost::arg<2>,
boost::_bi::value<libtorrent::peer_request>,
boost::_bi::value<boost::shared_ptr<libtorrent::torrent> > > >, void, int,
libtorrent::disk_io_job
const&>::invoke(boost::detail::function::function_buffer&, int,
libtorrent::disk_io_job const&)
6:
boost::asio::detail::handler_queue::handler_wrapper<boost::_bi::bind_t<boost
::_bi::unspecified, boost::function<void ()(int, libtorrent::disk_io_job
const&)>, boost::_bi::list2<boost::_bi::value<int>,
boost::_bi::value<libtorrent::disk_io_job> > >
>::do_call(boost::asio::detail::handler_queue::handler*)
7:
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<fals
e> >::run(boost::system::error_code&)
8: libtorrent::aux::session_impl::operator()()
9:
boost::detail::thread_data<boost::reference_wrapper<libtorrent::aux::session
_impl> >::run()
10: thread_proxy
11:
12: clone
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb7476b70 (LWP 30640)]
0x0012d422 in __kernel_vsyscall ()
(gdb) bt 25
#0 0x0012d422 in __kernel_vsyscall ()
#1 0x00e80170 in raise (sig=2)
at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:42
#2 0x00abb634 in assert_fail (expr=0xdb4521 "i != m_downloads.end()",
line=2142, file=0xdb43a6 "piece_picker.cpp",
function=0xdb58c0 "void
libtorrent::piece_picker::write_failed(libtorrent::piece_block)") at
assert.cpp:136
#3 0x00bba71f in libtorrent::piece_picker::write_failed (this=0x893e658,
block=...) at piece_picker.cpp:2142
#4 0x00c3adcf in libtorrent::torrent::handle_disk_error (this=0x89344b8,
j=..., c=0xb53fd710) at torrent.cpp:493
#5 0x00b9b0e1 in libtorrent::peer_connection::on_disk_write_complete (
this=0xb53fd710, ret=-1, j=..., p=..., t=DWARF-2 expression error:
DW_OP_reg operations must be used either alone or in conjuction with
DW_OP_piece.
) at peer_connection.cpp:2267
#6 0x00ba1101 in
boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void,
boost::_mfi::mf4<void, libtorrent::peer_connection, int,
libtorrent::disk_io_job const&, libtorrent::peer_request,
boost::shared_ptr<libtorrent::torrent> >,
boost::_bi::list5<boost::_bi::value<boost::intrusive_ptr<libtorrent::peer_co
nnection> >, boost::arg<1>, boost::arg<2>,
boost::_bi::value<libtorrent::peer_request>,
boost::_bi::value<boost::shared_ptr<libtorrent::torrent> > > >, void, int,
libtorrent::disk_io_job
const&>::invoke(boost::detail::function::function_buffer&, int,
libtorrent::disk_io_job const&) ()
from /usr/lib/libtorrent-rasterbar.so.6
#7 0x00af7a2a in
boost::asio::detail::handler_queue::handler_wrapper<boost::_bi---Type
<return> to continue, or q <return> to quit---
::bind_t<boost::_bi::unspecified, boost::function<void ()(int,
libtorrent::disk_io_job const&)>, boost::_bi::list2<boost::_bi::value<int>,
boost::_bi::value<libtorrent::disk_io_job> > >
>::do_call(boost::asio::detail::handler_queue::handler*) () from
/usr/lib/libtorrent-rasterbar.so.6
#8 0x00b20f67 in
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<fals
e> >::run(boost::system::error_code&) ()
from /usr/lib/libtorrent-rasterbar.so.6
#9 0x00be4ba2 in boost::asio::io_service::run (this=0x86ded38)
at /usr/include/boost/asio/impl/io_service.ipp:65
#10 libtorrent::aux::session_impl::operator() (this=0x86ded38)
at session_impl.cpp:2372
#11 0x00bf4103 in
boost::detail::thread_data<boost::reference_wrapper<libtorrent::aux::session
_impl> >::run() () from /usr/lib/libtorrent-rasterbar.so.6
#12 0x01f99ab5 in thread_proxy () from /usr/lib/libboost_thread.so.1.40.0
#13 0x00e778de in start_thread (arg=0xb7476b70) at pthread_create.c:300
#14 0x01ef195e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
(gdb)
Original issue reported on code.google.com by [email protected]
on 6 Feb 2010 at 1:09
Some users report receiving listen_failed_alerts with port (p-
>endpoint.port()) == 0.
How can this be possible? I got one example, the user uses 6881/TCP for BT
and 6881/UDP for DHT and he received this alert.
Since the DHT port is the same as the BT port, I do pass
dht_settings.service_port = 0 to session.set_dht_settings. Could this be
linked?
WHat is also strange is that the user gets this alert 3 times in a row,
within 1 second interval.
Another related question, can we get a listen_failed_alert related to DHT?
I always thought this was not possible since the endpoint in the alert is a
TCP one and the doc does not refer to DHT either.
What version of the product are you using? On what operating system?
FreeBSD 8.0
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 29 Dec 2009 at 9:30
What steps will reproduce the problem?
1. I don't know exactly what causes this but it happened to me 3 times in
the last 5 minutes.
2.
3.
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
version: 0.15.0.0
$Rev: 3323 $
Please provide any additional information below.
version: 0.15.0.0
$Rev: 3323 $
file: 'connection_queue.cpp'
line: 167
function: void libtorrent::connection_queue::check_invariant() const
expression: num_connecting == m_num_connecting
stack:
1: assert_fail(char const*, int, char const*, char const*)
2: libtorrent::connection_queue::check_invariant() const
3:
libtorrent::invariant_checker_impl<libtorrent::connection_queue>::~invariant_che
cker_impl()
4: libtorrent::connection_queue::try_connect(boost::unique_lock<boost::mutex>&)
5: libtorrent::connection_queue::on_try_connect()
6:
boost::asio::detail::handler_queue::handler_wrapper<boost::_bi::bind_t<void,
boost::_mfi::mf0<void,
libtorrent::connection_queue>,
boost::_bi::list1<boost::_bi::value<libtorrent::connection_queue*> > >
>::do_call(boost::asio::detail::handler_queue::handler*)
7:
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false>
>::run(boost::system::error_code&)
8: libtorrent::aux::session_impl::operator()()
9:
boost::detail::thread_data<boost::reference_wrapper<libtorrent::aux::session_imp
l>
>::run()
10: thread_proxy
11:
12: clone
Original issue reported on code.google.com by [email protected]
on 9 Feb 2010 at 6:17
What steps will reproduce the problem?
1. Install libboost1.40-dev using aptitude
In libtorrent dir:
2. ./autotool.sh
3. ./configure
What is the expected output? What do you see instead?
Expected behaviour is to keep on with the configuration, since
boost_system-mt was found. Instead, configuration stops with the message
"configure: error: Could not link against boost_system-boost_system-mt !".
What version of the product are you using? On what operating system?
libtorrent version: RC_0_15
os: GNU/Linux (debian testing "squeeze", kernel version: 2.6.32-trunk-686)
Please provide any additional information below.
Downgrading boost to 1.39 solves the problem!
See attached config.log for more info.
Original issue reported on code.google.com by [email protected]
on 24 Jan 2010 at 7:13
Attachments:
What steps will reproduce the problem?
1. Set a global download limit
2. Add a torrent with a tracker that is on local network (and with peers on
the LAN)
3. libtorrent will use all the bandwidth
What is the expected output? What do you see instead?
Local network connections should be not bypass bandwidth limits
What version of the product are you using? On what operating system?
probably v0.14.8
Please provide any additional information below.
Initial bug report: https://bugs.launchpad.net/qbittorrent/+bug/512356
I don't know if it is actually a bug. I agree that it is not necessarily
interesting to apply the same bandwidth limit on LAN and Internet. Maybe
libtorrent should allow to set different limits for both?
Original issue reported on code.google.com by [email protected]
on 25 Jan 2010 at 3:51
What steps will reproduce the problem?
1._WIN32_WINNT=0x0600
2.build revision: 4234 libtorrent.
What is the expected output? What do you see instead?
file_pool.cpp(91) : error C2065: “result”: 未声明的标识符
file_pool.cpp(92) : error C2065: “PriorityHint”: 未声明的标识符
file_pool.cpp(92) : error C2070: “'unknown-type'”: 非法的 sizeof
操作数
What version of the product are you using? On what operating system?
libtorrent: SVN revision: 4234
Please provide any additional information below.
Fix:
/*result = */SetFileInformationByHandle(e.file_ptr-
>native_handle(),FileIoPriorityHintInfo, &priorityHint,
sizeof(priorityHint));
Original issue reported on code.google.com by [email protected]
on 3 Feb 2010 at 11:40
What steps will reproduce the problem?
1. Add a torrent to the session
2. libtorrent will scrape the tracker and get values such as( 1082 seeds /
180 peers)
3. the Tracker(s) will reply and libtorrent will send an alert with a
num_peers value such as 50.
4. num_peers in tracker_reply_alert seems to be really different from
scrape information (and round values such as 50 or 200, no matter what the
scrape values are).
What is the expected output? What do you see instead?
I would expect num_peers to be close to the values returned during scrape.
I would also expect num_peers to change more. It seems I always get 50 or
200 and it does not change over time.
What version of the product are you using? On what operating system?
v0.15 (same with v0.14)
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 26 Jan 2010 at 6:38
What steps will reproduce the problem?
1. Compile and install libtorrent v0.15
2. Compile a program against libtorrent v0.15 (e.g. qbittorrent)
3. qBittorrent compilation requires geoip-dev headers.
What is the expected output? What do you see instead?
Program built against libtorrent v0.15 should not require geoip-dev
What version of the product are you using? On what operating system?
libtorrent v0.15svn
Please provide any additional information below.
session_impl.hpp:45 : Error: GeoIP.h: file does not exist
If this issue can be fixed easily then it would be nice to do it in order
to reduce the number of dependencies. If not, it is still ok.
Original issue reported on code.google.com by [email protected]
on 12 Jan 2010 at 9:54
What steps will reproduce the problem?
1. deluged -d
What is the expected output? What do you see instead?
terminate called after throwing an instance of
'boost::python::error_already_set'
What version of the product are you using? On what operating system?
libtorrent-rasterbar-0.14.8
FreeBSD 8.0-STABLE
Please provide any additional information below.
This problems discussed http://forum.deluge-torrent.org/viewtopic.php?
f=7&t=27915&start=10#p121695
"To clarify, it seems like the error is a problem with libtorrent and not
with Deluge. Since we do not bundle libtorrent with Deluge any longer, you
will need to report this problem to libtorrent, http://www.libtorrent.org,
for resolution."
Original issue reported on code.google.com by [email protected]
on 1 Feb 2010 at 5:03
What steps will reproduce the problem?
In FreeBSD the boost libraries need to be specified on the configure
command line a such:
--with-boost-filesystem=boost_filesystem \
--with-boost-thread=boost_thread \
--with-boost-regex=boost_regex \
--with-boost-program-options=boost_program_options \
There is no way to specify the boost system library with configure, so I
end up with a pkg-config file that looks like this:
Libs.private: -lz @BOOST_SYSTEM_LIB@
This seems to happen as a result of not having the right sed line in
config.status. See the following:
https://bugs.launchpad.net/qbittorrent/+bug/520686
Doug
Original issue reported on code.google.com by [email protected]
on 11 Feb 2010 at 10:51
What steps will reproduce the problem?
1. I don't know what is happening, it was OK a few hours ago but now it
crashes on each startup when starting DHT (with both libtorrent v0.14.9 and
v0.15)
2. If I disable DHT, all is OK.
3. If I enable DHT I GET: malloc(): memory corruption: 0x08687368 ***
The backtrace is provided after.
What is the expected output? What do you see instead?
No crash.
What version of the product are you using? On what operating system?
v0.14.9 or v0.15svn
Please provide any additional information below.
#0 0x0012d422 in __kernel_vsyscall ()
No symbol table info available.
#1 0x01fe85e1 in *__GI_raise (sig=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
resultvar = <value optimized out>
pid = 34660340
selftid = 3231
#2 0x01feba42 in *__GI_abort () at abort.c:92
act = {__sigaction_handler = {
sa_handler = 0x12c4e4 <_rtld_local+1220>,
sa_sigaction = 0x12c4e4 <_rtld_local+1220>}, sa_mask = {__val = {
1048576, 136837188, 134729428, 3221215716, 389853, 3221215684,
134609172, 63, 33, 3221215528, 34093790, 4, 0, 3221215612,
34660340, 20, 3221217072, 3221215732, 34212340, 33, 3221215612,
4, 0, 3221215708, 3221215720, 2, 34518471, 34518467, 34514017,
34514043, 230, 3221215612}}, sa_flags = -1073751612,
sa_restorer = 0x20ec963}
sigs = {__val = {32, 0 <repeats 31 times>}}
#3 0x0201f53d in __libc_message (do_abort=2,
fmt=0x20ee798 "*** glibc detected *** %s: %s: 0x%s ***\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
ap = <value optimized out>
fd = -1073751252
---Type <return> to continue, or q <return> to quit---
on_2 = <value optimized out>
list = <value optimized out>
nlist = <value optimized out>
cp = <value optimized out>
written = false
#4 0x020295e1 in malloc_printerr (action=<value optimized out>,
str=0x6 <Address 0x6 out of bounds>, ptr=0x8687368) at malloc.c:6264
buf = "08687368"
cp = <value optimized out>
#5 0x0202c3c5 in _int_malloc (av=<value optimized out>,
bytes=<value optimized out>) at malloc.c:4393
iters = 0
nb = 32
idx = <value optimized out>
bin = <value optimized out>
victim = 0x8687360
size = <value optimized out>
victim_index = <value optimized out>
remainder = <value optimized out>
remainder_size = <value optimized out>
block = <value optimized out>
bit = <value optimized out>
map = <value optimized out>
---Type <return> to continue, or q <return> to quit---
fwd = <value optimized out>
bck = 0x210f3f0
errstr = <value optimized out>
__func__ = "_int_malloc"
#6 0x0202dfcc in *__GI___libc_malloc (bytes=21) at malloc.c:3660
ar_ptr = 0x210f3c0
victim = <value optimized out>
__func__ = "__libc_malloc"
#7 0x01f41737 in operator new(unsigned int) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#8 0x01f1cfe6 in std::string::_Rep::_S_create(unsigned int, unsigned int,
std::allocator<char> const&) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#9 0x01f1dc58 in std::string::_Rep::_M_clone(std::allocator<char> const&,
unsigned int) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#10 0x01f1ea8d in std::string::reserve(unsigned int) ()
from /usr/lib/libstdc++.so.6
No symbol table info available.
#11 0x01f1f1c7 in std::string::operator+=(char) () from /usr/lib/libstdc++.so.6
No symbol table info available.
#12 0x0812bf86 in
libtorrent::detail::read_string<std::istream_iterator<char, char,
std::char_traits<char>, int> > (in=..., end=..., len=6, str=...,
---Type <return> to continue, or q <return> to quit---
err=@0xbfffe63f) at /usr/include/libtorrent/bencode.hpp:164
i = 4
#13 0x081292fa in
libtorrent::detail::bdecode_recursive<std::istream_iterator<char, char,
std::char_traits<char>, int> > (in=..., end=..., ret=...,
err=@0xbfffe63f, depth=2) at /usr/include/libtorrent/bencode.hpp:357
len_s = {static npos = 4294967295,
_M_dataplus = {<std::allocator<char>> =
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x8683e8c "6"}}
len = 6
#14 0x08128ef8 in
libtorrent::detail::bdecode_recursive<std::istream_iterator<char, char,
std::char_traits<char>, int> > (in=..., end=..., ret=...,
err=@0xbfffe63f, depth=1) at /usr/include/libtorrent/bencode.hpp:274
e = @0x8687348
#15 0x081290ec in
libtorrent::detail::bdecode_recursive<std::istream_iterator<char, char,
std::char_traits<char>, int> > (in=..., end=..., ret=...,
err=@0xbfffe63f, depth=0) at /usr/include/libtorrent/bencode.hpp:316
key = {m_type = libtorrent::entry::string_t, {
data = "\314\314k\bv\250\002\002m\030\364\001\000
\000\000\364\037\367\001\250\345\377\277", dummy_aligner = 144863362930166988}}
e = @0x868d4c4
#16 0x08125662 in libtorrent::bdecode<std::istream_iterator<char, char,
std::char_traits<char>, int> > (start=..., end=...)
at /usr/include/libtorrent/bencode.hpp:392
---Type <return> to continue, or q <return> to quit---
e = {m_type = libtorrent::entry::dictionary_t, {
data =
"\000\000\000\000\000\000\000\000\030\062k\b\030\062k\b\260\324h\b\002\000\000",
dummy_aligner = 0}}
err = false
#17 0x080fd786 in Bittorrent::enableDHT (this=0x86bf070, b=true)
at bittorrent.cpp:1334
dht_state_file = {<> = {<No data fields>}, <No data fields>}
dht_state = {m_type = libtorrent::entry::undefined_t, {
data =
"H\205i\b\000\000\000\000\000\000\000\200\001\000\000\000\000\000\000\000\001\00
0\000",
dummy_aligner = 141133128}}
dht_state_path = {static null = {<No data fields>},
static shared_null = {ref = {_q_value = 1}, alloc = 0, size = 0,
data = 0x84e7dfa, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}},
static shared_empty = {ref = {_q_value = 1}, alloc = 0, size = 0,
data = 0x1e8648e, clean = 0, simpletext = 0, righttoleft = 0,
asciiCache = 0, capacity = 0, reserved = 0, array = {0}},
d = 0x867f380, static codecForCStrings = 0x0}
#18 0x080f3928 in Bittorrent::configureSession (this=0x86bf070)
at bittorrent.cpp:447
new_listenPort = 6881
new_resolv_countries = true
encryptionState = 32764529
---Type <return> to continue, or q <return> to quit---
scan_dir = {static null = {<No data fields>}, static shared_null = {
ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x84e7dfa,
clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0,
capacity = 0, reserved = 0, array = {0}}, static shared_empty = {
ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x1e8648e,
clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0,
capacity = 0, reserved = 0, array = {0}}, d = 0x86900b8,
static codecForCStrings = 0x0}
down_limit = 21
up_limit = 20
sessionSettings = {user_agent = {static npos = 4294967295,
_M_dataplus = {<std::allocator<char>> =
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x86b1cac "qBittorrent v2.2.0beta3"}},
tracker_completion_timeout = 60, tracker_receive_timeout = 40,
stop_tracker_timeout = 1, tracker_maximum_response_length = 1048576,
piece_timeout = 20, request_timeout = 50, request_queue_time = 3,
max_allowed_in_request_queue = 250, max_out_request_queue = 200,
whole_pieces_threshold = 20, peer_timeout = 120,
urlseed_timeout = 20, urlseed_pipeline_size = 5,
urlseed_wait_retry = 30, file_pool_size = 40,
allow_multiple_connections_per_ip = false, max_failcount = 3,
min_reconnect_time = 60, peer_connect_timeout = 7,
---Type <return> to continue, or q <return> to quit---
ignore_limits_on_local_network = true, connection_speed = 10,
send_redundant_have = false, lazy_bitfields = true,
inactivity_timeout = 600, unchoke_interval = 15,
optimistic_unchoke_multiplier = 4, announce_ip = {
type_ = boost::asio::ip::address::ipv4, ipv4_address_ = {addr_ = {
s_addr = 0}}, ipv6_address_ = {addr_ = {__in6_u = {
__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0,
0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0, 0}}},
scope_id_ = 0}}, num_want = 200, initial_picker_threshold = 4,
allowed_fast_set_size = 10,
max_outstanding_disk_bytes_per_connection = 65536,
handshake_timeout = 10, use_dht_as_fallback = false,
free_torrent_hashes = true, upnp_ignore_nonrouters = true,
send_buffer_watermark = 81920, auto_upload_slots = true,
use_parole_mode = true, cache_size = 1024, cache_expiry = 60,
outgoing_ports = {first = 0, second = 0}, peer_tos = 0 '\000',
active_downloads = -1, active_seeds = -1, active_limit = -1,
dont_count_slow_torrents = true, auto_manage_interval = 30,
share_ratio_limit = 2, seed_time_ratio_limit = 7,
seed_time_limit = 86400, peer_turnover = 0.0199999996,
peer_turnover_cutoff = 1, close_redundant_connections = true,
auto_scrape_interval = 1200, auto_scrape_min_interval = 300,
max_peerlist_size = 8000, min_announce_interval = 300,
---Type <return> to continue, or q <return> to quit---
prioritize_partial_pieces = false, auto_manage_startup = 120,
rate_limit_ip_overhead = false}
peer_id = {static null = {<No data fields>}, static shared_null = {
ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x84e7dfa,
clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0,
capacity = 0, reserved = 0, array = {0}}, static shared_empty = {
ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x1e8648e,
clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0,
capacity = 0, reserved = 0, array = {0}}, d = 0x867f0b8,
static codecForCStrings = 0x0}
encryptionSettings = {out_enc_policy = 141210428,
in_enc_policy = 3221219628, allowed_enc_level = 33728630,
prefer_rc4 = 186}
proxySettings = {hostname = {static npos = 4294967295,
_M_dataplus = {<std::allocator<char>> =
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x1cf4cb9
"\211\360\213]\370\213u\374\203\354\004\211\354]\302\004"}}, port =
-1073747668, username = {static npos = 4294967295,
_M_dataplus = {<std::allocator<char>> =
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x86ab338 ""}},
password = {static npos = 4294967295,
_M_dataplus = {<std::allocator<char>> =
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
_M_p = 0x0}}, type = 29824554}
---Type <return> to continue, or q <return> to quit---
newTorrentExport = true
old_listenPort = 0
alternative_speeds = false
#19 0x080f05a6 in Bittorrent (this=0x86bf070) at bittorrent.cpp:138
version = {{p = {static shared_null = {ref = {_q_value = 1},
alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}},
d = 0x8691310}, d = 0x8691310}}
peer_id = {static null = {<No data fields>}, static shared_null = {
ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x84e7dfa,
clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0,
capacity = 0, reserved = 0, array = {0}}, static shared_empty = {
ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x1e8648e,
clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0,
capacity = 0, reserved = 0, array = {0}}, d = 0x867f0b8,
static codecForCStrings = 0x0}
#20 0x0815bb12 in GUI (this=0x8664220, parent=0x0, torrentCmdLine=...)
at GUI.cpp:113
uid = {static null = {<No data fields>}, static shared_null = {ref = {
_q_value = 1}, alloc = 0, size = 0, data = 0x84e7dfa, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {
_q_value = 1}, alloc = 0, size = 0, data = 0x1e8648e, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
---Type <return> to continue, or q <return> to quit---
reserved = 0, array = {0}}, d = 0x1e85ff4,
static codecForCStrings = 0x0}
cur_height = 3
#21 0x080eb12f in main (argc=1, argv=0xbffff2f4) at main.cpp:306
splash = 0x8634588
torrentCmdLine = {<QList<QString>> = {{p = {static shared_null = {
ref = {_q_value = 1}, alloc = 0, begin = 0, end = 0,
sharable = 1, array = {0x0}}, d = 0x8662e30},
d = 0x8662e30}}, <No data fields>}
window = 0x210dff4
file = {<QIODevice> = {<QObject> = {_vptr.QObject = 0x1e84bc8,
static staticMetaObject = {d = {superdata = 0x0,
stringdata = 0x1e1de80 "QObject", data = 0x1e1df20,
extradata = 0x1e80260}}, d_ptr = {d = 0x84f4810},
static staticQtMetaObject = {d = {superdata = 0x0,
stringdata = 0x1e269c0 "Qt", data = 0x1e29fc0,
extradata = 0x0}}}, static staticMetaObject = {d = {
superdata = 0x84e7ca0, stringdata = 0x1e2e9e0 "QIODevice",
data = 0x1e2ea40, extradata = 0x0}}},
static staticMetaObject = {d = {superdata = 0x1e84c48,
stringdata = 0x1e2e960 "QFile", data = 0x1e2e980,
extradata = 0x0}}}
no_splash = false
---Type <return> to continue, or q <return> to quit---
uid = {static null = {<No data fields>}, static shared_null = {ref = {
_q_value = 1}, alloc = 0, size = 0, data = 0x84e7dfa, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, static shared_empty = {ref = {
_q_value = 1}, alloc = 0, size = 0, data = 0x1e8648e, clean = 0,
simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
reserved = 0, array = {0}}, d = 0x84f4d68,
static codecForCStrings = 0x0}
translator = {<QObject> = {_vptr.QObject = 0x1e85628,
static staticMetaObject = {d = {superdata = 0x0,
stringdata = 0x1e1de80 "QObject", data = 0x1e1df20,
extradata = 0x1e80260}}, d_ptr = {d = 0x86630c0},
static staticQtMetaObject = {d = {superdata = 0x0,
stringdata = 0x1e269c0 "Qt", data = 0x1e29fc0,
extradata = 0x0}}}, static staticMetaObject = {d = {
superdata = 0x84e7ca0, stringdata = 0x1e30ea0 "QTranslator",
data = 0x1e30ec0, extradata = 0x0}}}
ret = 139412984
locale = {static null = {<No data fields>}, static shared_null = {
ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x84e7dfa,
clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0,
capacity = 0, reserved = 0, array = {0}}, static shared_empty = {
ref = {_q_value = 1}, alloc = 0, size = 0, data = 0x1e8648e,
---Type <return> to continue, or q <return> to quit---
clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0,
capacity = 0, reserved = 0, array = {0}}, d = 0x86631b0,
static codecForCStrings = 0x0}
settings = {<QObject> = {_vptr.QObject = 0x1e84e28,
static staticMetaObject = {d = {superdata = 0x0,
stringdata = 0x1e1de80 "QObject", data = 0x1e1df20,
extradata = 0x1e80260}}, d_ptr = {d = 0x84f4b78},
static staticQtMetaObject = {d = {superdata = 0x0,
stringdata = 0x1e269c0 "Qt", data = 0x1e29fc0,
extradata = 0x0}}}, static staticMetaObject = {d = {
superdata = 0x84e7ca0, stringdata = 0x1e2ec60 "QSettings",
data = 0x1e2ec80, extradata = 0x0}}}
localSocket = {<QIODevice> = {<QObject> = {_vptr.QObject = 0x1c06f48,
static staticMetaObject = {d = {superdata = 0x0,
stringdata = 0x1e1de80 "QObject", data = 0x1e1df20,
extradata = 0x1e80260}}, d_ptr = {d = 0x84f5df8},
static staticQtMetaObject = {d = {superdata = 0x0,
stringdata = 0x1e269c0 "Qt", data = 0x1e29fc0,
extradata = 0x0}}}, static staticMetaObject = {d = {
superdata = 0x84e7ca0, stringdata = 0x1e2e9e0 "QIODevice",
data = 0x1e2ea40, extradata = 0x0}}},
static staticMetaObject = {d = {superdata = 0x1e84c48,
stringdata = 0x1bb9b80 "QLocalSocket", data = 0x1bb9ca0,
---Type <return> to continue, or q <return> to quit---
extradata = 0x0}}}
Original issue reported on code.google.com by [email protected]
on 9 Feb 2010 at 8:18
Some time ago I emailed a question to the mailing list about
torrent_info::files() deprecation status
(http://thread.gmane.org/gmane.network.bit-torrent.libtorrent/2753) and got
the answer
(http://article.gmane.org/gmane.network.bit-torrent.libtorrent/2758) that
said that renaming torrent feature will be introduced in the 0.15. Now
version 0.15 is out but it has no such feature and now there is no way to
rename torrent via libtorrent-0.15 API.
Please implement this feature.
Original issue reported on code.google.com by [email protected]
on 22 Mar 2010 at 4:29
Download
http://libtorrent.googlecode.com/files/libtorrent-rasterbar-0.14.9.tar.gz
Extract and compile successfully until:
libtool: compile: g++ -DPACKAGE_NAME=\"libtorrent-rasterbar\"
-DPACKAGE_TARNAME=\"libtorrent-rasterbar\" -DPACKAGE_VERSION=\"0.14.9\"
"-DPACKAGE_STRING=\"libtorrent-rasterbar 0.14.9\""
-DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\"
-DPACKAGE=\"libtorrent-rasterbar\" -DVERSION=\"0.14.9\" -DSTDC_HEADERS=1
-DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\"
-D_FILE_OFFSET_BITS=64 -DHAVE_PTHREAD=1
-DHAVE___INCLUDE_LIBTORRENT_ASIO_HPP=1
-DHAVE___INCLUDE_LIBTORRENT_ASIO_SSL_STREAM_HPP=1
-DHAVE___INCLUDE_LIBTORRENT_ASIO_IP_TCP_HPP=1 "-DHAVE_BOOST=/**/"
"-DHAVE_BOOST_FILESYSTEM=/**/" "-DHAVE_BOOST_THREAD=/**/"
"-DHAVE_BOOST_REGEX=/**/" "-DHAVE_BOOST_PROGRAM_OPTIONS=/**/"
-DBOOST_ASIO_HASH_MAP_BUCKETS=1021 "-DTORRENT_USE_OPENSSL=/**/"
-DHAVE_LIBZ=1 -DWITH_SHIPPED_GEOIP_H=1 "-DTORRENT_BUILDING_SHARED=/**/"
"-DBOOST_EXCEPTION_DISABLE=/**/" "-DNDEBUG=/**/" -I. -pthread
-I/usr/include -ftemplate-depth-100 -I../include -I../include/libtorrent
-Os -pthread -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION
-I/usr/include/openssl -DHAVE_SSL -g -O2 -MT enum_net.lo -MD -MP -MF
.deps/enum_net.Tpo -c enum_net.cpp -fPIC -DPIC -o .libs/enum_net.o
In file included from ../include/libtorrent/asio/detail/epoll_reactor.hpp:42,
from ../include/libtorrent/asio/impl/io_service.ipp:25,
from ../include/libtorrent/asio/io_service.hpp:548,
from ../include/libtorrent/asio/basic_io_object.hpp:20,
from ../include/libtorrent/asio/basic_socket_acceptor.hpp:20,
from ../include/libtorrent/asio/ip/tcp.hpp:20,
from ../include/libtorrent/socket.hpp:51,
from ../include/libtorrent/enum_net.hpp:37,
from enum_net.cpp:36:
../include/libtorrent/asio/detail/select_interrupter.hpp:24:54: error:
asio/detail/eventfd_select_interrupter.hpp: No such file or directory
HTH
Dave
Original issue reported on code.google.com by [email protected]
on 20 Feb 2010 at 8:17
When qBittorrent (bittorrent client, using libtorrent) starts it changing
"modify time" attribute of siding files, but they are not changed.
Such behaviour forced file recheck in other p2p software, like eiskaltdc++
What steps will reproduce the problem?
1. Start application, used libtorrent
2. Look to modify time attribute of siding files - it changed to current time
What is the expected output? What do you see instead?
If files realy not changed, "modify time" attribute should not be changed
What version of the product are you using? On what operating system?
libtorrent 0.15 svn r4330, Gentoo Linux 2.6.33 x86_64
Original issue reported on code.google.com by [email protected]
on 5 Mar 2010 at 3:43
Here is the stack trace: libtorrent-0.14.7 on linux (2.6.9-67.0.7.ELsmp ),
RHEL4
-----
(gdb) bt
#0 0x0000000000488bc2 in libtorrent::(anonymous
namespace)::compare_disconnect_peer ()
#1 0x00000000004b8d84 in
std::__unguarded_linear_insert<__gnu_cxx::__normal_iterator<libtorrent::peer_con
nection**,
std::vector<libtorrent::peer_connection*,
std::allocator<libtorrent::peer_connection*> > >,
libtorrent::peer_connection*, boost::_bi::bind_t<bool, bool
(*)(libtorrent::peer_connection const*, libtorrent::peer_connection
const*), boost::_bi::list2<boost::arg<1> (*)(), boost::arg<2> (*)()> > > ()
#2 0x00000000004bb23b in
std::__final_insertion_sort<__gnu_cxx::__normal_iterator<libtorrent::peer_connec
tion**,
std::vector<libtorrent::peer_connection*,
std::allocator<libtorrent::peer_connection*> > >, boost::_bi::bind_t<bool,
bool (*)(libtorrent::peer_connection const*, libtorrent::peer_connection
const*), boost::_bi::list2<boost::arg<1> (*)(), boost::arg<2> (*)()> > > ()
#3 0x00000000004914ee in libtorrent::torrent::disconnect_peers ()
#4 0x000000000044e702 in libtorrent::aux::session_impl::second_tick ()
#5 0x0000000000474360 in
boost::asio::asio_handler_invoke<boost::asio::detail::binder1<boost::_bi::bind_t
<void,
boost::_mfi::mf1<void, libtorrent::aux::session_impl,
boost::system::error_code const&>,
boost::_bi::list2<boost::_bi::value<libtorrent::aux::session_impl*>,
boost::arg<1> (*)()> >, boost::system::error_code> > ()
#6 0x0000000000474407 in
boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::binder1
<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, libtorrent::aux::session_impl,
boost::system::error_code const&>,
boost::_bi::list2<boost::_bi::value<libtorrent::aux::session_impl*>,
boost::arg<1> (*)()> >, boost::system::error_code> >::do_call ()
#7 0x0000000000468bea in
boost::asio::detail::task_io_service<boost::asio::detail::select_reactor<false>
>::run ()
#8 0x0000000000453d70 in libtorrent::aux::session_impl::operator() ()
#9 0x00000000006f1172 in thread_proxy ()
#10 0x0000003a4d606137 in start_thread () from /lib64/tls/libpthread.so.0
#11 0x0000003a4c3c7533 in clone () from /lib64/tls/libc.so.6
----------
Other threads:
(gdb) thread 2
[Switching to thread 2 (process 18355)]#0 0x0000003a4d608b3a in
pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib64/tls/libpthread.so.0
(gdb) bt
#0 0x0000003a4d608b3a in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/tls/libpthread.so.0
#1 0x00000000004e5deb in
boost::asio::detail::posix_thread::func<boost::asio::detail::resolver_service<bo
ost::asio::ip::tcp>::work_io_service_runner>::run
()
#2 0x00000000004576cf in asio_detail_posix_thread_function ()
#3 0x0000003a4d606137 in start_thread () from /lib64/tls/libpthread.so.0
#4 0x0000003a4c3c7533 in clone () from /lib64/tls/libc.so.6
(gdb) thread 3
[Switching to thread 3 (process 18353)]#0 0x0000003a4d608b3a in
pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib64/tls/libpthread.so.0
(gdb) bt
#0 0x0000003a4d608b3a in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/tls/libpthread.so.0
#1 0x00000000005611cd in libtorrent::disk_io_thread::operator() ()
#2 0x00000000006f1172 in thread_proxy ()
#3 0x0000003a4d606137 in start_thread () from /lib64/tls/libpthread.so.0
#4 0x0000003a4c3c7533 in clone () from /lib64/tls/libc.so.6
(gdb) thread 4
[Switching to thread 4 (process 18351)]#0 0x0000003a4c390025 in
__nanosleep_nocancel () from /lib64/tls/libc.so.6
(gdb) bt
#0 0x0000003a4c390025 in __nanosleep_nocancel () from /lib64/tls/libc.so.6
#1 0x0000003a4c3c0d18 in usleep () from /lib64/tls/libc.so.6
#2 0x0000000000410ffc in main ()
Original issue reported on code.google.com by [email protected]
on 18 Feb 2010 at 7:34
What steps will reproduce the problem?
1. Compile libtorrent with --with-libgeoip in order to use the libgeoip
from the system
2. Install libtorrent
3. libtorrent.pc is missing -lGeoIP in Libs.private section
What is the expected output? What do you see instead?
-lGeoIP should appear in Libs.private section
What version of the product are you using? On what operating system?
v0.14 or v0.15
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 9 Feb 2010 at 6:09
What steps will reproduce the problem?
1. libtorrent currently provides the following functions in the API:
void set_peer_upload_limit(asio::ip::tcp::endpoint ip, int limit) const;
void set_peer_download_limit(asio::ip::tcp::endpoint ip, int limit) const;
What is the expected output? What do you see instead?
There is no function (as far as I know) to get the upload / download limits
for a particular peer. It would be nice to have those.
What version of the product are you using? On what operating system?
libtorrent v0.15
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 13 Jan 2010 at 9:17
What steps will reproduce the problem?
1. Random crash after some time running
What is the expected output? What do you see instead?
It should not crash
What version of the product are you using? On what operating system?
Libtorrent v0.14.7 on Fedora 12
Please provide any additional information below.
Initial bug report:
https://bugs.launchpad.net/qbittorrent/+bug/487308
Backtrace:
#0 0x00000038b4f1ab16 in message (this=<value optimized out>)
at /usr/include/boost/system/error_code.hpp:347
#1 libtorrent::peer_connection::on_receive_data (this=<value optimized
out>)
at peer_connection.cpp:3620
#2 0x00000038b4f234f8 in
boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::bi
nder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void,
libtorrent::peer_connection, boost::system::error_code const&, unsigned
long>,
boost::_bi::list3<boost::_bi::value<boost::intrusive_ptr<libtorrent::peer_c
onnection> >, boost::arg<1>, boost::arg<2> > >, boost::system::error_code,
unsigned long> >::do_call(boost::asio::detail::handler_queue::handler*) ()
from /usr/lib64/libtorrent-rasterbar.so.5
#3 0x00000038b4f358b9 in
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<fal
se> >::run(boost::system::error_code&) ()
from /usr/lib64/libtorrent-rasterbar.so.5
#4 0x00000038b4f73661 in run (ec=<value optimized out>, this=0xfa1a78)
at /usr/include/boost/asio/impl/io_service.ipp:65
#5 libtorrent::aux::session_impl::operator() (ec=<value optimized out>,
this=
0xfa1a78) at session_impl.cpp:1651
#6 0x000000319520b670 in boost::(anonymous namespace)::thread_proxy (
param=<value optimized out>) at libs/thread/src/pthread/thread.cpp:130
#7 0x000000395ca06a3a in start_thread (arg=<value optimized out>)
at pthread_create.c:297
#8 0x000000395c2ddf3d in clone ()
Original issue reported on code.google.com by [email protected]
on 22 Dec 2009 at 4:03
I think it would be nice if there were an API function in torrent_handle to
flush the data to the hard disk.
It is sometimes useful explicitly flush the data, for example, when the user
asks for a file preview.
Original issue reported on code.google.com by [email protected]
on 5 Jan 2010 at 10:04
In rare cases the session destructor might be called while a tracker
announce takes place. In such case the geoip database gets deleted before
all peers from such tracker responses are processed.
This results in crashes if geoip functions try to access the database
(because the database pointer is not set back to 0).
RC_0_15
Revision 4369
Original issue reported on code.google.com by [email protected]
on 15 Mar 2010 at 6:30
What steps will reproduce the problem?
1.open actual filesize >2 Gbyte torrent file(single file torrent).
2.add the webseed url to download.
What is the expected output? What do you see instead?
The web server got many bad request with wrong size range like "xxxxxxx--
xxxxxxx".
What version of the product are you using? On what operating system?
0.14.8
Please provide any additional information below.
the web_peer_connection.cpp file at line 255,"to_string(r.piece *
info.piece_length() + r.start + r.length - 1).elems;"
size_type()conversion missing.
fixed:
"to_string(size_type(r.piece) * info.piece_length() + r.start + r.length -
1).elems;"
Original issue reported on code.google.com by [email protected]
on 13 Jan 2010 at 7:16
I use qbittorrent, which depends on libtorrent. Please see the following
discussion of this request here:
https://bugs.launchpad.net/qbittorrent/+bug/520698
Thanks,
Doug
Original issue reported on code.google.com by [email protected]
on 11 Feb 2010 at 10:54
What steps will reproduce the problem?
1. Add a URL seed
2. The URL seed becomes temporarily unavailable
3. Libtorrent removes the URL seed and does not seem to retry it later.
What is the expected output? What do you see instead?
I think that unreachable url seeds should be kept and returned by
torrent_handle::url_seeds() function. I also think that libtorrent should
retry unreachable seeds at regular interval.
What version of the product are you using? On what operating system?
v0.14.x
Please provide any additional information below.
I know the doc says: "url_seeds() return a set of the url seeds currently
in this torrent. Note that urls that fails may be removed automatically
from the list."
I just don't think this behavior is satisfactory. If the URL seeds is
unreachable on addition, then it looks like the action did not work. If it
becomes unreachable later (during download) then it gets permanently
dropped which is not good either (this kind of things happen).
Original issue reported on code.google.com by [email protected]
on 27 Jan 2010 at 12:34
abrt 1.0.6 detected a crash.
architecture: x86_64
Attached file: backtrace
cmdline: qbittorrent
comment: Was downloading the avi file 90% was done.
component: qbittorrent
executable: /usr/bin/qbittorrent
kernel: 2.6.31.12-174.2.3.fc12.x86_64
package: qbittorrent-2.1.5-3.fc12
rating: 4
reason: Process was terminated by signal 6 (Aborted)
release: Fedora release 12 (Constantine)
How to reproduce
-----
1. Started the application.
2. Crashed all of a sudden in the middle of download.
3.
Original issue reported on code.google.com by [email protected]
on 18 Feb 2010 at 2:12
Attachments:
What steps will reproduce the problem?
1. libtorrent currently provide next_announce_time and force_reannounce()
only at torrent level
What is the expected output? What do you see instead?
I think it would be nice to have this information at tracker level (as in
uTorrent) if possible.
What version of the product are you using? On what operating system?
v0.15
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 15 Jan 2010 at 4:54
What steps will reproduce the problem?
1. Add a magnet link to the list
2. Pause the torrent
3. Restart the application
What is the expected output? What do you see instead?
The torrent no longer appear as paused on restart although it was paused on
exit.
What version of the product are you using? On what operating system?
Latest RC_0_14 svn on Ubuntu v9.10 Karmic
Please provide any additional information below.
Here is the backtrace:
(gdb) bt 25
#0 0x00338422 in __kernel_vsyscall ()
#1 0x00ef7f50 in raise (sig=2) at ../nptl/sysdeps/unix/sysv/linux/pt-
raise.c:42
#2 0x01039be4 in assert_fail (expr=0x1298f7e "num_peers() == 0",
line=3663, file=0x1358f21 "torrent.cpp",
function=0x129b840 "void libtorrent::torrent::check_invariant() const")
at assert.cpp:132
#3 0x011042f4 in libtorrent::torrent::check_invariant (this=0x8cc4b48) at
torrent.cpp:3663
#4 0x01135c6f in
libtorrent::invariant_checker_impl<libtorrent::torrent>::~invariant_checker
_impl() () from /usr/lib/libtorrent-rasterbar.so.5
#5 0x01121e0b in libtorrent::torrent::set_metadata (this=0x8cc4b48,
metadata=..., error=...) at torrent.cpp:3093
#6 0x011f5143 in received_metadata (this=0xb6300a68, length=16161,
extended_msg=15, body=...) at ut_metadata.cpp:164
#7 on_extended (this=0xb6300a68, length=16161, extended_msg=15, body=...)
at ut_metadata.cpp:367
#8 0x0108a192 in libtorrent::bt_peer_connection::on_extended
(this=0xb506ada0, received=8) at bt_peer_connection.cpp:1292
#9 0x0108a84d in libtorrent::bt_peer_connection::dispatch_message
(this=0xb506ada0, received=8) at bt_peer_connection.cpp:1426
#10 0x0108cfa3 in libtorrent::bt_peer_connection::on_receive
(this=0xb506ada0, error=..., bytes_transferred=8) at
bt_peer_connection.cpp:2643
#11 0x0105fe28 in libtorrent::peer_connection::on_receive_data
(this=0xb506ada0, error=..., bytes_transferred=8) at
peer_connection.cpp:3644
#12 0x01066248 in
boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::bi
nder2<boost::_bi::bind_t<void, boost::_mfi::mf2<void,
libtorrent::peer_connection, boost::system::error_code const&, unsigned
int>,
boost::_bi::list3<boost::_bi::value<boost::intrusive_ptr<libtorrent::peer_c
onnection> >, boost::arg<1>, boost::arg<2> > >, boost::system::error_code,
unsigned int> >::do_call(boost::asio::detail::handler_queue::handler*) ()
from /usr/lib/libtorrent-rasterbar.so.5
#13 0x0107bd98 in
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<fal
se> >::run(boost::system::error_code&) ()
from /usr/lib/libtorrent-rasterbar.so.5
#14 0x010d2baa in boost::asio::io_service::run (this=0x86b64e0) at
/usr/include/boost/asio/impl/io_service.ipp:65
#15 libtorrent::aux::session_impl::operator() (this=0x86b64e0) at
session_impl.cpp:1654
#16 0x010e39c3 in
boost::detail::thread_data<boost::reference_wrapper<libtorrent::aux::sessio
n_impl> >::run() () from /usr/lib/libtorrent-rasterbar.so.5
#17 0x00868ab5 in thread_proxy () from /usr/lib/libboost_thread.so.1.40.0
#18 0x00eef80e in start_thread (arg=0xb748bb70) at pthread_create.c:300
#19 0x0655a93e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Original issue reported on code.google.com by [email protected]
on 22 Dec 2009 at 2:50
What steps will reproduce the problem?
1. Set a download (or upload) rate limit for a particular peer
2. The peer disconnects and then reconnects later
3. The rate limit is reset
What is the expected output? What do you see instead?
The rate limit should be remembered for a particular peer IP, at least for
the whole session.
What version of the product are you using? On what operating system?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 29 Dec 2009 at 9:38
What steps will reproduce the problem?
1.proxy_settings.type=lt.proxy_type.socks5
proxy_settings.hostname='127.0.0.1'
proxy_settings.port=1080
2.session.set_dht_proxy(proxy_settings)
What is the expected output? What do you see instead?
wait for a little time, call ses.status().dht_nodes, expect return a >0 int
number, and ses.dht_state()['nodes'] isnot null list.
but ht_nodes==0 and dht_state()['nodes']==[] always.
What version of the product are you using? On what operating system?
python-libtorrent-0.14.8.win32, windows xp pro sp3
Please provide any additional information below.
my socks5 proxy use the 3proxy's socks.exe
socks -l -f"L%Y%m%d %H:%M:%S.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
-i127.0.0.1 -e192.168.1.14
set libtorrent dht proxy 127.0.0.1 1080
then dht node number always 0. disable dht proxy, work fine. try another
client, like utorrent, and set same proxy, work fine.
run socketsniff to captrue socks.exe, got some below packets:
1. libtorrent send "05 01 00" to proxy
2. proxy respond "05 00"
3. libtorrent send request "05 01 00 01 8B 9D 40 00 A5 00"
4. proxy get a unknown error
read rfc1928, "05 01 00 01 8B 9D 40 00 A5 00" mean "connect
139.157.64.0:42240",here 139.157.64.0 is a wrong ip-addr. try utorrent, it
would be "05 01 00 01 43 D7 E9 82 00 50", is 67.215.233.130:80 and work
fine. it is a bug?
Original issue reported on code.google.com by [email protected]
on 16 Feb 2010 at 9:34
I often have torrents without any seeder.
Then I download the file by adding an URL seed and seeding it to the other
clients in the swarm.
Unfortunately this download lowers my dl/ul ratio which is reported for
this torrent to the tracker.
If there are not many downloaders, the ratio remains below 1 and the
tracker thinks I am a leecher.
If I download the file outside from qBittorrent/libtorrent and add it after
the download to qBittorrent, the downlaod volume is not counted.
It would be a nice feature to disable the reporting of this download volume
to the tracker.
The reporting of downloads from torrent seeds and peers should remain
unchanged.
Original issue reported on code.google.com by [email protected]
on 23 Feb 2010 at 4:26
What steps will reproduce the problem?
1. Happened when deleting a torrent (including local files)
2.
3.
What is the expected output? What do you see instead?
No crash
What version of the product are you using? On what operating system?
version: 0.15.0.0
$Rev: 3323 $
Please provide any additional information below.
version: 0.15.0.0
$Rev: 3323 $
file: 'disk_io_thread.cpp'
line: 1048
function: void libtorrent::disk_io_thread::check_invariant() const
expression: cached_read_blocks + cached_write_blocks ==
m_cache_stats.cache_size
stack:
1: assert_fail(char const*, int, char const*, char const*)
2: libtorrent::disk_io_thread::check_invariant() const
3:
libtorrent::invariant_checker_impl<libtorrent::disk_io_thread>::~invariant_check
er_impl()
4: libtorrent::disk_io_thread::operator()()
5:
boost::detail::thread_data<boost::reference_wrapper<libtorrent::disk_io_thread>
>::run()
6: thread_proxy
7:
8: clone
Original issue reported on code.google.com by [email protected]
on 9 Feb 2010 at 7:58
What steps will reproduce the problem?
1. Delete a default tracker from a torrent (By default, I mean not defined
by the user)
2. Restart the session
3. The tracker will appear again
What is the expected output? What do you see instead?
I think the user should be able to delete torrent trackers. For example,
the piratebay tracker is down and many torrent still include this tracker.
It can be useful to delete this tracker as we know it will time out.
What version of the product are you using? On what operating system?
at least v0.14.7 (did not test v0.15)
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 4 Jan 2010 at 4:37
What steps will reproduce the problem?
1. use freebsd, install /usr/ports/net-p2p/deluge
2. start deluged
3. start deluge client
4. add torrent to client
What is the expected output? What do you see instead?
Expect it to add the torrent and work. Instead program crashes with:
terminate called after throwing an instance of
'boost::python::error_already_set'
Abort trap
What version of the product are you using? On what operating system?
latest ports version that is installed by deluge
/usr/ports/net-p2p/rblibtorrent libtorrent-0.13.tar.gz is it i believe.
Please provide any additional information below.
Everything worked prior to that update.
Original issue reported on code.google.com by [email protected]
on 27 Jan 2010 at 9:11
What steps will reproduce the problem?
1.make qbittorrent with version 14.8
2.start qbittorrent with many torrent and unlimited speed of upload and see
7-8 active torrent from 200 and speed ~150Kb/s
3.set maximum upload speed to 5000KB/s and see 40 and more active torrent
and speed 1.1MB/S (max for my internet chanel)
(3)Not working on 15 version
What version of the product are you using? On what operating system?
FreeBSD 8.0-Stable
Please provide any additional information below.
Clearly libtorrent related: Please file your report there:
http://code.google.com/p/libtorrent/issues/entry
** Changed in: qbittorrent
Status: New => Invalid
--
disabling chekbox "Upload" in "Global bandwidth" causes strong decrease in
upload speed and quantity of active torrents
https://bugs.launchpad.net/bugs/517502
You received this bug notification because you are a direct subscriber
of the bug.
Status in qBittorrent - An advanced bittorrent client in C++ / Qt4: Invalid
Bug description:
disabling chekbox "Upload" in "Global bandwidth" causes strong decrease in
upload speed and quantity of active torrents.
during the limitation of upload to 5000KiB quantity of active torrent is
~40 and during the limitation desactivation it's ~9.
For clear experiment restart needed.
2.1.3 FreeBSD 8.0/AMD64
To unsubscribe from this bug, go to:
https://bugs.launchpad.net/qbittorrent/+bug/517502/+subscribe
Original issue reported on code.google.com by [email protected]
on 22 Feb 2010 at 5:43
BEP09 states that a magnet URI may have multiple 'tr' arguments. However
libtorrent currently only uses the first one it finds.
http://www.bittorrent.org/beps/bep_0009.html#magnet-uri-format
Cheers,
Steve
Original issue reported on code.google.com by [email protected]
on 26 Feb 2010 at 2:48
related information:
boost version = 1.39.0
$ uname -a
Linux breeze.localdomain 2.6.30-std-def-alt15 #1 SMP Mon Dec 14 08:46:35
UTC 2009 x86_64 GNU/Linux
also
https://bugs.launchpad.net/qbittorrent/+bug/517062
=========================================
*************************************************************
Catching SIGSEGV, please report a bug at http://bug.qbittorrent.org
and provide the following backtrace:
stack trace:
/lib64/libc.so.6 [0x7fca6173d070]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::detail::timer_queue<boost::asio::time_traits<libtorrent::ptime>
>::cancel_timer(void*)+0x78
[0x7fca63f7ae2e]
/usr/lib64/libtorrent-rasterbar.so.5 : unsigned long
boost::asio::detail::epoll_reactor<false>::cancel_timer<boost::asio::time_traits
<libtorrent::ptime>
>(boost::asio::detail::timer_queue<boost::asio::time_traits<libtorrent::ptime>
>&, void*)+0x41 [0x7fca63f79c95]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::detail::deadline_timer_service<boost::asio::time_traits<libtorrent:
:ptime>,
boost::asio::detail::epoll_reactor<false>
>::cancel(boost::asio::detail::deadline_timer_service<boost::asio::time_traits<l
ibtorrent::ptime>,
boost::asio::detail::epoll_reactor<false> >::implementation_type&,
boost::system::error_code&)+0x6b [0x7fca63f78a11]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::detail::deadline_timer_service<boost::asio::time_traits<libtorrent:
:ptime>,
boost::asio::detail::epoll_reactor<false>
>::expires_at(boost::asio::detail::deadline_timer_service<boost::asio::time_trai
ts<libtorrent::ptime>,
boost::asio::detail::epoll_reactor<false> >::implementation_type&,
libtorrent::ptime const&, boost::system::error_code&)+0x2f [0x7fca63f79d1b]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::detail::deadline_timer_service<boost::asio::time_traits<libtorrent:
:ptime>,
boost::asio::detail::epoll_reactor<false>
>::expires_from_now(boost::asio::detail::deadline_timer_service<boost::asio::tim
e_traits<libtorrent::ptime>,
boost::asio::detail::epoll_reactor<false> >::implementation_type&,
libtorrent::time_duration const&, boost::system::error_code&)+0x4c
[0x7fca63f78ce0]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::deadline_timer_service<libtorrent::ptime,
boost::asio::time_traits<libtorrent::ptime>
>::expires_from_now(boost::asio::detail::deadline_timer_service<boost::asio::tim
e_traits<libtorrent::ptime>,
boost::asio::detail::epoll_reactor<false> >::implementation_type&,
libtorrent::time_duration const&, boost::system::error_code&)+0x38
[0x7fca63f77ae0]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::basic_deadline_timer<libtorrent::ptime,
boost::asio::time_traits<libtorrent::ptime>,
boost::asio::deadline_timer_service<libtorrent::ptime,
boost::asio::time_traits<libtorrent::ptime> >
>::expires_from_now(libtorrent::time_duration const&,
boost::system::error_code&)+0x37 [0x7fca63f7681f]
/usr/lib64/libtorrent-rasterbar.so.5 :
libtorrent::torrent::on_lsd_announce()+0x169 [0x7fca64003237]
/usr/lib64/libtorrent-rasterbar.so.5 :
libtorrent::torrent::on_lsd_announce_disp(boost::weak_ptr<libtorrent::torrent>,
boost::system::error_code const&)+0x67 [0x7fca6400308d]
/usr/lib64/libtorrent-rasterbar.so.5 : void
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> >::operator()<void (*)(boost::weak_ptr<libtorrent::torrent>,
boost::system::error_code const&),
boost::_bi::list1<boost::system::error_code&> >(boost::_bi::type<void>,
void (*&)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&), boost::_bi::list1<boost::system::error_code&>&, int)+0x79
[0x7fca6404ef79]
/usr/lib64/libtorrent-rasterbar.so.5 : void boost::_bi::bind_t<void, void
(*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> >
>::operator()<boost::system::error_code>(boost::system::error_code&)+0x4a
[0x7fca6404ed7c]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::detail::binder1<boost::_bi::bind_t<void, void
(*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code>::operator()()+0x23
[0x7fca6404e8a9]
/usr/lib64/libtorrent-rasterbar.so.5 : void
boost::asio::asio_handler_invoke<boost::asio::detail::binder1<boost::_bi::bind_t
<void,
void (*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code>
>(boost::asio::detail::binder1<boost::_bi::bind_t<void, void
(*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code>, ...)+0x7f [0x7fca6404d573]
/usr/lib64/libtorrent-rasterbar.so.5 : void
boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::_b
i::bind_t<void,
void (*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code>, boost::_bi::bind_t<void,
void (*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > > >(boost::asio::detail::binder1<boost::_bi::bind_t<void,
void (*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code> const&,
boost::_bi::bind_t<void, void (*)(boost::weak_ptr<libtorrent::torrent>,
boost::system::error_code const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >*)+0x3e [0x7fca6404c7bf]
/usr/lib64/libtorrent-rasterbar.so.5 : void
boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<boost::_bi
::bind_t<void,
void (*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code>, boost::_bi::bind_t<void,
void (*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >,
boost::system::error_code>(boost::asio::detail::binder1<boost::_bi::bind_t<void,
void (*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code> const&,
boost::asio::detail::binder1<boost::_bi::bind_t<void, void
(*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code>*)+0x23 [0x7fca6404b15f]
/usr/lib64/libtorrent-rasterbar.so.5 : void
boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::_b
i::bind_t<void,
void (*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code>,
boost::asio::detail::binder1<boost::_bi::bind_t<void, void
(*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code>
>(boost::asio::detail::binder1<boost::_bi::bind_t<void, void
(*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code> const&,
boost::asio::detail::binder1<boost::_bi::bind_t<void, void
(*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code>*)+0x23 [0x7fca6404a9c8]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::binder1
<boost::_bi::bind_t<void,
void (*)(boost::weak_ptr<libtorrent::torrent>, boost::system::error_code
const&),
boost::_bi::list2<boost::_bi::value<boost::weak_ptr<libtorrent::torrent> >,
boost::arg<1> > >, boost::system::error_code>
>::do_call(boost::asio::detail::handler_queue::handler*)+0x68 [0x7fca6404931e]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::detail::handler_queue::handler::invoke()+0x1d [0x7fca63f15c19]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false>
>::do_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&,
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false>
>::idle_thread_info*, boost::system::error_code&)+0x277 [0x7fca63f2366d]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false>
>::run(boost::system::error_code&)+0xb5 [0x7fca63f1d8c9]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::asio::io_service::run(boost::system::error_code&)+0x27 [0x7fca63fb5739]
/usr/lib64/libtorrent-rasterbar.so.5 :
libtorrent::aux::session_impl::operator()()+0xa1 [0x7fca63faf033]
/usr/lib64/libtorrent-rasterbar.so.5 :
boost::detail::thread_data<boost::reference_wrapper<libtorrent::aux::session_imp
l>
>::run()+0x1f [0x7fca63fe0dbf]
/usr/lib64/libboost_thread.so.1.39.0 : thread_proxy()+0x60 [0x7fca610e9af0]
/lib64/libpthread.so.0 [0x7fca635e851a]
/lib64/libc.so.6 : clone()+0x6d [0x7fca617d38ed]
Original issue reported on code.google.com by [email protected]
on 4 Feb 2010 at 5:29
What steps will reproduce the problem?
1. in Preferences is "Pre-allocate all files" activated
2. add a new .torrent from browser to qBittorrent
3.
What is the expected output? What do you see instead?
Download should start and continue until 100% is downloaded.
Instead of this, I get an error message and the status is changed to
"paused". If I restart qBittorrent and start the torrent, the download
continues normally.
What version of the product are you using? On what operating system?
qBittorrent 2.2.0beta4/libtorrent 0.15.0 4302
x86_64 GNU/Linux 2.6.31-19-generic #56-Ubuntu SMP
Please provide any additional information below.
console output attached
Problem exists only if "Pre-allocate all files" is activated
Original issue reported on code.google.com by [email protected]
on 23 Feb 2010 at 6:43
Attachments:
What steps will reproduce the problem?
I had several users complaining about high cpu usage that can occur from
time to time apparently due to file system operations.
What is the expected output? What do you see instead?
Should not happen.
What version of the product are you using? On what operating system?
Latest RC_0_14 branch on Linux
Please provide any additional information below.
strace output when CPU usage looks like this:
gettimeofday({1262727476, 428648}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13,
events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15,
events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN},
{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=7, events=POLLIN},
{fd=40, events=POLLIN}, {fd=8, events=POLLIN}], 12, 0) = 0 (Timeout)
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {93537, 249214261}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249272090}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249350312}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249438312}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249524915}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249567099}) = 0
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
read(16, 0x92b5470, 4096) = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1262727476, 429361}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13,
events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15,
events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN},
{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=7, events=POLLIN},
{fd=40, events=POLLIN}, {fd=8, events=POLLIN}], 12, 0) = 0 (Timeout)
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {93537, 249931112}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249993690}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250073588}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250162147}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250249588}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250293169}) = 0
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
read(16, 0x92b5470, 4096) = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1262727476, 430022}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13,
events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15,
events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN},
{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=7, events=POLLIN},
{fd=40, events=POLLIN}, {fd=8, events=POLLIN}], 12, 0) = 0 (Timeout)
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily unavailable)
Original issue reported on code.google.com by [email protected]
on 5 Jan 2010 at 9:55
What steps will reproduce the problem?
1. the crash happens on startup
What is the expected output? What do you see instead?
Should not hit the ASSERT
What version of the product are you using? On what operating system?
libtorrent v0.15svn
Please provide any additional information below.
version: 0.15.0.0
$Rev: 3323 $
file: 'policy.cpp'
line: 1205
function: bool libtorrent::policy::has_connection(const
libtorrent::peer_connection*)
expression: c->remote() == c->get_socket()->remote_endpoint(ec) || ec
stack:
1: assert_fail(char const*, int, char const*, char const*)
2: libtorrent::policy::has_connection(libtorrent::peer_connection const*)
3: libtorrent::aux::session_impl::check_invariant() const
4: libtorrent::invariant_checker_impl<libtorrent::aux::session_impl>
libtorrent::make_invariant_checker<libtorrent::aux::session_impl>(libtorren
t::aux::session_impl const&)
5: libtorrent::aux::session_impl::recalculate_unchoke_slots(int, int)
6: libtorrent::aux::session_impl::on_tick(boost::system::error_code const&)
7:
boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::bi
nder1<boost::_bi::bind_t<void, boost::_mfi::mf1<void,
libtorrent::aux::session_impl, boost::system::error_code const&>,
boost::_bi::list2<boost::_bi::value<libtorrent::aux::session_impl*>,
boost::arg<1> > >, boost::system::error_code>
>::do_call(boost::asio::detail::handler_queue::handler*)
8:
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<fal
se> >::run(boost::system::error_code&)
9: libtorrent::aux::session_impl::operator()()
10:
boost::detail::thread_data<boost::reference_wrapper<libtorrent::aux::sessio
n_impl> >::run()
11: thread_proxy
12:
13: clone
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb7491b70 (LWP 12028)]
0x00d76422 in __kernel_vsyscall ()
(gdb) bt 25
#0 0x00d76422 in __kernel_vsyscall ()
#1 0x006b8170 in raise (sig=2) at ../nptl/sysdeps/unix/sysv/linux/pt-
raise.c:42
#2 0x010ab734 in assert_fail (expr=0x13a7358 "c->remote() == c-
>get_socket()->remote_endpoint(ec) || ec", line=1205, file=0x13a6e5b
"policy.cpp",
function=0x13a75c0 "bool libtorrent::policy::has_connection(const
libtorrent::peer_connection*)") at assert.cpp:136
#3 0x011b46cf in libtorrent::policy::has_connection (this=0x8867260,
c=0xb5a9d178) at policy.cpp:1205
#4 0x011c2463 in libtorrent::aux::session_impl::check_invariant
(this=0x8691410) at session_impl.cpp:3362
#5 0x011dd967 in
libtorrent::invariant_checker_impl<libtorrent::aux::session_impl>
libtorrent::make_invariant_checker<libtorrent::aux::session_impl>(libtorren
t::aux::session_impl const&) () from /usr/lib/libtorrent-rasterbar.so.6
#6 0x011d50ef in libtorrent::aux::session_impl::recalculate_unchoke_slots
(this=0x8691410, congested_torrents=0, uncongested_torrents=4)
at session_impl.cpp:2191
#7 0x011d782b in libtorrent::aux::session_impl::on_tick (this=0x8691410,
e=...) at session_impl.cpp:1923
#8 0x011da21b in
boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::bi
nder1<boost::_bi::bind_t<void, boost::_mfi::mf1<void,
libtorrent::aux::session_impl, boost::system::error_code const&>,
boost::_bi::list2<boost::_bi::value<libtorrent::aux::session_impl*>,
boost::arg<1> > >, boost::system::error_code>
>::do_call(boost::asio::detail::handler_queue::handler*) () from
/usr/lib/libtorrent-rasterbar.so.6
#9 0x011110d7 in
boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<fal
se> >::run(boost::system::error_code&) ()
from /usr/lib/libtorrent-rasterbar.so.6
#10 0x011d4ef2 in boost::asio::io_service::run (this=0x8691410) at
/usr/include/boost/asio/impl/io_service.ipp:65
#11 libtorrent::aux::session_impl::operator() (this=0x8691410) at
session_impl.cpp:2370
#12 0x011e44d3 in
boost::detail::thread_data<boost::reference_wrapper<libtorrent::aux::sessio
n_impl> >::run() () from /usr/lib/libtorrent-rasterbar.so.6
#13 0x007c3ab5 in thread_proxy () from /usr/lib/libboost_thread.so.1.40.0
#14 0x006af8de in start_thread (arg=0xb7491b70) at pthread_create.c:300
#15 0x0152f8fe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Original issue reported on code.google.com by [email protected]
on 19 Jan 2010 at 12:42
What steps will reproduce the problem?
1. Download a multi-file torrent but set some files to be ignored
2. Wait for the torrent to complete (reach 100%)
3. You change your mind so you try to download the files you previously ignored
4. Problem: libtorrent does not allow to set the file_priority for seeding
torrents
What is the expected output? What do you see instead?
libtorrent should allow to set file priority for torrents that have a
progress 100% (but with files filtered).
What version of the product are you using? On what operating system?
libtorrent v0.14 or v0.15
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 14 Jan 2010 at 4:09
Normal kind of startup, occasional random failure
assertion failed. Please file a bugreport at
http://code.rasterbar.com/libtorrent/newticket
Please include the following information:
version: 0.15.0.0
$Rev: 3323 $
file: 'bt_peer_connection.cpp'
line: 2760
function: virtual void libtorrent::bt_peer_connection::on_receive(const
boost::system::error_code&, size_t)
expression: t->get_policy().has_connection(this)
stack:
1: ./td [0x808c6c3]
2: ./td [0x81c2a84]
3: ./td [0x824e93d]
4: ./td [0x8253117]
5: ./td [0x80cd9f7]
6: ./td [0x80b3835]
7: thread_proxy
8: /lib/libpthread.so.0 [0xb754442f]
9: clone
Original issue reported on code.google.com by [email protected]
on 8 Mar 2010 at 4:43
What steps will reproduce the problem?
1. A torrent is downloaded at place B
2. Remove the torrent from the download list (but do not delete local data)
3. Add the same torrent to the download list and download it to place A
4. You realize you used the wrong save_path so you call move_storage(place
B)
What is the expected output? What do you see instead?
libtorrent should detect the existing files in the location when the
storage is moved to and start checking the data. Instead, qBittorrent
starts downloading from scratch.
What version of the product are you using? On what operating system?
v0.14.7 on Ubuntu v10.04 (ext3 FS)
Please provide any additional information below.
Calling force_recheck() after calling move_storage() does work (it detects
exiting data) but I don't think I should have to call force_recheck().
Original issue reported on code.google.com by [email protected]
on 4 Jan 2010 at 8:55
What steps will reproduce the problem?
1. Use Ubuntu 9.10, 32 bit, with qbittorrent 2.0.5 (PPA)
2. Start two torrents, one slow, one fast
3. Check the output of htop (or similar)
What is the expected output? What do you see instead?
What I see: CPU usage > 90% on dual core AMD Turion
What version of the product are you using? On what operating system?
libtorrent-rasterbar5 (0.14.7+svn.r4133) on Ubuntu 9.10 32 bit
Please provide any additional information below.
strace produces constantly output similar to this:
- - -
gettimeofday({1262727476, 428648}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13,
events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15,
events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN},
{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=7, events=POLLIN},
{fd=40, events=POLLIN}, {fd=8, events=POLLIN}], 12, 0) = 0 (Timeout)
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
clock_gettime(CLOCK_MONOTONIC, {93537, 249214261}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249272090}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249350312}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249438312}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249524915}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249567099}) = 0
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
read(16, 0x92b5470, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
gettimeofday({1262727476, 429361}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13,
events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15,
events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN},
{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=7, events=POLLIN},
{fd=40, events=POLLIN}, {fd=8, events=POLLIN}], 12, 0) = 0 (Timeout)
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
clock_gettime(CLOCK_MONOTONIC, {93537, 249931112}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 249993690}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250073588}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250162147}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250249588}) = 0
clock_gettime(CLOCK_MONOTONIC, {93537, 250293169}) = 0
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
read(16, 0x92b5470, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
gettimeofday({1262727476, 430022}, NULL) = 0
poll([{fd=3, events=POLLIN}, {fd=11, events=POLLIN|POLLPRI}, {fd=13,
events=POLLIN|POLLPRI}, {fd=14, events=POLLIN|POLLPRI}, {fd=15,
events=POLLIN|POLLPRI}, {fd=16, events=POLLIN}, {fd=17, events=POLLIN},
{fd=18, events=POLLIN}, {fd=19, events=POLLIN}, {fd=7, events=POLLIN},
{fd=40, events=POLLIN}, {fd=8, events=POLLIN}], 12, 0) = 0 (Timeout)
read(7, 0x92813a0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
- - -
Hence, it seems to me that the poll() fails, causing failing read()'s. I
have already failed a but report to qbittorrent page, Christophe Dumez
suspected this could be a problem in libtorrent library.
Original issue reported on code.google.com by [email protected]
on 5 Jan 2010 at 10:36
What steps will reproduce the problem?
1. libtorrent now crashes on startup for some reason
2.
3.
What is the expected output? What do you see instead?
should not crash
What version of the product are you using? On what operating system?
libtorrent v0.15svn
Please provide any additional information below.
version: 0.15.0.0
$Rev: 3323 $
file: 'disk_io_thread.cpp'
line: 1269
function: void libtorrent::disk_io_thread::add_job(const
libtorrent::disk_io_job&, const boost::function<void(int, const
libtorrent::disk_io_job&)>&)
expression: !j.callback
stack:
1: assert_fail(char const*, int, char const*, char const*)
2: libtorrent::disk_io_thread::add_job(libtorrent::disk_io_job const&,
boost::function<void ()(int, libtorrent::disk_io_job const&)> const&)
3: libtorrent::disk_io_thread::operator()()
4:
boost::detail::thread_data<boost::reference_wrapper<libtorrent::disk_io_thr
ead> >::run()
5: thread_proxy
6:
7: clone
Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb7c91b70 (LWP 24188)]
0x00c4c422 in __kernel_vsyscall ()
(gdb) bt 25
#0 0x00c4c422 in __kernel_vsyscall ()
#1 0x0097a170 in raise (sig=2)
at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:42
#2 0x00f3e3d4 in assert_fail (expr=0x116efdb "!j.callback", line=1269,
file=0x116ef49 "disk_io_thread.cpp",
function=0x1170160 "void libtorrent::disk_io_thread::add_job(const
libtorrent::disk_io_job&, const boost::function<void(int, const
libtorrent::disk_io_job&)>&)") at assert.cpp:136
#3 0x00f6ac68 in
libtorrent::disk_io_thread::add_job(libtorrent::disk_io_job const&,
boost::function<void ()(int, libtorrent::disk_io_job const&)> const&) (
this=0x8688428, j=..., f=...) at disk_io_thread.cpp:1269
#4 0x00f73d87 in libtorrent::disk_io_thread::operator() (this=0x8688428)
at disk_io_thread.cpp:2053
#5 0x00f7aee3 in
boost::detail::thread_data<boost::reference_wrapper<libtorrent::disk_io_thr
ead> >::run() () from /usr/lib/libtorrent-rasterbar.so.6
#6 0x00920c1d in thread_proxy () from /usr/lib/libboost_thread-
mt.so.1.38.0
#7 0x009718de in start_thread (arg=0xb7c91b70) at pthread_create.c:300
#8 0x03f4173e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Original issue reported on code.google.com by [email protected]
on 13 Jan 2010 at 10:06
What steps will reproduce the problem?
1. Call set_dht_settings() on startup
2. it crashes when deleting UPnP mapping
What is the expected output? What do you see instead?
/lib/tls/i686/cmov/libpthread.so.0 : pthread_mutex_lock()+0x1d [0x3f6d1d]
/usr/lib/libtorrent-rasterbar.so.5 :
boost::unique_lock<boost::mutex>::unique_lock(boost::mutex&)+0x2b
[0x11087fb]
/usr/lib/libtorrent-rasterbar.so.5 :
libtorrent::upnp::delete_mapping(int)+0x2f [0x11f4e0f]
/usr/lib/libtorrent-rasterbar.so.5 :
libtorrent::aux::session_impl::set_dht_settings(libtorrent::dht_settings
const&)+0x9a [0x112189a]
/usr/lib/libtorrent-rasterbar.so.5 :
libtorrent::session::set_dht_settings(libtorrent::dht_settings const&)+0x27
[0x111c157]
qbittorrent : Bittorrent::setDHTPort(int)+0x3d [0x80eb9dd]
qbittorrent : Bittorrent::configureSession()+0x3d65 [0x81073c5]
qbittorrent : Bittorrent::Bittorrent()+0x519 [0x810a9a9]
qbittorrent : GUI::GUI(QWidget*, QStringList)+0x929 [0x809c419]
qbittorrent : main()+0x1002 [0x80b3352]
/lib/tls/i686/cmov/libc.so.6 : __libc_start_main()+0xe6 [0x84afb56]
qbittorrent [0x80907e1]
What version of the product are you using? On what operating system?
Ubuntu Karmic v9.10 32bits
Please provide any additional information below.
Initial bug report was here:
https://bugs.launchpad.net/qbittorrent/+bug/499439
Original issue reported on code.google.com by [email protected]
on 22 Dec 2009 at 2:21
What version of the product are you using? On what operating system?
x86_64 GNU/Linux
qbittorrent-2.2.1
libtorrent-rasterbar0.14-0.14.10
Please provide any additional information below.
stack trace is attached.
Original issue reported on code.google.com by [email protected]
on 21 Mar 2010 at 5:52
Attachments:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.