qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
27.04k stars 3.89k forks source link

4.3.1 crashed on Manjaro unstable #13989

Closed abcfy2 closed 3 years ago

abcfy2 commented 3 years ago

qBittorrent version and Operating System

❯ screenfetch

 ██████████████████  ████████     fengyu@fengyu-manjaro
 ██████████████████  ████████     OS: Manjaro 20.2 Nibia
 ██████████████████  ████████     Kernel: x86_64 Linux 5.10.1-2-MANJARO
 ██████████████████  ████████     Uptime: 2h 41m
 ████████            ████████     Packages: 1708
 ████████  ████████  ████████     Shell: zsh 5.8
 ████████  ████████  ████████     Resolution: 2560x1440
 ████████  ████████  ████████     DE: KDE 5.77.0 / Plasma 5.20.4
 ████████  ████████  ████████     WM: KWin
 ████████  ████████  ████████     GTK Theme: Qogir-dark [GTK2/3]
 ████████  ████████  ████████     Icon Theme: Qogir-dark
 ████████  ████████  ████████     Disk: 459G / 940G (49%)
 ████████  ████████  ████████     CPU: AMD Ryzen 7 3700X 8-Core @ 16x 4.05GHz
 ████████  ████████  ████████     GPU: AMD Radeon RX 580 2048SP (POLARIS10, DRM 3.40.0, 5.10.1-2-MANJARO, LLVM 11.0.0)
                                  RAM: 9364MiB / 16004MiB

If on linux, libtorrent-rasterbar and Qt version

$ LC_ALL=en_US.UTF-8 pacman -Si libtorrent-rasterbar
Repository      : extra
Name            : libtorrent-rasterbar
Version         : 1:1.2.10-7
Description     : A C++ BitTorrent library that aims to be a good alternative to all the other implementations around
Architecture    : x86_64
URL             : https://www.rasterbar.com/products/libtorrent/
Licenses        : BSD
Groups          : None
Provides        : None
Depends On      : boost-libs
Optional Deps   : None
Conflicts With  : None
Replaces        : None
Download Size   : 2.05 MiB
Installed Size  : 7.83 MiB
Packager        : Felix Yan <felixonmars@archlinux.org>
Build Date      : Sat 12 Dec 2020 10:58:42 PM CST
Validated By    : MD5 Sum  SHA-256 Sum  Signature

$ LC_ALL=en_US.UTF-8 pacman -Si qt5-base
Repository      : extra
Name            : qt5-base
Version         : 5.15.2-1
Description     : A cross-platform application and UI framework
Architecture    : x86_64
URL             : https://www.qt.io
Licenses        : GPL3  LGPL3  FDL  custom
Groups          : qt  qt5
Provides        : None
Depends On      : libjpeg-turbo  xcb-util-keysyms  xcb-util-renderutil  libgl  fontconfig  xdg-utils  shared-mime-info  xcb-util-wm  libxrender  libxi  sqlite  xcb-util-image  mesa  tslib  libinput
                  libxkbcommon-x11  libproxy  libcups  double-conversion  md4c  icu
Optional Deps   : qt5-svg: to use SVG icon themes
                  qt5-wayland: to run Qt applications in a Wayland session
                  qt5-translations: for some native UI translations
                  postgresql-libs: PostgreSQL driver
                  mariadb-libs: MariaDB driver
                  unixodbc: ODBC driver
                  libfbclient: Firebird/iBase driver
                  freetds: MS SQL driver
                  gtk3: GTK platform plugin
                  perl: for fixqt4headers and syncqt
Conflicts With  : qtchooser
Replaces        : None
Download Size   : 17.70 MiB
Installed Size  : 64.12 MiB
Packager        : Philip Mueller <philm@manjaro.org>
Build Date      : Sun 22 Nov 2020 07:16:09 PM CST
Validated By    : MD5 Sum  SHA-256 Sum  Signature

What is the problem

segmentation fault (core dumped)

❯ src/qbittorrent
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 680, resource id: 0, major code: 18 (ChangeProperty), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 682, resource id: 0, major code: 18 (ChangeProperty), minor code: 0
libpng warning: sRGB: cHRM chunk does not match sRGB
libpng warning: sRGB: cHRM chunk does not match sRGB
libpng warning: IDAT: Extra compressed data
libpng warning: IDAT: Extra compressed data

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

qBittorrent version: v4.3.1

Caught signal: SIGSEGV
Stack trace:
  /usr/lib/libtorrent-rasterbar.so.10 : libtorrent::announce_entry::operator=(libtorrent::announce_entry const&)+0x6f0  [0x7f84ca3c2250]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x2528ff  [0x7f84ca5768ff]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x281a85  [0x7f84ca5a5a85]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x2ca2b9  [0x7f84ca5ee2b9]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x2ce2e5  [0x7f84ca5f22e5]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0xaa173  [0x7f84ca3ce173]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x1c7521  [0x7f84ca4eb521]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x1c4bc4  [0x7f84ca4e8bc4]
  /usr/lib/libstdc++.so.6 : ()+0xcfc24  [0x7f84c8c0cc24]
  /usr/lib/libpthread.so.0 : ()+0x93e9  [0x7f84ca3063e9]
  /usr/lib/libc.so.6 : clone()+0x43  [0x7f84c8914293]
[1]    31073 segmentation fault (core dumped)  src/qbittorrent

Extra info(if any)

Seems that windows still with this issue: https://github.com/c0re100/qBittorrent-Enhanced-Edition/issues/192

FranciscoPombal commented 3 years ago

What are the steps to reproduce? Any change you can install a libtorrent package with debug symbols, so that we get a stack trace with debug symbols?

abcfy2 commented 3 years ago

Here is the archlinux libtorrent package: https://www.archlinux.org/packages/extra/x86_64/libtorrent-rasterbar/

But how to make a debug symbols?

I just use qbittorrent to download some magnet links as you see.

FranciscoPombal commented 3 years ago

@abcfy2 https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces

FranciscoPombal commented 3 years ago

Well, if anyone can get a stacktrace with debug symbols for this crash, please post it here and in the libtorrent issue tracker.

FranciscoPombal commented 3 years ago

@abcfy2 If you could also generate a core dump (https://wiki.archlinux.org/index.php/Core_dump), please post it here.

abcfy2 commented 3 years ago

OK. I've compiled libtorrent with debug support.

# libtorrent
./configure --enable-debug
make -j$(nproc)
sudo install
# install to /usr/local/lib
$ LD_LIBRARY_PATH=/usr/local/lib ldd src/qbittorrent
        linux-vdso.so.1 (0x00007ffc0cdf4000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f56b559c000)
        libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007f56b550b000)
        libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007f56b522d000)
        libtorrent-rasterbar.so.10 => /usr/local/lib/libtorrent-rasterbar.so.10 (0x00007f56b4d4d000)  # OK, used my own libtorrent-rasterbar with debug support
        libboost_system.so.1.75.0 => /usr/lib/libboost_system.so.1.75.0 (0x00007f56b4d48000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f56b4d26000)
        libQt5Svg.so.5 => /usr/lib/libQt5Svg.so.5 (0x00007f56b4ccd000)
        libQt5Widgets.so.5 => /usr/lib/libQt5Widgets.so.5 (0x00007f56b4639000)
        libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5 (0x00007f56b3f6b000)
        libQt5DBus.so.5 => /usr/lib/libQt5DBus.so.5 (0x00007f56b3ee5000)
        libQt5Network.so.5 => /usr/lib/libQt5Network.so.5 (0x00007f56b3d63000)
        libQt5Xml.so.5 => /usr/lib/libQt5Xml.so.5 (0x00007f56b3d20000)
        libQt5Core.so.5 => /usr/lib/libQt5Core.so.5 (0x00007f56b37c9000)
        libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f56b3743000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f56b3566000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f56b3420000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f56b3406000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f56b323d000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f56b5e09000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f56b3235000)
        librt.so.1 => /usr/lib/librt.so.1 (0x00007f56b322a000)
        libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f56b31f3000)
        libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f56b3124000)
        libmd4c.so.0 => /usr/lib/libmd4c.so.0 (0x00007f56b310e000)
        libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f56b30b7000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007f56b3062000)
        libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f56b2fac000)
        libdouble-conversion.so.3 => /usr/lib/libdouble-conversion.so.3 (0x00007f56b2f95000)
        libicui18n.so.67 => /usr/lib/libicui18n.so.67 (0x00007f56b2c95000)
        libicuuc.so.67 => /usr/lib/libicuuc.so.67 (0x00007f56b2aae000)
        libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0 (0x00007f56b2a21000)
        libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007f56b294f000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f56b281b000)
        libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f56b2764000)
        libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007f56b2731000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f56b265b000)
        libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f56b2636000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007f56b2550000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007f56b251f000)
        libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007f56b2519000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007f56b250a000)
        libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0x00007f56b2501000)
        libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f56b24e7000)
        liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f56b24bf000)
        liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f56b249c000)
        libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f56b237b000)
        libicudata.so.67 => /usr/lib/libicudata.so.67 (0x00007f56b0864000)
        libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f56b07f0000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f56b06af000)
        libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f56b069c000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f56b0675000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f56b064b000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f56b0644000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f56b063c000)
