qbittorrent segfaults after a couple of minutes while seeding #6388

Open
jleclanche opened this Issue Feb 15, 2017 · 4 comments

Projects

None yet

2 participants

@jleclanche
Contributor

This has started happening recently. I've been transferring a 1TB archive to someone else using qbittorrent and for the past two days, it has started segfaulting while I'm seeding it.

This does not happen while seeding other torrents. It also didn't happen while seeding the first 4.5GB of the torrent, but now it's pretty much an immediate crash.

  • Arch Linux, tested on qbittorrent 3.3.10 and v3.4.0alpha (git master), libtorrent-rasterbar 1.1.1-6, qt5 5.8.0-5
*************************************************************
Catching signal: SIGSEGV
Please file a bug report at http://bug.qbittorrent.org and provide the following information:

qBittorrent version: v3.4.0alpha
stack trace:
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x15307c  [0x7fd40124207c]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x154d1e  [0x7fd401243d1e]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x9ef23  [0x7fd40118df23]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0xa1d0a  [0x7fd401190d0a]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0xa61d7  [0x7fd4011951d7]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0xa75be  [0x7fd4011965be]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x15c02c  [0x7fd40124b02c]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x15c427  [0x7fd40124b427]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x2da304  [0x7fd4013c9304]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x1b1f98  [0x7fd4012a0f98]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0xc1f1f  [0x7fd4011b0f1f]
  /usr/lib/libpthread.so.0 : ()+0x7454  [0x7fd3fee12454]
  /usr/lib/libc.so.6 : clone()+0x5f  [0x7fd3fe2b27df]
zsh: segmentation fault (core dumped)  qbittorrent

Currently recompiling libtorrent to see if I can reproduce with some debug symbols.

@jleclanche
Contributor

With debug enabled I'm getting an assert failure...

assertion failed. Please file a bugreport at https://github.com/arvidn/libtorrent/issues
Please include the following information:

version: 1.1.1.0-1229491

file: '../../libtorrent-libtorrent-1_1_1/src/session_impl.cpp'
line: 7090
function: void libtorrent::aux::session_impl::check_invariant() const
expression: m_stats_counters[counters::num_unchoke_slots] == (std::numeric_limits<int>::max)()

stack:
1: assert_fail(char const*, int, char const*, char const*, char const*, int)
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: clone

Catching signal: SIGINT
Exiting cleanly


*************************************************************
Catching signal: SIGABRT
Please file a bug report at http://bug.qbittorrent.org and provide the following information:

qBittorrent version: v3.4.0alpha
stack trace:
  /usr/lib/libc.so.6 : gsignal()+0xcf  [0x7f613111204f]
  /usr/lib/libc.so.6 : abort()+0x16a  [0x7f613111347a]
  /usr/lib/libtorrent-rasterbar.so.9 : assert_fail(char const*, int, char const*, char const*, char const*, int)+0xae  [0x7f613409291e]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x22d6cb  [0x7f61342316cb]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x24f02c  [0x7f613425302c]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x230bec  [0x7f6134234bec]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x2516a8  [0x7f61342556a8]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x22a49a  [0x7f613422e49a]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x2337d4  [0x7f61342377d4]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x1ff905  [0x7f6134203905]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x1f0d25  [0x7f61341f4d25]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0xd996f  [0x7f61340dd96f]
  /usr/lib/libpthread.so.0 : ()+0x7454  [0x7f6131d27454]
  /usr/lib/libc.so.6 : clone()+0x5f  [0x7f61311c77df]
zsh: abort (core dumped)  qbittorrent
@jleclanche
Contributor

Ok, with that one out of the way, I'm now getting this when I expect the crash:

assertion failed. Please file a bugreport at https://github.com/arvidn/libtorrent/issues
Please include the following information:

version: 1.1.1.0-1229491

file: '../../libtorrent-libtorrent-1_1_1/include/libtorrent/torrent.hpp'
line: 1066
function: bool libtorrent::torrent::verifying_piece(int) const
expression: piece < int(m_verifying.size())

stack:
1: assert_fail(char const*, int, char const*, char const*, char const*, int)
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: clone

Catching signal: SIGINT
Exiting cleanly


*************************************************************
Catching signal: SIGABRT
Please file a bug report at http://bug.qbittorrent.org and provide the following information:

qBittorrent version: v3.4.0alpha
stack trace:
  /usr/lib/libc.so.6 : gsignal()+0xcf  [0x7fc3d06b404f]
  /usr/lib/libc.so.6 : abort()+0x16a  [0x7fc3d06b547a]
  /usr/lib/libtorrent-rasterbar.so.9 : assert_fail(char const*, int, char const*, char const*, char const*, int)+0xae  [0x7fc3d363491e]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x172965  [0x7fc3d3718965]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x17bfb6  [0x7fc3d3721fb6]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0xaef96  [0x7fc3d3654f96]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0xb1cd9  [0x7fc3d3657cd9]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0xb7c12  [0x7fc3d365dc12]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0xb971d  [0x7fc3d365f71d]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x184efb  [0x7fc3d372aefb]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x18550f  [0x7fc3d372b50f]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x3380d4  [0x7fc3d38de0d4]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0x1f0d25  [0x7fc3d3796d25]
  /usr/lib/libtorrent-rasterbar.so.9 : ()+0xd996f  [0x7fc3d367f96f]
  /usr/lib/libpthread.so.0 : ()+0x7454  [0x7fc3d12c9454]
  /usr/lib/libc.so.6 : clone()+0x5f  [0x7fc3d07697df]
zsh: abort (core dumped)  qbittorrent
@arvidn
arvidn commented Feb 16, 2017

how did you get the first assert "out of the way"?

@jleclanche
Contributor

I removed it from the codebase as it was happening on application launch instead of when I would expect the crash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment