Bug 264278 - net-p2p/qbittorrent: Bus error after upgrade boost-libs from 1.72.0_7 to 1.79.0_1
Summary: net-p2p/qbittorrent: Bus error after upgrade boost-libs from 1.72.0_7 to 1.79...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: Yuri Victorovich
URL: https://github.com/arvidn/libtorrent/...
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-27 09:14 UTC by iron.udjin
Modified: 2022-05-28 06:08 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (yuri)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description iron.udjin 2022-05-27 09:14:36 UTC
OS: stable/13-n250924-94cea2fc0761

After upgrade boost-libs from 1.72.0_7 to 1.79.0_1 and rebuild net-p2p/libtorrent-rasterbar and net-p2p/qbittorrent I'm getting:

$ qbittorrent
Bus error (core dumped)

$ gdb `which qbittorrent` /var/tmp/1001.qbittorrent.core
...
Core was generated by `qbittorrent'.
Program terminated with signal SIGBUS, Bus error.
Object-specific hardware error.
#0  0x0000000800d73b0c in libtorrent::file_pool::open_file(libtorrent::aux::strong_typedef<unsigned int, libtorrent::storage_index_tag_t, void>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, libtorrent::aux::strong_typedef<int, libtorrent::aux::file_index_tag, void>, libtorrent::file_storage const&, libtorrent::flags::bitfield_flag<unsigned int, libtorrent::open_mode_tag, void>, boost::system::error_code&) () from /usr/local/lib/libtorrent-rasterbar.so.10
[Current thread is 1 (LWP 224419)]
(gdb) bt
#0  0x0000000800d73b0c in libtorrent::file_pool::open_file(libtorrent::aux::strong_typedef<unsigned int, libtorrent::storage_index_tag_t, void>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, libtorrent::aux::strong_typedef<int, libtorrent::aux::file_index_tag, void>, libtorrent::file_storage const&, libtorrent::flags::bitfield_flag<unsigned int, libtorrent::open_mode_tag, void>, boost::system::error_code&) () from /usr/local/lib/libtorrent-rasterbar.so.10
#1  0x0000000800f07d55 in libtorrent::default_storage::open_file_impl(libtorrent::aux::strong_typedef<int, libtorrent::aux::file_index_tag, void>, libtorrent::flags::bitfield_flag<unsigned int, libtorrent::open_mode_tag, void>, boost::system::error_code&) const () from /usr/local/lib/libtorrent-rasterbar.so.10
#2  0x0000000800f061f6 in libtorrent::default_storage::open_file(libtorrent::aux::strong_typedef<int, libtorrent::aux::file_index_tag, void>, libtorrent::flags::bitfield_flag<unsigned int, libtorrent::open_mode_tag, void>, libtorrent::storage_error&) const () from /usr/local/lib/libtorrent-rasterbar.so.10
#3  0x0000000800f08683 in ?? () from /usr/local/lib/libtorrent-rasterbar.so.10
#4  0x0000000800f09427 in ?? () from /usr/local/lib/libtorrent-rasterbar.so.10
#5  0x0000000800f07b19 in libtorrent::default_storage::readv(libtorrent::span<libtorrent::span<char> const>, libtorrent::aux::strong_typedef<int, libtorrent::aux::piece_index_tag, void>, int, libtorrent::flags::bitfield_flag<unsigned int, libtorrent::open_mode_tag, void>, libtorrent::storage_error&) ()
   from /usr/local/lib/libtorrent-rasterbar.so.10
#6  0x0000000800d5c3a1 in ?? () from /usr/local/lib/libtorrent-rasterbar.so.10
#7  0x0000000800d5c863 in ?? () from /usr/local/lib/libtorrent-rasterbar.so.10
#8  0x0000000800d5bf49 in ?? () from /usr/local/lib/libtorrent-rasterbar.so.10
#9  0x0000000800d61f2c in ?? () from /usr/local/lib/libtorrent-rasterbar.so.10
#10 0x0000000800d62238 in ?? () from /usr/local/lib/libtorrent-rasterbar.so.10
#11 0x0000000800d695fa in ?? () from /usr/local/lib/libtorrent-rasterbar.so.10
#12 0x0000000801030838 in ?? () from /lib/libthr.so.3
#13 0x0000000000000000 in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffdd7ea000
Comment 1 Yuri Victorovich freebsd_committer freebsd_triage 2022-05-27 16:15:45 UTC
iron.udjin@gmail.com,

Thanks for your report.


libtorrent-rasterbar-2.0.8 also crashes:

Caught signal: SIGSEGV
Stack trace:
  0x801168bbf <pthread_setschedparam+0x82f> at /lib/libthr.so.3
  0x7ffffffff8a3 <???> at ???
  0x8010ad742 <_ZN10libtorrent14torrent_statusaSEOS0_+0x1992> at /usr/local/lib/libtorrent-rasterbar.so.2.0
  0x8010acd30 <_ZN10libtorrent14torrent_statusaSEOS0_+0xf80> at /usr/local/lib/libtorrent-rasterbar.so.2.0
  0x8010b03b0 <_ZN10libtorrent14torrent_statusaSEOS0_+0x4600> at /usr/local/lib/libtorrent-rasterbar.so.2.0
  0x8010b04ad <_ZN10libtorrent14torrent_statusaSEOS0_+0x46fd> at /usr/local/lib/libtorrent-rasterbar.so.2.0
  0x800d962d7 <_ZNK5boost4asio10io_context19basic_executor_typeINSt3__19allocatorIvEELm0EE7executeINS0_6detail17executor_functionEEEvOT_+0x347> at /usr/local/lib/libtorrent-rasterbar.so.2.0
  0x800d88fd2 <boost_asio_detail_posix_thread_function+0x7b2> at /usr/local/lib/libtorrent-rasterbar.so.2.0
  0x800d88a31 <boost_asio_detail_posix_thread_function+0x211> at /usr/local/lib/libtorrent-rasterbar.so.2.0
  0x800d85aa3 <_ZN10libtorrent14create_torrent17set_creation_dateEl+0x1cb3> at /usr/local/lib/libtorrent-rasterbar.so.2.0
  0x800f73ea0 <_ZN10libtorrent27default_disk_io_constructorERN5boost4asio10io_contextERKNS_18settings_interfaceERNS_8countersE+0x70> at /usr/local/lib/libtorrent-rasterbar.so.2.0


Yuri
Comment 2 alt2600 2022-05-27 16:57:15 UTC
concur with Relemg 13.1 amd64, was thinking of filing report last night but found this one this morning to add my issues too.


$ lldb `which qbittorrent`
(lldb) target create "/usr/local/bin/qbittorrent"
Current executable set to '/usr/local/bin/qbittorrent' (x86_64).
(lldb) r
Process 7892 launched: '/usr/local/bin/qbittorrent' (x86_64)
Process 7892 stopped
* thread #4, name = 'qbittorrent', stop reason = signal SIGSEGV: invalid address (fault address: 0x39)
    frame #0: 0x0000000800de804c libtorrent-rasterbar.so.10`___lldb_unnamed_symbol5853 + 172