$ LD_LIBRARY_PATH=/usr/local/lib gdb src/qbittorrent
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from src/qbittorrent...
(gdb) run
Starting program: /tmp/qBittorrent-release-4.3.1/src/qbittorrent 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff2735640 (LWP 130116)]
[New Thread 0x7fffebc42640 (LWP 130122)]
[New Thread 0x7fffd72a6640 (LWP 130123)]
[New Thread 0x7fffd6aa5640 (LWP 130124)]
[New Thread 0x7fffd62a4640 (LWP 130125)]
[New Thread 0x7fffd5aa3640 (LWP 130126)]
[New Thread 0x7fffd52a2640 (LWP 130127)]
[New Thread 0x7fffd4aa1640 (LWP 130128)]
[New Thread 0x7fffbffff640 (LWP 130129)]
[New Thread 0x7fffbf7fe640 (LWP 130130)]
[New Thread 0x7fffbeffd640 (LWP 130131)]
[New Thread 0x7fffbe7fc640 (LWP 130132)]
[New Thread 0x7fffbdffb640 (LWP 130133)]
[New Thread 0x7fffbd7fa640 (LWP 130134)]
[New Thread 0x7fffbcff9640 (LWP 130135)]
[New Thread 0x7fff9bfff640 (LWP 130136)]
[New Thread 0x7fff93fff640 (LWP 130137)]
[New Thread 0x7fff9b7fe640 (LWP 130138)]
[New Thread 0x7fff9affd640 (LWP 130139)]
[New Thread 0x7fff9a7fc640 (LWP 130140)]
[New Thread 0x7fff99ffb640 (LWP 130141)]
[New Thread 0x7fff997fa640 (LWP 130142)]
[New Thread 0x7fff98ff9640 (LWP 130143)]
[New Thread 0x7fff937fe640 (LWP 130144)]
[New Thread 0x7fff925ed640 (LWP 130145)]
[New Thread 0x7fff91dec640 (LWP 130146)]
[New Thread 0x7fff915eb640 (LWP 130147)]
[New Thread 0x7fff90dea640 (LWP 130148)]
[New Thread 0x7fff63fff640 (LWP 130149)]
[New Thread 0x7fff637fe640 (LWP 130150)]
[New Thread 0x7fff62ffd640 (LWP 130151)]
[New Thread 0x7fff627fc640 (LWP 130152)]
[New Thread 0x7fff61ffb640 (LWP 130153)]
[New Thread 0x7fff617fa640 (LWP 130154)]
[New Thread 0x7fff60ff9640 (LWP 130155)]
[New Thread 0x7fff48d05640 (LWP 130156)]
[New Thread 0x7fff33fff640 (LWP 130157)]
[New Thread 0x7fff337fe640 (LWP 130158)]
[New Thread 0x7fff32ffd640 (LWP 130159)]
[New Thread 0x7fff327fc640 (LWP 130160)]
[New Thread 0x7fff31ffb640 (LWP 130161)]
[New Thread 0x7fff317fa640 (LWP 130162)]
[New Thread 0x7fff30ff9640 (LWP 130163)]
[New Thread 0x7fff13fff640 (LWP 130164)]
[New Thread 0x7fff137fe640 (LWP 130165)]
[New Thread 0x7fff12ffd640 (LWP 130166)]
[New Thread 0x7fff127fc640 (LWP 130167)]
[New Thread 0x7fff11ffb640 (LWP 130168)]
[New Thread 0x7fff117fa640 (LWP 130169)]
[New Thread 0x7fff10ff9640 (LWP 130170)]
[New Thread 0x7ffef3fff640 (LWP 130171)]
[New Thread 0x7ffef37fe640 (LWP 130172)]
[New Thread 0x7ffef2ffd640 (LWP 130173)]
[New Thread 0x7ffef27fc640 (LWP 130174)]
[New Thread 0x7ffef1ffb640 (LWP 130175)]
[Detaching after fork from child process 130177]
[Detaching after fork from child process 130178]
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 677, resource id: 0, major code: 18 (ChangeProperty), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 679, resource id: 0, major code: 18 (ChangeProperty), minor code: 0
[New Thread 0x7ffef0ad5640 (LWP 130182)]
[New Thread 0x7ffedbfff640 (LWP 130216)]
[New Thread 0x7ffedb7fe640 (LWP 130217)]
[New Thread 0x7ffedaffd640 (LWP 130218)]
[New Thread 0x7ffeda7fc640 (LWP 130219)]
[New Thread 0x7ffed9ffb640 (LWP 130220)]
[New Thread 0x7ffed97fa640 (LWP 130221)]
[New Thread 0x7ffed8ff9640 (LWP 130222)]
[New Thread 0x7ffeb7fff640 (LWP 130223)]
[New Thread 0x7ffeb77fe640 (LWP 130224)]
[New Thread 0x7ffeb6ffd640 (LWP 130225)]
[New Thread 0x7ffeb67fc640 (LWP 130226)]
[New Thread 0x7ffeb5ffb640 (LWP 130227)]
libpng warning: sRGB: cHRM chunk does not match sRGB
libpng warning: sRGB: cHRM chunk does not match sRGB
libpng warning: IDAT: Extra compressed data
libpng warning: IDAT: Extra compressed data
[Thread 0x7fff48d05640 (LWP 130156) exited]
[Thread 0x7fff337fe640 (LWP 130158) exited]
[Thread 0x7fff327fc640 (LWP 130160) exited]
[Thread 0x7fff317fa640 (LWP 130162) exited]
[Thread 0x7fff13fff640 (LWP 130164) exited]
[Thread 0x7fff30ff9640 (LWP 130163) exited]
[Thread 0x7fff11ffb640 (LWP 130168) exited]
[Thread 0x7fff12ffd640 (LWP 130166) exited]
[Thread 0x7fff31ffb640 (LWP 130161) exited]
[Thread 0x7fff61ffb640 (LWP 130153) exited]
[Thread 0x7ffed97fa640 (LWP 130221) exited]
[Thread 0x7ffeb6ffd640 (LWP 130225) exited]
[Thread 0x7ffeb5ffb640 (LWP 130227) exited]
[Thread 0x7ffeb7fff640 (LWP 130223) exited]
[Thread 0x7ffed9ffb640 (LWP 130220) exited]
[Thread 0x7fff627fc640 (LWP 130152) exited]
[Thread 0x7fff62ffd640 (LWP 130151) exited]
[Thread 0x7ffef2ffd640 (LWP 130173) exited]
[Thread 0x7fff137fe640 (LWP 130165) exited]
[Thread 0x7fff127fc640 (LWP 130167) exited]
[Thread 0x7ffef37fe640 (LWP 130172) exited]
[Thread 0x7fff117fa640 (LWP 130169) exited]
[Thread 0x7ffef3fff640 (LWP 130171) exited]
[Thread 0x7fff10ff9640 (LWP 130170) exited]
[Thread 0x7fff33fff640 (LWP 130157) exited]
[Thread 0x7fff32ffd640 (LWP 130159) exited]
[Thread 0x7ffef27fc640 (LWP 130174) exited]
[Thread 0x7ffedaffd640 (LWP 130218) exited]
[Thread 0x7ffeb67fc640 (LWP 130226) exited]
[Thread 0x7ffedb7fe640 (LWP 130217) exited]
[Thread 0x7ffedbfff640 (LWP 130216) exited]
[Thread 0x7ffed8ff9640 (LWP 130222) exited]
[Thread 0x7ffeb77fe640 (LWP 130224) exited]
[Thread 0x7ffeda7fc640 (LWP 130219) exited]
[Thread 0x7fff617fa640 (LWP 130154) exited]
[Thread 0x7ffef1ffb640 (LWP 130175) exited]
[New Thread 0x7ffef1ffb640 (LWP 130313)]
[New Thread 0x7ffeda7fc640 (LWP 130314)]
[New Thread 0x7ffeb77fe640 (LWP 130315)]
assertion failed. Please file a bugreport at https://github.com/arvidn/libtorrent/issues
Please include the following information:

version: 1.2.11.0-6597bd0f1

file: 'http_parser.cpp'
line: 616
function: collapse_chunk_headers
expression: chunk_end - offset <= buffer.size()

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

--Type <RET> for more, q to quit, c to continue without paging--c

Thread 27 "qbittorrent" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff91dec640 (LWP 130146)]
0x00007ffff7708f75 in raise () from /usr/lib/libpthread.so.0
(gdb) c
Continuing.

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

qBittorrent version: v4.3.1

Caught signal: SIGABRT
Stack trace:
  /usr/lib/libpthread.so.0 : raise()+0x145  [0x7ffff7708f75]
  /usr/local/lib/libtorrent-rasterbar.so.10 : libtorrent::assert_fail(char const*, int, char const*, char const*, char const*, int)+0xa4  [0x7ffff77cfbe4]
  /usr/local/lib/libtorrent-rasterbar.so.10 : ()+0x1643ac  [0x7ffff78803ac]
  /usr/local/lib/libtorrent-rasterbar.so.10 : ()+0x133861  [0x7ffff784f861]
  /usr/local/lib/libtorrent-rasterbar.so.10 : ()+0x137a1a  [0x7ffff7853a1a]
  /usr/local/lib/libtorrent-rasterbar.so.10 : ()+0x13e8f7  [0x7ffff785a8f7]
  /usr/local/lib/libtorrent-rasterbar.so.10 : ()+0xc50c4  [0x7ffff77e10c4]
  /usr/local/lib/libtorrent-rasterbar.so.10 : ()+0x22a029  [0x7ffff7946029]
  /usr/local/lib/libtorrent-rasterbar.so.10 : ()+0x22755e  [0x7ffff794355e]
  /usr/lib/libstdc++.so.6 : ()+0xcfc24  [0x7ffff6004c24]
  /usr/lib/libpthread.so.0 : ()+0x93e9  [0x7ffff76fe3e9]
  /usr/lib/libc.so.6 : clone()+0x43  [0x7ffff5d0c293]

Thread 27 "qbittorrent" received signal SIGABRT, Aborted.
0x00007ffff7708f75 in raise () from /usr/lib/libpthread.so.0
(gdb) c
Continuing.
Couldn't get registers: 没有那个进程.
Couldn't get registers: 没有那个进程.
(gdb) c
Continuing.
Couldn't get registers: 没有那个进程.
Couldn't get registers: 没有那个进程.
(gdb) [Thread 0x7ffeb77fe640 (LWP 130315) exited]
[Thread 0x7ffeda7fc640 (LWP 130314) exited]
[Thread 0x7ffef1ffb640 (LWP 130313) exited]
[Thread 0x7ffef0ad5640 (LWP 130182) exited]
[Thread 0x7fff60ff9640 (LWP 130155) exited]
[Thread 0x7fff637fe640 (LWP 130150) exited]
[Thread 0x7fff63fff640 (LWP 130149) exited]
[Thread 0x7fff90dea640 (LWP 130148) exited]
[Thread 0x7fff915eb640 (LWP 130147) exited]
[Thread 0x7fff925ed640 (LWP 130145) exited]
[Thread 0x7fff937fe640 (LWP 130144) exited]
[Thread 0x7fff98ff9640 (LWP 130143) exited]
[Thread 0x7fff997fa640 (LWP 130142) exited]
[Thread 0x7fff99ffb640 (LWP 130141) exited]
[Thread 0x7fff9a7fc640 (LWP 130140) exited]
[Thread 0x7fff9affd640 (LWP 130139) exited]
[Thread 0x7fff9b7fe640 (LWP 130138) exited]
[Thread 0x7fff93fff640 (LWP 130137) exited]
[Thread 0x7fff9bfff640 (LWP 130136) exited]
[Thread 0x7fffbcff9640 (LWP 130135) exited]
[Thread 0x7fffbd7fa640 (LWP 130134) exited]
[Thread 0x7fffbdffb640 (LWP 130133) exited]
[Thread 0x7fffbe7fc640 (LWP 130132) exited]
[Thread 0x7fffbeffd640 (LWP 130131) exited]
[Thread 0x7fffbf7fe640 (LWP 130130) exited]
[Thread 0x7fffbffff640 (LWP 130129) exited]
[Thread 0x7fffd4aa1640 (LWP 130128) exited]
[Thread 0x7fffd52a2640 (LWP 130127) exited]
[Thread 0x7fffd5aa3640 (LWP 130126) exited]
[Thread 0x7fffd62a4640 (LWP 130125) exited]
[Thread 0x7fffd6aa5640 (LWP 130124) exited]
[Thread 0x7fffd72a6640 (LWP 130123) exited]
[Thread 0x7fffebc42640 (LWP 130122) exited]
[Thread 0x7ffff2735640 (LWP 130116) exited]
[Thread 0x7ffff3002c00 (LWP 130097) exited]

Program terminated with signal SIGABRT, Aborted.
The program no longer exists.

The program is not being run.
(gdb) 
FranciscoPombal commented 3 years ago

@abcfy2 Is this the regular qBittorrent, or the enhanced edition? If it is the latter, can you reproduce the crash with the regular qBittorrent?

FranciscoPombal commented 3 years ago

@arvidn

Interesting snippet for libtorrent from the stacktrace above:

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

version: 1.2.11.0-6597bd0f1

file: 'http_parser.cpp'
line: 616
function: collapse_chunk_headers
expression: chunk_end - offset <= buffer.size()

stack:
1: libtorrent::assert_fail(char const*, int, char const*, char const*, char const*, int)
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: clone
abcfy2 commented 3 years ago

@abcfy2 Is this the regular qBittorrent, or the enhanced edition? If it is the latter, can you reproduce the crash with the regular qBittorrent?

Yes it's the regular qBitorrent. But both have this same issue.

zywo commented 3 years ago

As reported some days ago: https://github.com/qbittorrent/qBittorrent/issues/13790#issuecomment-732240772

davidfrickert commented 3 years ago

Fixed for me in qbittorrent-nox-4.3.1-1.1-armv7h. (Arch Linux ARM)

FranciscoPombal commented 3 years ago

@davidfrickert

Fixed for me in qbittorrent-nox-4.3.1-1.1-armv7h. (Arch Linux ARM)

What is the libtorrent version? Is it more recent than RC_1_2 @ 6597bd0f1?

davidfrickert commented 3 years ago

@davidfrickert

Fixed for me in qbittorrent-nox-4.3.1-1.1-armv7h. (Arch Linux ARM)

What is the libtorrent version? Is it more recent than RC_1_2 @ 6597bd0f1?

[2020-12-17T16:11:26+0000] [ALPM] upgraded libtorrent-rasterbar (1:1.2.10-6 -> 1:1.2.10-7)
[2020-12-17T20:16:05+0000] [ALPM] upgraded qbittorrent-nox (4.3.1-1 -> 4.3.1-1.1)

These are the versions I have. this update seems to have fixed the problem

FranciscoPombal commented 3 years ago

@davidfrickert

[2020-12-17T16:11:26+0000] [ALPM] upgraded libtorrent-rasterbar (1:1.2.10-6 -> 1:1.2.10-7)

This is the version OP is using as well. I don't think this is the fix.

This package is just upstream 1.2.10, with a patch to force building with C++14 which is expected and has been there for a while: https://github.com/archlinux/svntogit-packages/blob/1fb49d5583535b749648d7255d0f69e1ccc22a18/trunk/PKGBUILD#L16.

The only change from -6 to -7 was rebuilding with boost 1.75: https://github.com/archlinux/svntogit-packages/commit/66db02de0dbc785636ec930e256d1911fbaa4201#diff-3e341d2d9c67be01819b25b25d5e53ea3cdf3a38d28846cda85a195eb9b7203a

My guess is that you either simply stopped using tracker(s) that triggered this bug, or maybe those trackers were sending malformed responses in some way and fixed that problem in the meantime on their side.

davidfrickert commented 3 years ago

@FranciscoPombal

What about the change: [2020-12-17T20:16:05+0000] [ALPM] upgraded qbittorrent-nox (4.3.1-1 -> 4.3.1-1.1) Subtle 4.3.1-1 to 4.3.1-1.1 (some kind of hotfix perhaps?) ?

But yeah, I'm not sure since all I did was this system update and qbittorrent-nox started working again.

FranciscoPombal commented 3 years ago

@FranciscoPombal

What about the change: [2020-12-17T20:16:05+0000] [ALPM] upgraded qbittorrent-nox (4.3.1-1 -> 4.3.1-1.1) Subtle 4.3.1-1 to 4.3.1-1.1 (some kind of hotfix perhaps?) ?

But yeah, I'm not sure since all I did was this system update and qbittorrent-nox started working again.

@davidfrickert This crash happens in libtorrent, I don't think that makes any difference. Plus, I only see up to 4.3.1-1 (November 30th) here: https://github.com/archlinux/svntogit-community/commits/packages/qbittorrent/trunk, so not sure what that extra version is about.

arvidn commented 3 years ago

the report here is an assertion failure. It should not be referred to as a "crash". The fix is to build libtorrent with asserts disabled (i.e. in release mode)

abcfy2 commented 3 years ago

the report here is an assertion failure. It should not be referred to as a "crash". The fix is to build libtorrent with asserts disabled (i.e. in release mode)

How to build in release mode with gdb support?

abcfy2 commented 3 years ago

Strange. Unable linking today:

$ LC_ALL=en_US.UTF-8 make -j$(nproc)
cd src/ && ( test -e Makefile || /usr/bin/qmake -o Makefile /tmp/qBittorrent-release-4.3.1/src/src.pro QMAKE_LRELEASE= ) && make -f Makefile 
make[1]: Entering directory '/tmp/qBittorrent-release-4.3.1/src'
linking qbittorrent
/usr/bin/ld: /usr/bin/ld: DWARF error: could not find variable specification at offset ca2f6
/usr/bin/ld: DWARF error: could not find variable specification at offset 8d316
/usr/bin/ld: DWARF error: could not find variable specification at offset 8ffc0
/usr/bin/ld: DWARF error: could not find variable specification at offset 8fefc
/usr/bin/ld: DWARF error: could not find variable specification at offset 93d41
/usr/bin/ld: DWARF error: could not find variable specification at offset 93e7b
session.o: in function `libtorrent::session::session(libtorrent::session_params const&)':
/usr/local/include/libtorrent/session.hpp:192: undefined reference to `libtorrent::session::start(libtorrent::flags::bitfield_flag<unsigned char, libtorrent::session_flags_tag, void>, libtorrent::session_params&&, boost::asio::io_context*)'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:1253: qbittorrent] Error 1
make[1]: Leaving directory '/tmp/qBittorrent-release-4.3.1/src'
make: *** [Makefile:47: sub-src-make_first] Error 2
FranciscoPombal commented 3 years ago

I suggest starting from scratch with CMake instead (adapt steps from here: https://github.com/qbittorrent/qBittorrent/wiki/Compilation:-Debian,-Ubuntu,-and-derivatives). It seems the Arch Linux package is being built with asserts turned on, though there is no obvious indication from the build flags that this is happening (excerpt from the PKGBUILD at https://github.com/archlinux/svntogit-packages/blob/packages/libtorrent-rasterbar/trunk/PKGBUILD):

prepare() {
  cd $pkgname-$pkgver
  # https://bugs.archlinux.org/task/67754
  patch -p1 -i ../$pkgname-cxx14-fix.patch

  # Avoid depending on newer processors
  sed -i 's/-msse4.2//' configure.ac

  autoreconf -if
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --enable-python-binding \
    --enable-examples \
    --disable-static \
    --with-libiconv \
    --with-boost-python=boost_python3
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

  # Remove most example binaries
  rm "$pkgdir"/usr/bin/{*_test,*_tester,simple_client,stats_counters}
}

I guess this should be reported to the Arch Linux packagers. It's probably not desirable to have the asserts turned on in the default distro package (https://libtorrent.org/building.html#building-with-other-build-systems):

By default libtorrent is built In debug mode, and will have pretty expensive invariant checks and asserts built into it. If you want to disable such checks (you want to do that in a release build)

abcfy2 commented 3 years ago

@FranciscoPombal I find Archlinux does not turn on debug by default:

Here is the default makepkg.conf:

#...
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="x86_64"
CHOST="x86_64-pc-linux-gnu"

#-- Compiler and Linker Flags
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j$(($(nproc)+1))"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(!distcc color !ccache check !sign)
#  A negated environment option will do the opposite of the comments below.
#
#-- distcc:   Use the Distributed C/C++/ObjC compiler
#-- color:    Colorize output messages
#-- ccache:   Use ccache to cache compilation
#-- check:    Run the check() function if present in the PKGBUILD
#-- sign:     Generate PGP signature file
#
BUILDENV=(!distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg

#########################################################################
# GLOBAL PACKAGE OPTIONS
#   These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug)
#  A negated option will do the opposite of the comments below.
#
#-- strip:      Strip symbols from binaries/libraries
#-- docs:       Save doc directories specified by DOC_DIRS
#-- libtool:    Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs:  Leave empty directories in packages
#-- zipman:     Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge:      Remove files specified by PURGE_TARGETS
#-- debug:      Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug)
#...

And, /usr/local/lib/libtorrent-rasterbar.so.10 is compiled by myself with --enable-debug so that I can use gdb to catch stracetrack. Otherwise the error is:

❯ src/qbittorrent
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 680, resource id: 0, major code: 18 (ChangeProperty), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 682, resource id: 0, major code: 18 (ChangeProperty), minor code: 0
libpng warning: sRGB: cHRM chunk does not match sRGB
libpng warning: sRGB: cHRM chunk does not match sRGB
libpng warning: IDAT: Extra compressed data
libpng warning: IDAT: Extra compressed data

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

qBittorrent version: v4.3.1

Caught signal: SIGSEGV
Stack trace:
  /usr/lib/libtorrent-rasterbar.so.10 : libtorrent::announce_entry::operator=(libtorrent::announce_entry const&)+0x6f0  [0x7f84ca3c2250]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x2528ff  [0x7f84ca5768ff]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x281a85  [0x7f84ca5a5a85]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x2ca2b9  [0x7f84ca5ee2b9]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x2ce2e5  [0x7f84ca5f22e5]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0xaa173  [0x7f84ca3ce173]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x1c7521  [0x7f84ca4eb521]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x1c4bc4  [0x7f84ca4e8bc4]
  /usr/lib/libstdc++.so.6 : ()+0xcfc24  [0x7f84c8c0cc24]
  /usr/lib/libpthread.so.0 : ()+0x93e9  [0x7f84ca3063e9]
  /usr/lib/libc.so.6 : clone()+0x43  [0x7f84c8914293]
[1]    31073 segmentation fault (core dumped)  src/qbittorrent

What should I do ? If this is really a Archlinux package issue, how we describe this issue and report to Archlinux? Like https://bugs.archlinux.org/ ?

Chocobo1 commented 3 years ago

@abcfy2 If you just want to help debugging (not for daily use), you can use a more up-to-date libtorrent package from AUR: https://aur.archlinux.org/packages/libtorrent-rasterbar-1_2-git The package is by default built with debug symbols and is on the latest libtorrent commit.

abcfy2 commented 3 years ago

Thanks to @Chocobo1 , with his AUR package, here is the new gdb output, @FranciscoPombal :

$ gdb qbittorrent
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from qbittorrent...
(No debugging symbols found in qbittorrent)
(gdb) run
Starting program: /usr/bin/qbittorrent 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff280f640 (LWP 5026)]
[New Thread 0x7fffebca7640 (LWP 5027)]
[New Thread 0x7fffe8830640 (LWP 5028)]
[New Thread 0x7fffd7165640 (LWP 5029)]
[New Thread 0x7fffd6964640 (LWP 5030)]
[New Thread 0x7fffd6163640 (LWP 5031)]
[New Thread 0x7fffd5962640 (LWP 5032)]
[New Thread 0x7fffd5161640 (LWP 5033)]
[New Thread 0x7fffd4960640 (LWP 5034)]
[New Thread 0x7fffb7fff640 (LWP 5035)]
[New Thread 0x7fffaf7fe640 (LWP 5036)]
[New Thread 0x7fffb77fe640 (LWP 5037)]
[New Thread 0x7fffb6ffd640 (LWP 5038)]
[New Thread 0x7fffb67fc640 (LWP 5039)]
[New Thread 0x7fffb5ffb640 (LWP 5040)]
[New Thread 0x7fffb57fa640 (LWP 5041)]
[New Thread 0x7fffb4ff9640 (LWP 5042)]
[New Thread 0x7fffaffff640 (LWP 5043)]
[New Thread 0x7fffaeffd640 (LWP 5044)]
[New Thread 0x7fffae7fc640 (LWP 5045)]
[New Thread 0x7fffadffb640 (LWP 5046)]
[New Thread 0x7fffad7fa640 (LWP 5047)]
[New Thread 0x7fffacff9640 (LWP 5048)]
[New Thread 0x7fff77fff640 (LWP 5049)]
[New Thread 0x7fff76dee640 (LWP 5050)]
[New Thread 0x7fff765ed640 (LWP 5051)]
[New Thread 0x7fff75dec640 (LWP 5052)]
[New Thread 0x7fff755eb640 (LWP 5053)]
[New Thread 0x7fff74dea640 (LWP 5054)]
[New Thread 0x7fff5ffff640 (LWP 5055)]
[New Thread 0x7fff5f7fe640 (LWP 5056)]
[New Thread 0x7fff5effd640 (LWP 5057)]
[New Thread 0x7fff5e7fc640 (LWP 5058)]
[New Thread 0x7fff5dffb640 (LWP 5059)]
[New Thread 0x7fff5d7fa640 (LWP 5060)]
[New Thread 0x7fff5cff9640 (LWP 5061)]
[Detaching after fork from child process 5062]
[Detaching after fork from child process 5063]
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 678, resource id: 0, major code: 18 (ChangeProperty), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 680, resource id: 0, major code: 18 (ChangeProperty), minor code: 0
[New Thread 0x7fff44d05640 (LWP 5067)]
[New Thread 0x7fff372da640 (LWP 5069)]
[New Thread 0x7fff36ad9640 (LWP 5070)]
[New Thread 0x7fff362d8640 (LWP 5071)]
[New Thread 0x7fff35ad7640 (LWP 5072)]
[New Thread 0x7fff352d6640 (LWP 5073)]
[New Thread 0x7fff34ad5640 (LWP 5074)]
[New Thread 0x7fff13fff640 (LWP 5075)]
[New Thread 0x7fff137fe640 (LWP 5076)]
[New Thread 0x7fff12ffd640 (LWP 5077)]
[New Thread 0x7fff127fc640 (LWP 5078)]
[New Thread 0x7fff11ffb640 (LWP 5079)]
[New Thread 0x7fff117fa640 (LWP 5080)]
[New Thread 0x7fff10ff9640 (LWP 5081)]
[New Thread 0x7ffef3fff640 (LWP 5082)]
[New Thread 0x7ffef37fe640 (LWP 5083)]
[New Thread 0x7ffef2ffd640 (LWP 5084)]
[New Thread 0x7ffef27fc640 (LWP 5085)]
[New Thread 0x7ffef1ffb640 (LWP 5086)]
[New Thread 0x7ffef17fa640 (LWP 5087)]
[Thread 0x7fff44d05640 (LWP 5067) exited]
[New Thread 0x7fff44d05640 (LWP 5088)]
[New Thread 0x7ffef0ff9640 (LWP 5089)]
[New Thread 0x7ffedbfff640 (LWP 5090)]
[New Thread 0x7ffedb7fe640 (LWP 5091)]
[New Thread 0x7ffedaffd640 (LWP 5092)]
[New Thread 0x7ffeda7fc640 (LWP 5093)]
[New Thread 0x7ffed9ffb640 (LWP 5094)]
[New Thread 0x7ffed97fa640 (LWP 5095)]
[New Thread 0x7ffed8ff9640 (LWP 5096)]
[New Thread 0x7ffeb7fff640 (LWP 5097)]
[New Thread 0x7ffeb77fe640 (LWP 5098)]
[New Thread 0x7ffeb6ffd640 (LWP 5099)]
libpng warning: sRGB: cHRM chunk does not match sRGB
libpng warning: sRGB: cHRM chunk does not match sRGB
libpng warning: IDAT: Extra compressed data
libpng warning: IDAT: Extra compressed data
[New Thread 0x7ffeb67fc640 (LWP 5103)]
[Thread 0x7fff137fe640 (LWP 5076) exited]
[Thread 0x7fff12ffd640 (LWP 5077) exited]
[Thread 0x7fff13fff640 (LWP 5075) exited]
[Thread 0x7ffef1ffb640 (LWP 5086) exited]
[Thread 0x7fff352d6640 (LWP 5073) exited]
[Thread 0x7ffef37fe640 (LWP 5083) exited]
[Thread 0x7fff36ad9640 (LWP 5070) exited]
[Thread 0x7ffef17fa640 (LWP 5087) exited]
[Thread 0x7fff35ad7640 (LWP 5072) exited]
[Thread 0x7fff372da640 (LWP 5069) exited]
[Thread 0x7fff11ffb640 (LWP 5079) exited]
[Thread 0x7ffeb6ffd640 (LWP 5099) exited]
[Thread 0x7ffeda7fc640 (LWP 5093) exited]
[Thread 0x7ffedb7fe640 (LWP 5091) exited]
[Thread 0x7fff5d7fa640 (LWP 5060) exited]
[Thread 0x7fff5dffb640 (LWP 5059) exited]
[Thread 0x7fff5e7fc640 (LWP 5058) exited]
[Thread 0x7ffed9ffb640 (LWP 5094) exited]
[Thread 0x7fff5cff9640 (LWP 5061) exited]
[Thread 0x7ffef2ffd640 (LWP 5084) exited]
[Thread 0x7ffef27fc640 (LWP 5085) exited]
[Thread 0x7fff10ff9640 (LWP 5081) exited]
[Thread 0x7fff117fa640 (LWP 5080) exited]
[Thread 0x7ffeb7fff640 (LWP 5097) exited]
[Thread 0x7ffed97fa640 (LWP 5095) exited]
[Thread 0x7ffef0ff9640 (LWP 5089) exited]
[Thread 0x7fff44d05640 (LWP 5088) exited]
[Thread 0x7ffed8ff9640 (LWP 5096) exited]
[Thread 0x7ffedaffd640 (LWP 5092) exited]
[Thread 0x7ffedbfff640 (LWP 5090) exited]
[Thread 0x7ffeb77fe640 (LWP 5098) exited]
[Thread 0x7fff127fc640 (LWP 5078) exited]
[Thread 0x7fff362d8640 (LWP 5071) exited]
[Thread 0x7fff34ad5640 (LWP 5074) exited]
[New Thread 0x7fff34ad5640 (LWP 5313)]
--Type <RET> for more, q to quit, c to continue without paging--

Thread 27 "qbittorrent" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff765ed640 (LWP 5051)]
std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m<libtorrent::announce_endpoint const*, libtorrent::announce_endpoint*> (__result=0x7fff6c2011e0, __last=<optimized out>, 
    __first=<optimized out>) at /usr/include/c++/10.2.0/bits/stl_algobase.h:380
