Hello to qBittorrent team.
I noticed that the program (v2.4.0) has random crashes. Is hard to say under what conditions it occurs.
Sometimes it's happens through short time after run (1-2 minutes).
So, all of I have it's console output with backtrace:
user@lenovo-laptop:~$ qbittorrent &
[1] 27781
user@lenovo-laptop:~$ Peer ID: -qB2400-
HTTP user agent is qBittorrent v2.4.0
qbittorrent: malloc.c:3951: __libc_valloc: Assertion `!p || ((((mchunkptr)((char*)(p) - 2*(sizeof(size_t)))))->size & 0x2) || ar_ptr == (((((mchunkptr)((char*)(p) - 2*(sizeof(size_t)))))->size & 0x4) ? ((heap_info *)((unsigned long)(((mchunkptr)((char*)(p) - 2*(sizeof(size_t))))) & ~((2 * (512 * 1024))-1)))->ar_ptr : &main_arena)' failed.
*************************************************************
Catching SIGABRT, please report a bug at http://bug.qbittorrent.org
and provide the following backtrace:
stack trace:
[0xb78a3400]
[0xb78a3424]
/lib/tls/i686/cmov/libc.so.6 : gsignal()+0x51 [0x41420651]
/lib/tls/i686/cmov/libc.so.6 : abort()+0x182 [0x41423a82]
/lib/tls/i686/cmov/libc.so.6() [0x41461794]
/lib/tls/i686/cmov/libc.so.6 : __libc_valloc()+0xe4 [0x41465d44]
/usr/lib/libtorrent-rasterbar.so.6 : libtorrent::page_aligned_allocator::malloc(unsigned int)+0x1d [0xb74b8b2d]
/usr/lib/libtorrent-rasterbar.so.6 : boost::pool<libtorrent::page_aligned_allocator>::ordered_malloc_need_resize()+0x5a [0xb74e581a]
/usr/lib/libtorrent-rasterbar.so.6 : libtorrent::disk_buffer_pool::allocate_buffer(char const*)+0xa6 [0xb74db0c6]
/usr/lib/libtorrent-rasterbar.so.6 : libtorrent::aux::session_impl::allocate_disk_buffer(char const*)+0x29 [0xb759a359]
/usr/lib/libtorrent-rasterbar.so.6 : libtorrent::peer_connection::allocate_disk_receive_buffer(int)+0x6a [0xb756460a]
/usr/lib/libtorrent-rasterbar.so.6 : libtorrent::bt_peer_connection::on_piece(int)+0x57d [0xb74c646d]
/usr/lib/libtorrent-rasterbar.so.6 : libtorrent::bt_peer_connection::dispatch_message(int)+0x158 [0xb74c84e8]
/usr/lib/libtorrent-rasterbar.so.6 : libtorrent::bt_peer_connection::on_receive(boost::system::error_code const&, unsigned int)+0x278 [0xb74c8fc8]
/usr/lib/libtorrent-rasterbar.so.6 : libtorrent::peer_connection::on_receive_data_nolock(boost::system::error_code const&, unsigned int)+0xd1 [0xb7573751]
/usr/lib/libtorrent-rasterbar.so.6 : libtorrent::peer_connection::on_receive_data(boost::system::error_code const&, unsigned int)+0x4c [0xb7574ddc]
/usr/lib/libtorrent-rasterbar.so.6 : boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::binder2<libtorrent::peer_connection::allocating_handler<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_connection> >, boost::arg<1>, boost::arg<2> > >, 256u>, boost::system::error_code, unsigned int> >::do_call(boost::asio::detail::handler_queue::handler*)+0xc8 [0xb7579ef8]
/usr/lib/libtorrent-rasterbar.so.6 : boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false> >::run(boost::system::error_code&)+0x301 [0xb7521161]
/usr/lib/libtorrent-rasterbar.so.6 : libtorrent::aux::session_impl::operator()()+0x5c [0xb75af96c]
/usr/lib/libtorrent-rasterbar.so.6 : boost::detail::thread_data<boost::reference_wrapper<libtorrent::aux::session_impl> >::run()+0x23 [0xb75be353]
/usr/lib/libboost_thread.so.1.42.0 : thread_proxy()+0x65 [0xb76ff0f5]
/lib/tls/i686/cmov/libpthread.so.0() [0x41d4996e]
/lib/tls/i686/cmov/libc.so.6 : clone()+0x5e [0x414c3a4e]
[1]+ Aborted qbittorrent
user@lenovo-laptop:~$
***
My environment:
OS: Ubuntu 10.04 LTS
$ uname -a
Linux lenovo-laptop 2.6.35.4-custom #1 SMP PREEMPT Mon Sep 6 03:36:21 GMT 2010 i686 GNU/Linux
Relevant packages:
$ dpkg-query --show qbittorrent libboost-filesystem1.42.0 libboost-system1.42.0 libboost-thread1.42.0 libc6 libgcc1 libqt4-dbus libqt4-network libqt4-xml libqtcore4 libqtgui4 libssl0.9.8 libstdc++6 libtorrent-rasterbar6 python | column -t
libboost-filesystem1.42.0 1.42.0-3ubuntu1
libboost-system1.42.0 1.42.0-3ubuntu1
libboost-thread1.42.0 1.42.0-3ubuntu1
libc6 2.11.1-0ubuntu7.2
libgcc1 1:4.4.3-4ubuntu5
libqt4-dbus 4:4.7.0-0ubuntu1
libqt4-network 4:4.7.0-0ubuntu1
libqt4-xml 4:4.7.0-0ubuntu1
libqtcore4 4:4.7.0-0ubuntu1
libqtgui4 4:4.7.0-0ubuntu1
libssl0.9.8 0.9.8o-2
libstdc++6 4.4.3-4ubuntu5
libtorrent-rasterbar6 0.15.3-0ubuntu1
python 2.6.5-0ubuntu1
qbittorrent 2.4.0-0ubuntu1
$ echo $LANG && echo $LANGUAGE
en_US.utf8
en_US:en
Please see other backtrace in attachments and also please tell if you need some other info. Thanks.
The question is how did you get libtorrent v0.15 on Ubuntu 10.04 LTS? Did you compile it yourself or did you backport it from Maverick? We only provide v0.14 on Ubuntu 10.04 because of this eglibc bug.. :)
There is a bug in glibc/eglibc which causes this crash in malloc. The issue has been fixed in recent glibc/eglibc so Ubuntu Maverick (10.10) has the fix.
If I remember correctly, eglibc has also been patched on Ubuntu 10.04 but you need to enable the ubuntu-proposed repository to get the fix: https:/ /wiki.ubuntu. com/Testing/ EnableProposed
Either enable the ubuntu proposed repository, switch to maverick or use libtorrent v0.14.x instead. It is up to you.
In any case, this is not a qbittorrent bug.