libtorrent-rasterbar.so.10`___lldb_unnamed_symbol5853:
->  0x800de804c <+172>: movzbl 0x20(%rbx), %eax
    0x800de8050 <+176>: testb  $0x1, %al
    0x800de8052 <+178>: je     0x800de8060               ; <+192>
    0x800de8054 <+180>: movq   0x28(%rbx), %r14
(lldb) c
Process 7892 resuming


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

qBittorrent version: v4.4.2

Caught signal: SIGSEGV
Stack trace:
  0x80103ba7c <pthread_setschedparam+0x81c> at /lib/libthr.so.3
  0x7ffffffff8a3 <???> at ???
  0x800de804c <_ZN5boost4asio6detail10socket_ops24translate_addrinfo_errorEi+0x371ac> at /usr/local/lib/libtorrent-rasterbar.so.10
  0x800de68dc <_ZN5boost4asio6detail10socket_ops24translate_addrinfo_errorEi+0x35a3c> at /usr/local/lib/libtorrent-rasterbar.so.10
  0x800d86fd9 <_ZN10libtorrent3aux6to_hexENS_4spanIKcEEPc+0x4a89> at /usr/local/lib/libtorrent-rasterbar.so.10
  0x800dc8a9f <_ZN5boost4asio6detail10socket_ops24translate_addrinfo_errorEi+0x17bff> at /usr/local/lib/libtorrent-rasterbar.so.10
  0x800d36e02 <boost_asio_detail_posix_thread_function+0x7b2> at /usr/local/lib/libtorrent-rasterbar.so.10
  0x800d36861 <boost_asio_detail_posix_thread_function+0x211> at /usr/local/lib/libtorrent-rasterbar.so.10
  0x800e83393 <_ZN10libtorrent14session_paramsC2Ev+0x16e3> at /usr/local/lib/libtorrent-rasterbar.so.10
  0x800e81df1 <_ZN10libtorrent14session_paramsC2Ev+0x141> at /usr/local/lib/libtorrent-rasterbar.so.10
There were no function names found in the stack trace
.Seems like debug symbols are not installed, and the stack trace is useless.
Consider installing debug symbols for packages containing files with empty function names (i.e. empty braces "()") to make your stack trace more useful
Process 7892 stopped
* thread #4, name = 'qbittorrent', stop reason = unknown crash reason
    frame #0: 0x0000000800de804c libtorrent-rasterbar.so.10`___lldb_unnamed_symbol5853 + 172