c380                  *__result = *__first;
(gdb) c
Continuing.

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

qBittorrent version: v4.3.1.11

Caught signal: SIGSEGV
Stack trace:
[Thread 0x7ffef3fff640 (LWP 5082) exited]
[Thread 0x7fff34ad5640 (LWP 5313) exited]
[Thread 0x7fff5ffff640 (LWP 5055) exited]
  /usr/lib/libtorrent-rasterbar.so.10 : libtorrent::announce_entry::operator=(libtorrent::announce_entry const&)+0x6f0  [0x7ffff7907570]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x22544f  [0x7ffff7a8e44f]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x254b8d  [0x7ffff7abdb8d]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x29d989  [0x7ffff7b06989]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x2a1a55  [0x7ffff7b0aa55]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0xb1013  [0x7ffff791a013]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x19dae1  [0x7ffff7a06ae1]
  /usr/lib/libtorrent-rasterbar.so.10 : ()+0x19b060  [0x7ffff7a04060]
  /usr/lib/libstdc++.so.6 : ()+0xcfc24  [0x7ffff61f7c24]
  /usr/lib/libpthread.so.0 : ()+0x93e9  [0x7ffff78503e9]
  /usr/lib/libc.so.6 : clone()+0x43  [0x7ffff5efd293]

Thread 27 "qbittorrent" received signal SIGSEGV, Segmentation fault.
std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m<libtorrent::announce_endpoint const*, libtorrent::announce_endpoint*> (__result=0x7fff6c2011e0, __last=<optimized out>, 
    __first=<optimized out>) at /usr/include/c++/10.2.0/bits/stl_algobase.h:380
380                   *__result = *__first;
(gdb) c
Continuing.
Couldn't get registers: 没有那个进程.
Couldn't get registers: 没有那个进程.
(gdb) [Thread 0x7ffeb67fc640 (LWP 5103) exited]
[Thread 0x7fff5effd640 (LWP 5057) exited]
[Thread 0x7fff5f7fe640 (LWP 5056) exited]
[Thread 0x7fff74dea640 (LWP 5054) exited]
[Thread 0x7fff755eb640 (LWP 5053) exited]
[Thread 0x7fff75dec640 (LWP 5052) exited]
[Thread 0x7fff76dee640 (LWP 5050) exited]
[Thread 0x7fff77fff640 (LWP 5049) exited]
[Thread 0x7fffacff9640 (LWP 5048) exited]
[Thread 0x7fffad7fa640 (LWP 5047) exited]
[Thread 0x7fffadffb640 (LWP 5046) exited]
[Thread 0x7fffae7fc640 (LWP 5045) exited]
[Thread 0x7fffaeffd640 (LWP 5044) exited]
[Thread 0x7fffaffff640 (LWP 5043) exited]
[Thread 0x7fffb4ff9640 (LWP 5042) exited]
[Thread 0x7fffb57fa640 (LWP 5041) exited]
[Thread 0x7fffb5ffb640 (LWP 5040) exited]
[Thread 0x7fffb67fc640 (LWP 5039) exited]
[Thread 0x7fffb6ffd640 (LWP 5038) exited]
[Thread 0x7fffb77fe640 (LWP 5037) exited]
[Thread 0x7fffaf7fe640 (LWP 5036) exited]
[Thread 0x7fffb7fff640 (LWP 5035) exited]
[Thread 0x7fffd4960640 (LWP 5034) exited]
[Thread 0x7fffd5161640 (LWP 5033) exited]
[Thread 0x7fffd5962640 (LWP 5032) exited]
[Thread 0x7fffd6163640 (LWP 5031) exited]
[Thread 0x7fffd6964640 (LWP 5030) exited]
[Thread 0x7fffd7165640 (LWP 5029) exited]
[Thread 0x7fffe8830640 (LWP 5028) exited]
[Thread 0x7fffebca7640 (LWP 5027) exited]
[Thread 0x7ffff280f640 (LWP 5026) exited]
[Thread 0x7ffff30dcc40 (LWP 5022) exited]

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.

The program is not being run.
(gdb) 
abcfy2 commented 3 years ago

I try to compile qbittorrent with debug support, but gdb stack trace hang:

$ cmake -B build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr/local
$ cmake --build build -j $(nproc)

