Skip to content

Occasional crashes in BitTorrent::Torrent::id() inside SyncController::generateMaindataSyncData() #23833

@K900

Description

@K900

qBittorrent & operating system versions

qBittorrent: 5.1.4
Operating system: NixOS unstable
Qt: 6.10.2
libtorrent-rasterbar: 2.0.11

What is the problem?

Occasionally qBittorrent (running behind autobrr/qui) crashes with this traceback:

#0  0x0000aaaacd5e8ae4 in BitTorrent::Torrent::id() const ()
#1  0x0000aaaacd78b25c in serialize(BitTorrent::Torrent const&) ()
#2  0x0000aaaacd758b08 in SyncController::generateMaindataSyncData(int, bool) ()
#3  0x0000aaaacd75d11c in SyncController::maindataAction() ()
#4  0x0000ffffa6854e4c in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) ()
   from /nix/store/qsdl5m2ziw0dbga6z4dq5iawpnykv6ci-qtbase-6.10.2/lib/libQt6Core.so.6
#5  0x0000ffffa6855ef0 in QMetaObject::invokeMethodImpl(QObject*, char const*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) ()
   from /nix/store/qsdl5m2ziw0dbga6z4dq5iawpnykv6ci-qtbase-6.10.2/lib/libQt6Core.so.6
#6  0x0000aaaacd7a5760 in APIController::run(QString const&, QHash<QString, QString> const&, QHash<QString, QByteArray> const&) ()
#7  0x0000aaaacd79bb24 in WebApplication::doProcessRequest() ()
#8  0x0000aaaacd79c5ac in WebApplication::processRequest(Http::Request const&, Http::Environment const&) ()
#9  0x0000aaaacd702ae8 in Http::Connection::read() ()
< ... snip ... >

This feels like some sort of concurrent read/modify issue maybe? But I'm not familiar with the code enough to tell.

Steps to reproduce

Not sure, does not happen consistently

Additional context

No response

Log(s) & preferences file(s)

[Application]
FileLogger\Enabled=false

[BitTorrent]
MergeTrackersEnabled=true
Session\AddTorrentStopped=false
Session\AddTrackersEnabled=true
Session\AdditionalTrackers=<snip>
Session\AnnounceToAllTrackers=true
Session\DefaultSavePath=/media/Torrents
Session\MaxActiveCheckingTorrents=50
Session\MaxActiveDownloads=50
Session\MaxActiveTorrents=100
Session\MaxActiveUploads=50
Session\Port=34882
Session\QueueingSystemEnabled=true
Session\SSL\Port=31794
Session\ShareLimitAction=Stop

[LegalNotice]
Accepted=true

[Meta]
MigrationVersion=8

[Network]
Proxy\HostnameLookupEnabled=false
Proxy\Profiles\BitTorrent=true
Proxy\Profiles\Misc=true
Proxy\Profiles\RSS=true

[Preferences]
WebUI\LocalHostAuth=false
WebUI\Port=8082

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions