Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 303271 - =net-libs/rb_libtorrent-0.14.8-r2 assertion failed
Summary: =net-libs/rb_libtorrent-0.14.8-r2 assertion failed
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-02 21:44 UTC by Alexander Goomenyuk
Modified: 2010-09-05 11:28 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
console dump of assertion, attempt 2 (crash_console_dump.0.txt,7.90 KB, text/plain)
2010-03-21 16:59 UTC, Alexander Goomenyuk
Details
console dump of assertion, attempt 3 (crash_console_dump.1.txt,7.84 KB, text/plain)
2010-03-21 16:59 UTC, Alexander Goomenyuk
Details
emerge --info output (emerg.info,3.98 KB, text/plain)
2010-03-21 17:00 UTC, Alexander Goomenyuk
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Goomenyuk 2010-02-02 21:44:51 UTC
After I have used the qbitorrent-2.0.6 built this library I am experience permanent crash of torrent client at startup because of assertion failed in the rb_libtorrent. This happens as soon as last downloaded file recheck is completed.

[I] net-libs/rb_libtorrent
     Available versions:  0.14.6!t (~)0.14.8-r2!t {debug doc examples python test}
     Installed versions:  0.14.8-r2!t(22:44:53 02/02/10)(debug python -doc -examples -test)
     Homepage:            http://www.rasterbar.com/products/libtorrent/
     Description:         C++ BitTorrent implementation focusing on efficiency and scalability


[I] net-p2p/qbittorrent
     Available versions:  1.5.5 (~)2.0.6 {geoip libnotify}
     Installed versions:  2.0.6(23:41:00 01/26/10)(libnotify -geoip)
     Homepage:            http://www.qbittorrent.org/
     Description:         BitTorrent client in C++ and Qt


here is the console output:
Warning: Local domain socket was not closed cleanly, deleting file...
assertion failed. Please file a bugreport at http://code.rasterbar.com/libtorrent/newticket
Please include the following information:

$ qbittorrent
version: 0.14.8.0
$Rev: 4143 $
file: 'policy.cpp'
line: 1134
function: void libtorrent::policy::check_invariant() const
expression: m_num_connect_candidates <= m_peers.size()
stack:
1: assert_fail(char const*, int, char const*, char const*)
2: libtorrent::policy::check_invariant() const
3: libtorrent::invariant_checker_impl<libtorrent::policy>::~invariant_checker_impl()
4: libtorrent::policy::connection_closed(libtorrent::peer_connection const&)
5: libtorrent::torrent::remove_peer(libtorrent::peer_connection*)
6: libtorrent::peer_connection::disconnect(char const*, int)
7: libtorrent::peer_connection::on_connection_complete(boost::system::error_code const&)
8: boost::asio::detail::handler_queue::handler_wrapper<boost::asio::detail::binder1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, libtorrent::peer_connection, boost::system::error_code const&>, boost::_bi::list2<boost::_bi::value<boost::intrusive_ptr<libtorrent::peer_connection> >, boost::arg<1> > >, boost::system::error_code> >::do_call(boost::asio::detail::handler_queue::handler*)
9: boost::asio::detail::task_io_service<boost::asio::detail::epoll_reactor<false> >::run(boost::system::error_code&)
10: libtorrent::aux::session_impl::operator()()
11: boost::thread::thread_data<boost::reference_wrapper<libtorrent::aux::session_impl> >::run()
12: thread_proxy
13: /lib/libpthread.so.0 [0xb652d13f]
14: clone


Reproducible: Always

Steps to Reproduce:
1. start torrent client
2. wait till the recheck of already downloaded files is completed.





emerge --info
Portage 2.1.6.13 (default/linux/x86/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.29-gentoo-r6 i686)
=================================================================
System uname: Linux-2.6.29-gentoo-r6-i686-AMD_Athlon-tm-_64_FX-60_Dual_Core_Processor-with-gentoo-1.12.13
Timestamp of tree: Sun, 17 Jan 2010 11:45:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.4
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=k8 -pipe -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=k8 -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms splitdebug strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.tups.lv/source/ http://ftp.ds.karen.hj.se/gentoo/ http://mirror.uni-c.dk/gentoo/ http://ftp.df.lth.se/pub/gentoo/"
LANG="C"
LDFLAGS="-Wl,-O1"
LINGUAS="en ru de lv"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://192.168.0.2/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acl acpi alsa automount bash-completion berkdb blas bzip2 cairo cdr cleartype cli consolekit cracklib crypt cups cxx dbus debug directfb djvu dri dvd dvdr dvi emacs exif fam fbcon ffmpeg firefox flash fortran gd gdbm gif ginac glitz gnome gnome-keyring gphoto2 gpm gstreamer gtk h323 hal icc iconv ifc ipv6 java jpeg jpeg2k lame libnotify lm_sensors mad mmx mmxext modules mp3 mpeg mpi mudflap nautilus ncurses networkmanager nls nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pdf perl pipechan pmu png policykit pppd profile python qt3 qt3support qt4 quicktime readline reflection samba scanner session sip spell spl sse sse2 ssl svg sysfs syslog tcpd threads tiff truetype unicode usb v4l v4l2 vorbis wav wxwindows x86 xcb xine xml xorg xpm xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ru de lv" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Ben de Groot (RETIRED) gentoo-dev 2010-02-26 13:03:53 UTC
Please disable ccache and rebuild rb_libtorrent.
Comment 2 Alexander Goomenyuk 2010-03-21 16:53:50 UTC
(In reply to comment #1)
> Please disable ccache and rebuild rb_libtorrent.
> 

I have tried to build without the ccache (see attachments for more details).

Unfortunately the assertion still fails at the same place.

The only thing helps it to disable the debug build option.

I am hesitating to submit this bug to mainstream, because the patches were applied by gentoo team.
Comment 3 Alexander Goomenyuk 2010-03-21 16:59:28 UTC
Created attachment 224555 [details]
console dump of assertion, attempt 2

I should note that the assertion failed only at second start of bittorrent client (qbitorrent) after it rb_libtorrent was rebuilt with debug build option enabled. The crash happens after 1-2 minutes after client application starts.

I have tried start the client three times and two times the assertion was failed.
Comment 4 Alexander Goomenyuk 2010-03-21 16:59:43 UTC
Created attachment 224557 [details]
console dump of assertion, attempt 3
Comment 5 Alexander Goomenyuk 2010-03-21 17:00:52 UTC
Created attachment 224559 [details]
emerge --info output
Comment 6 Alexander Goomenyuk 2010-03-21 17:01:27 UTC
Comment on attachment 224559 [details]
emerge --info output

You can check the info, that ccache is disabled indeed.
Comment 7 Ben de Groot (RETIRED) gentoo-dev 2010-03-26 20:59:24 UTC
Do you get the same with rb_libtorrent-0.14.9 and qbittorrent-2.2.2? And which version of boost do you use?
Comment 8 Alexander Goomenyuk 2010-09-05 11:28:50 UTC
(In reply to comment #7)
> Do you get the same with rb_libtorrent-0.14.9 and qbittorrent-2.2.2? And which
> version of boost do you use?
> 

Sorry, had no time to check this. I think the bug may be closed since the newer versions of torrent lib and client available.