$ cd build
$ gdb ./qbittorrent
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./qbittorrent...
(gdb) 
(gdb) run
Starting program: /tmp/qBittorrent-release-4.3.1/build/build/qbittorrent 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff284d640 (LWP 19724)]
[New Thread 0x7fffebd06640 (LWP 19725)]
Qt zh locale unrecognized, using default (en).
zh locale recognized, using translation.
[New Thread 0x7fffe8867640 (LWP 19726)]
[New Thread 0x7fffd7165640 (LWP 19727)]
[New Thread 0x7fffd6964640 (LWP 19728)]
[New Thread 0x7fffd6163640 (LWP 19729)]
[New Thread 0x7fffd5962640 (LWP 19730)]
[New Thread 0x7fffd5161640 (LWP 19731)]
[New Thread 0x7fffd4960640 (LWP 19732)]
[New Thread 0x7fffb7fff640 (LWP 19733)]
[New Thread 0x7fffaffff640 (LWP 19734)]
[New Thread 0x7fffb77fe640 (LWP 19735)]
[New Thread 0x7fffb6ffd640 (LWP 19736)]
[New Thread 0x7fffb67fc640 (LWP 19737)]
[New Thread 0x7fffb5ffb640 (LWP 19738)]
[New Thread 0x7fffb57fa640 (LWP 19739)]
[New Thread 0x7fffb4ff9640 (LWP 19740)]
[New Thread 0x7fffaf7fe640 (LWP 19741)]
[New Thread 0x7fffaeffd640 (LWP 19742)]
[New Thread 0x7fffae7fc640 (LWP 19743)]
[New Thread 0x7fffadffb640 (LWP 19744)]
[New Thread 0x7fffad7fa640 (LWP 19745)]
[New Thread 0x7fffacff9640 (LWP 19746)]
[New Thread 0x7fff77fff640 (LWP 19747)]
Disabling HTTP communications proxy
HTTP communications proxy string: 
[New Thread 0x7fff76dee640 (LWP 19750)]
[New Thread 0x7fff765ed640 (LWP 19751)]
[New Thread 0x7fff75dec640 (LWP 19752)]
Disabling IPFilter
[New Thread 0x7fff755eb640 (LWP 19753)]
Enabling UPnP / NAT-PMP
Parsing MaxMindDB metadata...
Parsing IP geolocation database index tree...
[New Thread 0x7fff74dea640 (LWP 19754)]
[New Thread 0x7fff5ffff640 (LWP 19755)]
create tabWidget
CURRENT CHANGED
Changed tab to transfer list, refreshing the list
GUI settings loaded
HtmlBrowser  cache path: "/home/fengyu/.cache/qBittorrent/rss/"  max size: 50 MB
[New Thread 0x7fff5f7fe640 (LWP 19756)]
[New Thread 0x7fff5effd640 (LWP 19757)]
[New Thread 0x7fff5e7fc640 (LWP 19758)]
[New Thread 0x7fff5dffb640 (LWP 19759)]
Window change event
** Show Event **
Sizes: 2
Sizes: 2
Sizes: 2
GUI Built
Starting up torrents...
Queue size: 1
# .....
UPnP Success, msg: successfully mapped port using NAT-PMP. external port: TCP/8999
UPnP Success, msg: successfully mapped port using NAT-PMP. external port: UDP/8999
UPnP Success, msg: successfully mapped port using UPnP. external port: TCP/8999
UPnP Success, msg: successfully mapped port using UPnP. external port: UDP/8999
Downloading http://2001:1b10:1000:8101:0:242:ac11:2/favicon.ico...
[New Thread 0x7fff5d7fa640 (LWP 19761)]
Downloading http://3kb.xyz/favicon.ico...
[New Thread 0x7fff5cff9640 (LWP 19762)]
Downloading http://okmp3.ru/favicon.ico...
Downloading http://firebit.org/favicon.ico...
[New Thread 0x7fff4cd05640 (LWP 19763)]
Downloading http://bms-hosxp.com/favicon.ico...
Downloading http://blokas.io/favicon.ico...
[New Thread 0x7fff2ffff640 (LWP 19764)]
Downloading http://n-blade.ru/favicon.ico...
Downloading http://videoenpoche.info/favicon.ico...
[New Thread 0x7fff2f7fe640 (LWP 19765)]
Downloading http://aaa.army/favicon.ico...
[New Thread 0x7fff2effd640 (LWP 19766)]
Downloading http://2a04:c44:e00:32e0:4cf:6aff:fe00:aa1/favicon.ico...
Downloading http://2a04:ac00:1:3dd8::1:2710/favicon.ico...
[New Thread 0x7fff2e7fc640 (LWP 19767)]
Downloading http://2a03:7220:8083:cd00::1/favicon.ico...
Downloading http://2001:470:1:189:0:1:2:3/favicon.ico...
# ....
Downloading http://156.234.201.18/favicon.png...
Download finished: http://156.234.201.18/favicon.png
Download failure (http://156.234.201.18/favicon.png), reason: 远程内容在服务器上未找到 (404)
[New Thread 0x7ffeecad5640 (LWP 20293)]
Received a tracker reply from http://open.acgnxtracker.com:80/announce (Num_peers = 100)
Received a tracker reply from http://tracker.zerobytes.xyz:1337/announce (Num_peers = 161)
[New Thread 0x7ffed7fff640 (LWP 20329)]
[Thread 0x7ffeed2d6640 (LWP 19784) exited]
Download finished: https://imgoingto.icu/favicon.ico
Download failure (https://imgoingto.icu/favicon.ico), reason: 连接远程服务器超时
Downloading https://imgoingto.icu/favicon.png...
[New Thread 0x7ffeed2d6640 (LWP 20346)]
double free or corruption (!prev)
--Type <RET> for more, q to quit, c to continue without paging--

Thread 27 "qbittorrent" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff765ed640 (LWP 19751)]
0x00007ffff5de7615 in raise () from /usr/lib/libc.so.6
(gdb) c
Continuing.

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

qBittorrent version: v4.3.1alpha1

Caught signal: SIGABRT
Stack trace:
[Thread 0x7ffeed2d6640 (LWP 20346) exited]
[New Thread 0x7ffeed2d6640 (LWP 20416)]
[Thread 0x7ffeed2d6640 (LWP 20416) exited]

# <Hang>
^C           # <===== I have to use CTRL-C to force quit
Thread 1 "qbittorrent" received signal SIGINT, Interrupt.
[Switching to Thread 0x7ffff311ac40 (LWP 19718)]
0x00007ffff6a616a2 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
(gdb) q
A debugging session is active.

        Inferior 1 [process 19718] will be killed.

Quit anyway? (y or n) y
Chocobo1 commented 3 years ago

@abcfy2 The stacktrace still doesn't populate correctly. It looks like RelWithDebInfo won't suffice in your case, try replace it with Debug and rebuild the package from scratch. https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=libtorrent-rasterbar-1_2-git#n32

Also, after you run (gdb) run and stopped at the failure point, issue (gdb) bt to tell gdb to get a backtrace, it is usually better than the one provided from qbt.

abcfy2 commented 3 years ago

@Chocobo1 No, if I change RelWithDebInfo to Debug, the error will be:

Received a tracker reply from http://rt.tace.ru:80/announce (Num_peers = 200)
Received a tracker reply from http://195.201.31.194:80/announce (Num_peers = 200)
assertion failed. Please file a bugreport at https://github.com/arvidn/libtorrent/issues
Please include the following information:

version: 1.2.11.0-6597bd0f1

file: '/home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/http_parser.cpp'
line: 616
function: collapse_chunk_headers
expression: chunk_end - offset <= buffer.size()

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

--Type <RET> for more, q to quit, c to continue without paging--

Thread 27 "qbittorrent" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff91dec640 (LWP 29484)]
0x00007ffff69c5f75 in raise () from /usr/lib/libpthread.so.0
(gdb) bt
#0  0x00007ffff69c5f75 in raise () from /usr/lib/libpthread.so.0
#1  0x00007ffff6de89e7 in libtorrent::assert_fail (expr=expr@entry=0x7ffff711e210 "chunk_end - offset <= buffer.size()", line=line@entry=616, 
    file=file@entry=0x7ffff711e070 "/home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/http_parser.cpp", function=function@entry=0x7ffff711e351 "collapse_chunk_headers", 
    value=value@entry=0x0, kind=kind@entry=0) at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/assert.cpp:380
#2  0x00007ffff6e6368f in libtorrent::http_parser::collapse_chunk_headers (this=this@entry=0x7fff6475a7d0, buffer=...)
    at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/http_parser.cpp:616
#3  0x00007ffff6e28ff7 in libtorrent::http_connection::callback (this=0x7fff6475a430, e=..., data=...) at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/http_connection.cpp:625
#4  0x00007ffff6e2d5c3 in libtorrent::http_connection::on_read (this=0x7fff6475a430, e=..., bytes_transferred=0)
    at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/include/libtorrent/span.hpp:121
#5  0x00007ffff6e39ed7 in std::__invoke_impl<void, void (libtorrent::http_connection::*&)(boost::system::error_code const&, unsigned long), std::shared_ptr<libtorrent::http_connection>&, boost::system::error_code const&, unsigned long const&> (__f=
    @0x7fff91dea630: (void (libtorrent::http_connection::*)(libtorrent::http_connection * const, const boost::system::error_code &, unsigned long)) 0x7ffff6e2d1d0 <libtorrent::http_connection::on_read(boost::system::error_code const&, unsigned long)>, __f=
    @0x7fff91dea630: (void (libtorrent::http_connection::*)(libtorrent::http_connection * const, const boost::system::error_code &, unsigned long)) 0x7ffff6e2d1d0 <libtorrent::http_connection::on_read(boost::system::error_code const&, unsigned long)>, __t=std::shared_ptr<libtorrent::http_connection> (use count 3, weak count 2) = {...}) at /usr/include/c++/10.2.0/bits/shared_ptr_base.h:1324
#6  std::__invoke<void (libtorrent::http_connection::*&)(boost::system::error_code const&, unsigned long), std::shared_ptr<libtorrent::http_connection>&, boost::system::error_code const&, unsigned long const&>
    (__fn=
    @0x7fff91dea630: (void (libtorrent::http_connection::*)(libtorrent::http_connection * const, const boost::system::error_code &, unsigned long)) 0x7ffff6e2d1d0 <libtorrent::http_connection::on_read(boost::system::error_code const&, unsigned long)>) at /usr/include/c++/10.2.0/bits/invoke.h:95
#7  std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>::__call<void, boost::system::error_code const&, unsigned long const&, 0ul, 1ul, 2ul>(std::tuple<boost::system::error_code const&, unsigned long const&>&&, std::_Index_tuple<0ul, 1ul, 2ul>) (__args=..., this=0x7fff91dea630)
    at /usr/include/c++/10.2.0/functional:416
#8  std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>::operator()<boost::system::error_code const&, unsigned long const&, void>(boost::system::error_code const&, unsigned long const&) (this=0x7fff91dea630) at /usr/include/c++/10.2.0/functional:499
#9  boost::asio::detail::binder2<std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>, boost::system::error_code, unsigned long>::operator()() (this=0x7fff91dea630) at /usr/include/boost/asio/detail/bind_handler.hpp:182
#10 boost::asio::asio_handler_invoke<boost::asio::detail::binder2<std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>, boost::system::error_code, unsigned long>&, ...) (function=...)
    at /usr/include/boost/asio/handler_invoke_hook.hpp:88
#11 boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>, boost::system::error_code, unsigned long>, std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)> >(boost::asio::detail::binder2<std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>, boost::system::error_code, unsigned long>&, std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>&) (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#12 boost::asio::detail::handler_work<std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > >, void>::complete<boost::asio::detail::binder2<std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>, boost::system::error_code, unsigned long>&, std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>&) (handler=..., function=..., this=0x7fff91dea6b0)
    at /usr/include/boost/asio/detail/handler_work.hpp:425