libtorrent-rasterbar.so.10`___lldb_unnamed_symbol5853:
->  0x800de804c <+172>: movzbl 0x20(%rbx), %eax
    0x800de8050 <+176>: testb  $0x1, %al
    0x800de8052 <+178>: je     0x800de8060               ; <+192>
    0x800de8054 <+180>: movq   0x28(%rbx), %r14
Comment 3 Yuri Victorovich freebsd_committer freebsd_triage 2022-05-27 17:12:36 UTC
I also notified the libtorrent upstream author/maintainer via e-mail.

That's the most I can do.
Comment 4 Daniel Engberg freebsd_committer freebsd_triage 2022-05-27 22:38:37 UTC
Bumping libtorrent to the latest commit for 2.x-branch and qbittorrent 4.4.3.1 worked fine for downloading a few torrents on 13.1-STABLE (amd64)
Comment 5 Daniel Engberg freebsd_committer freebsd_triage 2022-05-27 22:39:18 UTC
...and force using c++17 for both ports
Comment 6 Yuri Victorovich freebsd_committer freebsd_triage 2022-05-27 22:50:57 UTC
(In reply to Daniel Engberg from comment #5)

Ok, I'll try it tomorrow.


Thanks!
Yuri
Comment 7 Yuri Victorovich freebsd_committer freebsd_triage 2022-05-28 01:55:52 UTC
(In reply to Daniel Engberg from comment #5)


Daniel.

I tried revision v2.0.6-27-g34c75eb5f of libtorrent-rasterbar but after rebuild of it and qbittorrent qBT still crashes.


Yuri
Comment 8 Yuri Victorovich freebsd_committer freebsd_triage 2022-05-28 02:28:15 UTC
(In reply to Yuri Victorovich from comment #7)

But with the c++17 flag it works now.

I'll update the ports soon.


Thanks!
Comment 9 commit-hook freebsd_committer freebsd_triage 2022-05-28 06:08:10 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f8c7a69a6d2cf354ba9f6a3c83982a6641c1b2d6

commit f8c7a69a6d2cf354ba9f6a3c83982a6641c1b2d6
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-05-28 06:00:57 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-05-28 06:07:14 +0000

    net-p2p/{,py-}libtorrent-rasterbar: Update 1.2.14 -> 2.0.6-27

    Python binding is BROKEN for now.

    Thanks to Daniel Engberg for suggestion to try the latest commit with -std=c++17.

    PR:             264278 261090

 net-p2p/libtorrent-rasterbar/Makefile    |  38 ++++++------
 net-p2p/libtorrent-rasterbar/distinfo    |  12 +++-
 net-p2p/libtorrent-rasterbar/pkg-plist   | 102 +++++++++++++++++++------------
 net-p2p/py-libtorrent-rasterbar/Makefile |  12 +++-
 net-p2p/py-libtorrent-rasterbar/distinfo |  12 +++-
 5 files changed, 111 insertions(+), 65 deletions(-)
Comment 10 commit-hook freebsd_committer freebsd_triage 2022-05-28 06:08:11 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=68bb9c48a2861f2d374e65ec8d39185bbdbb6556

commit 68bb9c48a2861f2d374e65ec8d39185bbdbb6556
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-05-28 06:06:01 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-05-28 06:07:14 +0000

    net-p2p/qbittorrent: Not broken; bump for libtorrent-rasterbar update

    PR:             264278

 net-p2p/qbittorrent/Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)