#13 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, std::_Bind<void (libtorrent::http_connection::*(std::shared_ptr<libtorrent::http_connection>, std::_Placeholder<1>, std::_Placeholder<2>))(boost::system::error_code const&, unsigned long)>, boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boo--Type <RET> for more, q to quit, c to continue without paging--c
st::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::continuation_t<0> > > >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=0x55555639b470, base=<optimized out>) at /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:145
#14 0x00007ffff6e0642c in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x55555639b470, this=0x7fff64131cd0) at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#15 boost::asio::detail::scheduler::do_run_one (this=0x55555639b470, lock=..., this_thread=..., ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:481
#16 0x00007ffff6f28b61 in boost::asio::detail::scheduler::run (this=0x55555639b470, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:204
#17 0x00007ffff6f26240 in boost::asio::io_context::run (this=<optimized out>) at /usr/include/boost/asio/impl/io_context.ipp:63
#18 operator() (__closure=<optimized out>) at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/session.cpp:363
#19 std::__invoke_impl<void, libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > (__f=...) at /usr/include/c++/10.2.0/bits/invoke.h:60
#20 std::__invoke<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > (__fn=...) at /usr/include/c++/10.2.0/bits/invoke.h:95
#21 std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > >::_M_invoke<0> (this=<optimized out>) at /usr/include/c++/10.2.0/thread:264
#22 std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > >::operator() (this=<optimized out>) at /usr/include/c++/10.2.0/thread:271
#23 std::thread::_State_impl<std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > > >::_M_run(void) (this=<optimized out>) at /usr/include/c++/10.2.0/thread:215
#24 0x00007ffff6104c24 in std::execute_native_thread_routine (__p=0x5555566d0fa0) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80
#25 0x00007ffff69bb3e9 in start_thread () from /usr/lib/libpthread.so.0
#26 0x00007ffff5e0a293 in clone () from /usr/lib/libc.so.6
(gdb) q
A debugging session is active.

        Inferior 1 [process 29453] will be killed.

Quit anyway? (y or n) y
abcfy2 commented 3 years ago

Here is the (gdb) bt output:

[Thread 0x7ffeb57fa640 (LWP 43017) exited]
Download finished: http://christianbro.pw/favicon.png
Download failure (http://christianbro.pw/favicon.png), reason: 连接远程服务器超时
Download finished: http://yuwabits.net/favicon.png
Download failure (http://yuwabits.net/favicon.png), reason: 连接远程服务器超时
Download finished: http://rus.ec/favicon.png
Download failure (http://rus.ec/favicon.png), reason: 连接远程服务器超时
Download finished: https://acgnx.se/favicon.png
Download failure (https://acgnx.se/favicon.png), reason: 连接远程服务器超时
Download finished: https://anidex.info/favicon.png
Download failure (https://anidex.info/favicon.png), reason: 连接远程服务器超时
Download finished: https://anidex.info/favicon.png
Download failure (https://anidex.info/favicon.png), reason: 连接远程服务器超时
** Show Event **
Window change event
Received a tracker reply from http://t1.pow7.com:80/announce (Num_peers = 200)
[New Thread 0x7ffeb57fa640 (LWP 43137)]
[New Thread 0x7fff2f7fe640 (LWP 43138)]
[New Thread 0x7fff2cff9640 (LWP 43139)]
[New Thread 0x7fff4cd05640 (LWP 43140)]
Window change event
double free or corruption (!prev)
--Type <RET> for more, q to quit, c to continue without paging--

Thread 27 "qbittorrent" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fff765ed640 (LWP 42970)]
0x00007ffff5de7615 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff5de7615 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff5dd0862 in abort () from /usr/lib/libc.so.6
#2  0x00007ffff5e295e8 in __libc_message () from /usr/lib/libc.so.6
#3  0x00007ffff5e3127a in malloc_printerr () from /usr/lib/libc.so.6
#4  0x00007ffff5e32b0c in _int_free () from /usr/lib/libc.so.6
#5  0x00007ffff6eb3210 in __gnu_cxx::new_allocator<char>::deallocate (__t=<optimized out>, __p=<optimized out>, this=0x7fff6cebde48) at /usr/include/c++/10.2.0/ext/new_allocator.h:133
#6  std::allocator_traits<std::allocator<char> >::deallocate (__n=<optimized out>, __p=<optimized out>, __a=...) at /usr/include/c++/10.2.0/bits/alloc_traits.h:492
#7  std::_Vector_base<char, std::allocator<char> >::_M_deallocate (__n=<optimized out>, __p=<optimized out>, this=0x7fff6cebde48) at /usr/include/c++/10.2.0/bits/stl_vector.h:354
#8  std::_Vector_base<char, std::allocator<char> >::~_Vector_base (this=0x7fff6cebde48, __in_chrg=<optimized out>) at /usr/include/c++/10.2.0/bits/stl_vector.h:335
#9  std::vector<char, std::allocator<char> >::~vector (this=0x7fff6cebde48, __in_chrg=<optimized out>) at /usr/include/c++/10.2.0/bits/stl_vector.h:683
#10 libtorrent::aux::container_wrapper<char, int, std::vector<char, std::allocator<char> > >::~container_wrapper (this=0x7fff6cebde48, __in_chrg=<optimized out>)
    at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/include/libtorrent/aux_/container_wrapper.hpp:46
#11 libtorrent::http_connection::~http_connection (this=0x7fff6cebde10, __in_chrg=<optimized out>) at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/http_connection.cpp:105
#12 0x00007ffff70895e5 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7fff6cebde00) at /usr/include/c++/10.2.0/bits/shared_ptr_base.h:158
#13 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/10.2.0/bits/shared_ptr_base.h:733
#14 std::__shared_ptr<libtorrent::http_connection, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/10.2.0/bits/shared_ptr_base.h:1183
#15 std::__shared_ptr<libtorrent::http_connection, (__gnu_cxx::_Lock_policy)2>::reset (this=0x7fff6c7bd808) at /usr/include/c++/10.2.0/bits/shared_ptr_base.h:1301
#16 libtorrent::http_tracker_connection::close (this=0x7fff6c7bd620) at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/http_tracker_connection.cpp:279
#17 0x00007ffff7082993 in libtorrent::tracker_connection::fail_impl (this=0x7fff6c7bd620, ec=..., msg=..., interval=..., min_interval=...)
    at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/tracker_manager.cpp:178
#18 0x00007ffff7086a55 in std::__invoke_impl<void, void (libtorrent::tracker_connection::*&)(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >), std::shared_ptr<libtorrent::tracker_connection>&, boost::system::error_code&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::chrono::duration<int, std::ratio<1l, 1l> >&, std::chrono::duration<int, std::ratio<1l, 1l> >&> (__f=
    @0x7fff765eb6d0: (void (libtorrent::tracker_connection::*)(libtorrent::tracker_connection * const, const boost::system::error_code &, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1, 1> >, std::chrono::duration<int, std::ratio<1, 1> >)) 0x7ffff7082910 <libtorrent::tracker_connection::fail_impl(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>, __f=
    @0x7fff765eb6d0: (void (libtorrent::tracker_connection::*)(libtorrent::tracker_connection * const, const boost::system::error_code &, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1, 1> >, std::chrono::duration<int, std::ratio<1, 1> >)) 0x7ffff7082910 <libtorrent::tracker_connection::fail_impl(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>, 
    __t=std::shared_ptr<libtorrent::tracker_connection> (use count 2, weak count 1) = {...}) at /usr/include/c++/10.2.0/bits/invoke.h:73
#19 std::__invoke<void (libtorrent::tracker_connection::*&)(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >), std::shared_ptr<libtorrent::tracker_connection>&, boost::system::error_code&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::chrono::duration<int, std::ratio<1l, 1l> >&, std::chrono::duration<int, std::ratio<1l, 1l> >&> (__fn=
    @0x7fff765eb6d0: (void (libtorrent::tracker_connection::*)(libtorrent::tracker_connection * const, const boost::system::error_code &, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1, 1> >, std::chrono::duration<int, std::ratio<1, 1> >)) 0x7ffff7082910 <libtorrent::tracker_connection::fail_impl(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>) at /usr/include/c++/10.2.0/bits/invoke.h:95
#20 std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>::__call<void, , 0ul, 1ul, 2ul, 3ul, 4ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) (
    __args=..., this=0x7fff765eb6d0) at /usr/include/c++/10.2.0/functional:416
#21 std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>::operator()<, void>() (this=0x7fff765eb6d0) at /usr/include/c++/10.2.0/functional:499
#22 boost::asio::asio_handler_invoke<std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)> >(std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, --Type <RET> for more, q to quit, c to continue without paging--
std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:88
#23 boost_asio_handler_invoke_helpers::invoke<std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>, std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)> >(std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>&, std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>&) (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#24 boost::asio::detail::handler_work<std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u>, void>::complete<std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)> >(std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>&, std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>&) (handler=..., function=..., this=<synthetic pointer>)
    at /usr/include/boost/asio/detail/handler_work.hpp:425
#25 boost::asio::detail::completion_handler<std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>, base=<optimized out>)
    at /usr/include/boost/asio/detail/completion_handler.hpp:74
#26 0x00007ffff6e96013 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x55555639b9b0, this=0x7fff6ce44b50)
    at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#27 boost::asio::detail::scheduler::do_run_one (this=this@entry=0x55555639b9b0, lock=..., this_thread=..., ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:481
#28 0x00007ffff6f82ae1 in boost::asio::detail::scheduler::run (this=0x55555639b9b0, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:204
#29 0x00007ffff6f80060 in boost::asio::io_context::run (this=<optimized out>) at /usr/include/boost/asio/impl/io_context.ipp:63
#30 operator() (__closure=<optimized out>) at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/session.cpp:363
#31 std::__invoke_impl<void, libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > (__f=...)
    at /usr/include/c++/10.2.0/bits/invoke.h:60
#32 std::__invoke<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > (__fn=...)
    at /usr/include/c++/10.2.0/bits/invoke.h:95
#33 std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > >::_M_invoke<0> (
    this=<optimized out>) at /usr/include/c++/10.2.0/thread:264
#34 std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > >::operator() (
    this=<optimized out>) at /usr/include/c++/10.2.0/thread:271
#35 std::thread::_State_impl<std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > > >::_M_run(void) (this=<optimized out>) at /usr/include/c++/10.2.0/thread:215
#36 0x00007ffff61a4c24 in std::execute_native_thread_routine (__p=0x5555566cfdb0) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80
--Type <RET> for more, q to quit, c to continue without paging--
#37 0x00007ffff6a5b3e9 in start_thread () from /usr/lib/libpthread.so.0
#38 0x00007ffff5eaa293 in clone () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff5de7615 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff5dd0862 in abort () from /usr/lib/libc.so.6
#2  0x00007ffff5e295e8 in __libc_message () from /usr/lib/libc.so.6
#3  0x00007ffff5e3127a in malloc_printerr () from /usr/lib/libc.so.6
#4  0x00007ffff5e32b0c in _int_free () from /usr/lib/libc.so.6
#5  0x00007ffff6eb3210 in __gnu_cxx::new_allocator<char>::deallocate (__t=<optimized out>, __p=<optimized out>, this=0x7fff6cebde48) at /usr/include/c++/10.2.0/ext/new_allocator.h:133
#6  std::allocator_traits<std::allocator<char> >::deallocate (__n=<optimized out>, __p=<optimized out>, __a=...) at /usr/include/c++/10.2.0/bits/alloc_traits.h:492
#7  std::_Vector_base<char, std::allocator<char> >::_M_deallocate (__n=<optimized out>, __p=<optimized out>, this=0x7fff6cebde48) at /usr/include/c++/10.2.0/bits/stl_vector.h:354
#8  std::_Vector_base<char, std::allocator<char> >::~_Vector_base (this=0x7fff6cebde48, __in_chrg=<optimized out>) at /usr/include/c++/10.2.0/bits/stl_vector.h:335
#9  std::vector<char, std::allocator<char> >::~vector (this=0x7fff6cebde48, __in_chrg=<optimized out>) at /usr/include/c++/10.2.0/bits/stl_vector.h:683
#10 libtorrent::aux::container_wrapper<char, int, std::vector<char, std::allocator<char> > >::~container_wrapper (this=0x7fff6cebde48, __in_chrg=<optimized out>)
    at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/include/libtorrent/aux_/container_wrapper.hpp:46
#11 libtorrent::http_connection::~http_connection (this=0x7fff6cebde10, __in_chrg=<optimized out>) at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/http_connection.cpp:105
#12 0x00007ffff70895e5 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7fff6cebde00) at /usr/include/c++/10.2.0/bits/shared_ptr_base.h:158
#13 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/10.2.0/bits/shared_ptr_base.h:733
#14 std::__shared_ptr<libtorrent::http_connection, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/10.2.0/bits/shared_ptr_base.h:1183
#15 std::__shared_ptr<libtorrent::http_connection, (__gnu_cxx::_Lock_policy)2>::reset (this=0x7fff6c7bd808) at /usr/include/c++/10.2.0/bits/shared_ptr_base.h:1301
#16 libtorrent::http_tracker_connection::close (this=0x7fff6c7bd620) at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/http_tracker_connection.cpp:279
#17 0x00007ffff7082993 in libtorrent::tracker_connection::fail_impl (this=0x7fff6c7bd620, ec=..., msg=..., interval=..., min_interval=...)
    at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/tracker_manager.cpp:178
#18 0x00007ffff7086a55 in std::__invoke_impl<void, void (libtorrent::tracker_connection::*&)(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >), std::shared_ptr<libtorrent::tracker_connection>&, boost::system::error_code&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::chrono::duration<int, std::ratio<1l, 1l> >&, std::chrono::duration<int, std::ratio<1l, 1l> >&> (__f=
    @0x7fff765eb6d0: (void (libtorrent::tracker_connection::*)(libtorrent::tracker_connection * const, const boost::system::error_code &, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1, 1> >, std::chrono::duration<int, std::ratio<1, 1> >)) 0x7ffff7082910 <libtorrent::tracker_connection::fail_impl(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>, __f=
    @0x7fff765eb6d0: (void (libtorrent::tracker_connection::*)(libtorrent::tracker_connection * const, const boost::system::error_code &, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1, 1> >, std::chrono::duration<int, std::ratio<1, 1> >)) 0x7ffff7082910 <libtorrent::tracker_connection::fail_impl(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>, 
    __t=std::shared_ptr<libtorrent::tracker_connection> (use count 2, weak count 1) = {...}) at /usr/include/c++/10.2.0/bits/invoke.h:73
#19 std::__invoke<void (libtorrent::tracker_connection::*&)(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >), std::shared_ptr<libtorrent::tracker_connection>&, boost::system::error_code&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::chrono::duration<int, std::ratio<1l, 1l> >&, std::chrono::duration<int, std::ratio<1l, 1l> >&> (__fn=
    @0x7fff765eb6d0: (void (libtorrent::tracker_connection::*)(libtorrent::tracker_connection * const, const boost::system::error_code &, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1, 1> >, std::chrono::duration<int, std::ratio<1, 1> >)) 0x7ffff7082910 <libtorrent::tracker_connection::fail_impl(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>) at /usr/include/c++/10.2.0/bits/invoke.h:95
#20 std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>::__call<void, , 0ul, 1ul, 2ul, 3ul, 4ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) (
    __args=..., this=0x7fff765eb6d0) at /usr/include/c++/10.2.0/functional:416
#21 std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>::operator()<, void>() (this=0x7fff765eb6d0) at /usr/include/c++/10.2.0/functional:499
#22 boost::asio::asio_handler_invoke<std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)> >(std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, --Type <RET> for more, q to quit, c to continue without paging--
std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>&, ...) (function=...) at /usr/include/boost/asio/handler_invoke_hook.hpp:88
#23 boost_asio_handler_invoke_helpers::invoke<std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>, std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)> >(std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>&, std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>&) (context=..., function=...) at /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:54
#24 boost::asio::detail::handler_work<std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u>, void>::complete<std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)> >(std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>&, std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>&) (handler=..., function=..., this=<synthetic pointer>)
    at /usr/include/boost/asio/detail/handler_work.hpp:425
#25 boost::asio::detail::completion_handler<std::_Bind<void (libtorrent::tracker_connection::*(std::shared_ptr<libtorrent::tracker_connection>, boost::system::error_code, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >))(boost::system::error_code const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::chrono::duration<int, std::ratio<1l, 1l> >, std::chrono::duration<int, std::ratio<1l, 1l> >)>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) (owner=<optimized out>, base=<optimized out>)
    at /usr/include/boost/asio/detail/completion_handler.hpp:74
#26 0x00007ffff6e96013 in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x55555639b9b0, this=0x7fff6ce44b50)
    at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#27 boost::asio::detail::scheduler::do_run_one (this=this@entry=0x55555639b9b0, lock=..., this_thread=..., ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:481
#28 0x00007ffff6f82ae1 in boost::asio::detail::scheduler::run (this=0x55555639b9b0, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:204
#29 0x00007ffff6f80060 in boost::asio::io_context::run (this=<optimized out>) at /usr/include/boost/asio/impl/io_context.ipp:63
#30 operator() (__closure=<optimized out>) at /home/fengyu/.cache/yay/libtorrent-rasterbar-1_2-git/src/libtorrent/src/session.cpp:363
#31 std::__invoke_impl<void, libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > (__f=...)
    at /usr/include/c++/10.2.0/bits/invoke.h:60
#32 std::__invoke<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > (__fn=...)
    at /usr/include/c++/10.2.0/bits/invoke.h:95
#33 std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > >::_M_invoke<0> (
    this=<optimized out>) at /usr/include/c++/10.2.0/thread:264
#34 std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > >::operator() (
    this=<optimized out>) at /usr/include/c++/10.2.0/thread:271
#35 std::thread::_State_impl<std::thread::_Invoker<std::tuple<libtorrent::session::start(libtorrent::session_handle::session_flags_t, libtorrent::session_params&&, libtorrent::io_service*)::<lambda()> > > >::_M_run(void) (this=<optimized out>) at /usr/include/c++/10.2.0/thread:215
#36 0x00007ffff61a4c24 in std::execute_native_thread_routine (__p=0x5555566cfdb0) at /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80
--Type <RET> for more, q to quit, c to continue without paging--
#37 0x00007ffff6a5b3e9 in start_thread () from /usr/lib/libpthread.so.0
#38 0x00007ffff5eaa293 in clone () from /usr/lib/libc.so.6
(gdb) 
FranciscoPombal commented 3 years ago

@abcfy2 Glad you got the output, now I suppose the best move would be to post it to the libtorrent issue tracker, since this is an assertion failure in the library (https://github.com/qbittorrent/qBittorrent/issues/13989#issuecomment-748711364). Be sure to mention the corresponding commit hash, so that the line numbers match.

abcfy2 commented 3 years ago

This issue has been fixed by libtorrent, so close.

xavier2k6 commented 3 years ago

Fixed by https://github.com/arvidn/libtorrent/pull/6216