Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Apple Silicon native support #14379

Closed
adi1382 opened this issue Feb 10, 2021 · 143 comments
Closed

Add Apple Silicon native support #14379

adi1382 opened this issue Feb 10, 2021 · 143 comments
Labels
Feature request OS: macOS Issues specific to macOS Qt bugs Bug resides in Qt library Waiting upstream Waiting for changes in dependent libraries

Comments

@adi1382
Copy link

adi1382 commented Feb 10, 2021

Please provide the following information

qBittorrent version and Operating System

macOS Big Sur (arm64)

If on linux, libtorrent-rasterbar and Qt version

(type here)

What is the problem

Native support on apple silicon

What is the expected behavior

(type here)

Steps to reproduce

(type here)

Extra info(if any)

Hey, Does the team have plans to release binary that would run natively on apple silicon?

@Mr-Beetroot
Copy link

Good question

@xavier2k6 xavier2k6 added Feature request OS: macOS Issues specific to macOS labels Feb 12, 2021
@xavier2k6 xavier2k6 changed the title Apple Silicon native support Add Apple Silicon native support Feb 12, 2021
@xavier2k6
Copy link
Member

xavier2k6 commented Feb 12, 2021

@adi1382 @Mr-Beetroot I can only presume that you have tried 4.3.3 & it doesn't work? Does it not run at all or crash?

Ignore, Irrelevant - asked in wrong issue.

@jagannatharjun
Copy link
Member

@xavier2k6 I think they are requesting a native version i.e an arm version of qbittorrent.

@xavier2k6
Copy link
Member

@xavier2k6 I think they are requesting a native version i.e an arm version of qbittorrent.

Ya, I already tagged as Feature Request - asked in wrong issue......IGNORE.

@easypickings
Copy link

So will there be a eta on universal build?

@FranciscoPombal FranciscoPombal added Qt bugs Bug resides in Qt library Waiting upstream Waiting for changes in dependent libraries labels Mar 18, 2021
@FranciscoPombal
Copy link
Member

FranciscoPombal commented Mar 18, 2021

We have to wait at least until Qt supports M1 Macs.

https://bugreports.qt.io/browse/QTBUG-85279

@Kolcha
Copy link
Contributor

Kolcha commented Apr 27, 2021

successfully compiled master branch commit ab6141e for Apple M1 !
see last line in command line on screenshot, file type reported is arm64! no Rosetta installed on used MacBook !
qBittorrent runs as native ARM64 app, and it works!

you can download experimental build here (link to Dropbox)
please note this is NOT universal binary, this is arm64 only (i.e. only for Apple Silicon based Macs)

Screenshot 2021-04-27 at 21 54 37

P.S> I DON'T own an Apple Silicon based MacBook, laptop used for building I got from office due to my work responsibilities. I just used it because it has suitable development environment and I was curios.

P.P.S> I'll try to produce arm64 binaries using Intel-based MacBook, but this is later. it should be possible, at least because I saw x86 binaries produced on this Apple M1 on first try...

@Kolcha
Copy link
Contributor

Kolcha commented Apr 27, 2021

Unofficial qBittorrent 4.3.4.1 release for Apple M1

compiled using the same libraries versions as official
no any source code changes, 332b173
for Apple M1 only, NOT universal binary
>>>download release 4.3.4.1<<<
Screenshot 2021-04-28 at 02 18 10

@FranciscoPombal
Copy link
Member

@Kolcha How did you handle Qt? I thought that Qt would only get support for M1 in a future release. Surprised to see that Qt 5.15.2 works out of the box.

@Kolcha
Copy link
Contributor

Kolcha commented Apr 29, 2021

@FranciscoPombal even 5.12.x works :) but not exactly "out of the box" :)
all I did that changed only one line in some Qt' mkspecs file. and that change was caused by very unexpected thing - I got x86 Qt' binaries (moc was among them)! and system complained that something can't be executed (because I don't have Rosetta (I must have clean environment)
after that change build process went fine. also I see no reasons to concern about Qt, because it supports arm64 architecture for a long time (at least because it is available for Android and Yocto Linux which is popular across different embedded systems, mostly ARM-based).
moreover, only one thing I concerned was OpenSSL (due to its uncommon and maybe unique own build system), but seems it is already ready for M1, its build script even had some preset something like darwin20-arm64 (approximate name, don't remember). in all other things I was almost sure that it will not cause any build issues (thanks to my work experience...)

I'll share all my work later, when I find the way to build Qt' arm64 binaries on x86 host (anything else I think should not cause serious issues), but this looks like even harder challenge that compiling Qt 4.8 with VisualStudio 2017 (especially when I'm even not experienced Windows user...) that I did few years ago...

@FranciscoPombal
Copy link
Member

@Kolcha

Thanks for the details.

I'll share all my work later, when I find the way to build Qt' arm64 binaries on x86 host (anything else I think should not cause serious issues), but this looks like even harder challenge that compiling Qt 4.8 with VisualStudio 2017 (especially when I'm even not experienced Windows user...) that I did few years ago...

I'm happy that you're looking into cross-compiling with x86-64 hosts - this means that we can create a GitHub Actions workflow for the procedure and get macOS ARM test builds working even before (if ever) GitHub introduces native macOS ARM runners. Still, I would suggest documenting the current build procedure (native compilation) on a wiki page and link it here, at your convenience. This will give ARM macOS users something to chew on before the cross-compiling workflow is ready.

@Kolcha
Copy link
Contributor

Kolcha commented May 3, 2021

Unofficial qBittorrent 4.3.5 release for Apple M1

no any source code changes, 063844e
for Apple M1 only, NOT universal binary

>>>download release 4.3.5<<<

Screenshot 2021-05-03 at 13 17 14

P.S> still no any documentation / tips & tricks for build process on M1, neither any progress on cross-compiling from x86_64 to M1 (even did not any research on this yet). sorry, I'm too busy now... and after work I'm too tired and just don't want to work on something else so energy-consuming... but build and publish new release requires only few minutes and no thinking.

@Kolcha
Copy link
Contributor

Kolcha commented May 7, 2021

finally, I had some free time when I was not so tired. and there are some good news - I got arm64 qBittorrent executable on my x86_64 host!

Screen Shot 2021-05-08 at 01 18 56

but there is one very inconvenient thing - Qt' very convinient tool called macdeployqt is only for target architecture (i.e. arm64), and it is can't be compiled for host (I tried, but no luck, very likely there is must be the reason for it)...

Screen Shot 2021-05-08 at 01 23 20

some tricks were also required to cross-compile Qt to M1, there is NO any presets/configurations/options for that, but in general Qt is ready for it. my experience with Qt 4.8 compilation using MSVC 2017 and a lot of experience in cross-compiling on Linux helped me a lot here :) but process is still different from usual cross-compilation, because you are using the same compiler... this is unusual...

also I would like to add few words about so-called "universal (or fat) binaries". such kind of binaries are extremely easy to build, but ... only if code is really cross-platform (i.e. rely on only standard library). so in such cases as Qt (and moreover OpenSSL) it is unacceptable, because their code rely on specific CPU instructions which are completely different for x86_64 and arm64, and code doesn't not have platform-dependent switches, decisions what to use are made only on "configure" stage, i.e. the same code will be tried to be compiled for each architecture, and this doomed to fail (tested with Qt, I even didn't thought that it so much depend on certain CPU instructions).

so, now I see the "whole picture" and have some thoughts what to do next, and the end is near. in few days I'll publish at least guide describing all tricks used to make build possible on native M1. cross-compiling manual will appear later, I have to solve few more issues to make this process smooth and easy to automate.

so, wait for updates, very likely native Apple Silicon builds will be officially available with next qBittorrent release :)

@FranciscoPombal
Copy link
Member

@Kolcha

Great news all around, nice work.

also I would like to add few words about so-called "universal (or fat) binaries". such kind of binaries are extremely easy to build, but ... only if code is really cross-platform (i.e. rely on only standard library). so in such cases as Qt (and moreover OpenSSL) it is unacceptable, because their code rely on specific CPU instructions which are completely different for x86_64 and arm64, and code doesn't not have platform-dependent switches, decisions what to use are made only on "configure" stage, i.e. the same code will be tried to be compiled for each architecture, and this doomed to fail (tested with Qt, I even didn't thought that it so much depend on certain CPU instructions).

Is there any advantage in providing fat binaries as opposed to one build for each architecture? If not, you don't need to worry about them if you don't want to, because I doubt anyone else has strong opinions about this.

@Kolcha
Copy link
Contributor

Kolcha commented May 8, 2021

@FranciscoPombal

Is there any advantage in providing fat binaries as opposed to one build for each architecture? If not, you don't need to worry about them if you don't want to, because I doubt anyone else has strong opinions about this.

there is only one advantage - developers ship only one binary and end users don't need to think what to download. technically there are no any benefits, only head ache for developers in case of non-trivial code :) I don't worry about fat binaries and I don't want to provide them, I prefer to ship 2 different builds, users will be able to choose one (I think users are not so stupid to do not know is their Mac based on Apple Silicon or Intel chip, IMO).
moreover, providing 2 different binaries is preferable from used space point of view - space is used only by code what you will use, no any bloat. so, I'm focused on two separate builds.

@Kolcha
Copy link
Contributor

Kolcha commented May 14, 2021

@FranciscoPombal
I added the Wiki page describing the build process, feel free to edit it because I don't think that I'm good enough in English.
document covers all cases: native building for x86_64 and arm64, and also cross-compilation. all steps almost the same (only one option is different depending on build type), so it was decided to create one common document. it is should be pretty easy readable even for newbies.
the most unusual (and what was complex) part is documented in details, so anyone should be able at least just to repeat that.

also I published totally new and much more "developer friendly" fully automated script for qBittorent building in any variant (even with easy way for switching dependencies versions). there is the link. script is not big and very simple. the most interesting parts of it is pretty well commented too (and most of that comments became a part of documentation). you may use it as starting point for GitHub Actions workflow.

@monotheist
Copy link

finally, I had some free time when I was not so tired. and there are some good news - I got arm64 qBittorrent executable on my x86_64 host!

Screen Shot 2021-05-08 at 01 18 56

but there is one very inconvenient thing - Qt' very convinient tool called macdeployqt is only for target architecture (i.e. arm64), and it is can't be compiled for host (I tried, but no luck, very likely there is must be the reason for it)...

Screen Shot 2021-05-08 at 01 23 20

some tricks were also required to cross-compile Qt to M1, there is NO any presets/configurations/options for that, but in general Qt is ready for it. my experience with Qt 4.8 compilation using MSVC 2017 and a lot of experience in cross-compiling on Linux helped me a lot here :) but process is still different from usual cross-compilation, because you are using the same compiler... this is unusual...

also I would like to add few words about so-called "universal (or fat) binaries". such kind of binaries are extremely easy to build, but ... only if code is really cross-platform (i.e. rely on only standard library). so in such cases as Qt (and moreover OpenSSL) it is unacceptable, because their code rely on specific CPU instructions which are completely different for x86_64 and arm64, and code doesn't not have platform-dependent switches, decisions what to use are made only on "configure" stage, i.e. the same code will be tried to be compiled for each architecture, and this doomed to fail (tested with Qt, I even didn't thought that it so much depend on certain CPU instructions).

so, now I see the "whole picture" and have some thoughts what to do next, and the end is near. in few days I'll publish at least guide describing all tricks used to make build possible on native M1. cross-compiling manual will appear later, I have to solve few more issues to make this process smooth and easy to automate.

so, wait for updates, very likely native Apple Silicon builds will be officially available with next qBittorrent release :)

Doesn't work on M1 Big Sur. Please see attachment.
Screenshot 2021-06-22 at 4 48 20 PM

@Kolcha
Copy link
Contributor

Kolcha commented Jun 22, 2021

@monotheist dialog you see is expected - app is not signed, I don't have extra 100$+ to pay Apple for signing certificate, even more such certificates are expire in a year.

so, as for many other free and/or open source apps, just go to the settings and press "Open Anyway". you will be not prompted next time.

Screenshot 2021-06-22 at 15 52 58

@monotheist
Copy link

@monotheist dialog you see is expected - app is not signed, I don't have extra 100$+ to pay Apple for signing certificate, even more such certificates are expire in a year.

so, as for many other free and/or open source apps, just go to the settings and press "Open Anyway". you will be not prompted next time.

Screenshot 2021-06-22 at 15 52 58

Thank you

@briankendall
Copy link
Contributor

According to this: https://www.qt.io/blog/qt-on-apple-silicon
...Qt intends to support compiling for Apple Silicon to Qt 5.15 as well. Since Qt 6 drops support for a lot of platforms that users still use, my recommendation is to wait for the Qt 5.15 branch to have proper Apple Silicon support (hopefully with the official frameworks being universal binaries, or at least adding support for compiling universal binaries) and then start building qBittorrent using that.

@koppanyinorbert
Copy link

qBittorrent-master-macOS-arm64.dmg.zip
Here is a build for version 4.4.0.Beta1

@c0re100
Copy link

c0re100 commented Jun 28, 2021

According to this: https://www.qt.io/blog/qt-on-apple-silicon
...Qt intends to support compiling for Apple Silicon to Qt 5.15 as well. Since Qt 6 drops support for a lot of platforms that users still use, my recommendation is to wait for the Qt 5.15 branch to have proper Apple Silicon support (hopefully with the official frameworks being universal binaries, or at least adding support for compiling universal binaries) and then start building qBittorrent using that.

Well, Qt 5.15 LTS is only for commercial users......so the only way is Qt6 :)

@briankendall
Copy link
Contributor

Well, Qt 5.15 LTS is only for commercial users......so the only way is Qt6 :)

That's garbage! Boo on the Qt Company for not supporting open source. Qt 6 cuts out support for Windows 7, Windows 8, macOS 10.13, and Ubuntu 19.10 and earlier, all of which are reasonable to still be using on older hardware or simply because users don't agree with the direction the operating systems have gone in. (I'm looking at you, Windows 10 and macOS Big Sur.)

I hope the developers of qBittorrent opt to maintain at least Qt 5.15 compatibility for a while longer and not drop these users.

@LukeSal88
Copy link

Any updates here, perchance?

@R0GERIUS
Copy link

R0GERIUS commented Feb 25, 2022

Any updates here, perchance?

Sadly I don't have any news about the official release of 4.4.x version for macOS.
Kolcha's script and my forks can build any variation of the releases, including the official one.
Based on that, I have built yesterday the 4.4.1 release version (with libtorrent-rasterbar 2.0.5+giteda4baa041, Qt 6.2.3 and Boost 1.78.0), which can be downloaded from here:
qBittorrent-release-4.4.1-macOS-universal.dmg.zip
However unfortunately the issue with the progress bar still exists and since I'm not familiar with Qt and the project source itself, I have no idea why.

@Kolcha
Copy link
Contributor

Kolcha commented Feb 25, 2022

However unfortunately the issue with the progress bar still exists and since I'm not familiar with Qt and the project source itself, I have no idea why.

what is the issue you are talking about? is it mac-specific or cross-platform? maybe I can fix it. I can find interesting parts in code pretty quickly regardless of codebase size (consider such huge project like Android for example). moreover, I'm familiar with Qt' codebase, and in this particular case with code corresponding to progress bar painting... long time ago I made changes in Qt to fix progress bar displaying torrent progress download misplacement. see #9096 (comment) and #9096 (comment)

so, new issue with progress bar is not completely new to me, but the fix/workaround may require the changes inside Qt itself. this should not be a problem, because Qt is compiled from sources, so it can be patched before compilation. also, if bug is reproducible on any other apps, patch can be submitted to Qt (I did this already, so know that's possible).

so, please give some details where to look and for what. very likely this will be also pretty easy to fix

@R0GERIUS
Copy link

R0GERIUS commented Feb 25, 2022

However unfortunately the issue with the progress bar still exists and since I'm not familiar with Qt and the project source itself, I have no idea why.

what is the issue you are talking about? is it mac-specific or cross-platform? maybe I can fix it. I can find interesting parts in code pretty quickly regardless of codebase size (consider such huge project like Android for example). moreover, I'm familiar with Qt' codebase, and in this particular case with code corresponding to progress bar painting... long time ago I made changes in Qt to fix progress bar displaying torrent progress download misplacement. see #9096 (comment) and #9096 (comment)

so, new issue with progress bar is not completely new to me, but the fix/workaround may require the changes inside Qt itself. this should not be a problem, because Qt is compiled from sources, so it can be patched before compilation. also, if bug is reproducible on any other apps, patch can be submitted to Qt (I did this already, so know that's possible).

so, please give some details where to look and for what. very likely this will be also pretty easy to fix

The progress bar looks like this:

For some reason the percentage text is behind of the progress bar, until it reaches 100%.
As far as I seen this isn't exclusive to the main window (aka the torrent list), but occurs even with the content window too (aka files list), so it's a reasonable assumption, that every progress bar is affected by this bug.
As far as I know, it's a specific bug with macOS and Qt 6, this isn't an issue with any other platform or with Qt 5.
I thought back then Qt 6.2.3 will solve this issue, but it still persists, so either it's still a bug in Qt or in qBittorrent.

@Kolcha
Copy link
Contributor

Kolcha commented Feb 26, 2022

solution for progress bar was found! it was harder than previous issue I looked (sadly, it is still exists) and it took pretty much time - I spent about 4 hours on it. I used previously created demo app for debugging.
Screenshot_2022-03-05_14-58-37
so, what are results? and where error is and what is the solution for it?
first of all, the root of this problem definitely in Qt itself and affects all platforms, and it is can't be avoided on application side, so changes in Qt sources are required.
how I found that: firstly I looked into "Fusion" style (it is used in qBittorrent for progress bar painting) implementation and compared it to Qt 5.15.2 (were no bug presents). but I was disappointed with no significant difference (especially in parts responsible to progress bar painting). so, deeper code analysis began. few experiments shown that this is related to few calls responsible to clipping settings.
what happened and lead to this issue: something related to clipping was changed in painting engine (QPainter), and setClipRect() doesn't replace already set clipping region set with setClipRegion() call even it should (according to documentation, and it did this in Qt 5).
changing corresponding setClipRect() to setClipRegion() (no any other changes are required because QRect is implicitly convertible to QRegion) gives a workaround.
very likely correct fix will be just a removing the line which doesn't exist in Qt 5 but presents in Qt 6

so, to fix this progress bar bug in qBittorrent, just patch Qt before building it. applying any of these patches will give desired result (numbers are visible). to apply patches from some script, any of the following lines can be used:

  • for workaround patch:
    curl -L 'https://www.dropbox.com/s/s42x0bthmm4oyo7/qt6-pb-workaround.patch?dl=1' | patch -p1 -d qtbase
  • for possible fix patch:
    curl -L 'https://www.dropbox.com/s/iyioh5s9c5evn9g/qt6-pb-fix.patch?dl=1' | patch -p1 -d qtbase

corresponding Qt bugreport was opened - QTBUG-101474

@R0GERIUS
Copy link

I built the 4.4.1 release with the fix patch and it works fine, the issue is gone.

The build upload has been updated, so the old link probably doesn't work for the patched version.
Here is the new link:
qBittorrent-release-4.4.1-macOS-universal.dmg.zip

I also updated my fork of the script with the patch, if you want to build it yourself.
The build parameters to reproduce my build above: -a universal -w build-qbittorrent --qbittorrent=release-4.4.1 --qt=6.2.3 --boost=1.78.0 --libtorrent-commit=eda4baa041

@sledgehammer999
Copy link
Member

I am trying to compile Qt6 on Big Sur. But I am getting this error:

/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSBundle.h:91:143: error: function does not return NSString
- (NSAttributedString *)localizedAttributedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName NS_FORMAT_ARGUMENT(1) NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(12.0), ios(15.0), watchos(8.0), tvos(15.0));
                                                         ~~~~~~~~~~~~~~                                                                       ^                  ~
/Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:103:48: note: expanded from macro 'NS_FORMAT_ARGUMENT'
        #define NS_FORMAT_ARGUMENT(A) __attribute__ ((format_arg(A)))
                                                      ^          ~
1 error generated.

Has anyone encountered it?
I am using xcode command line tools 12.5.1.
My sample command line for qtbase 6.2.3 is:

../configure -cmake-generator Ninja -release -static -optimize-size -gc-binaries -c++std c++17 -ltcg -make libs -make tools -nomake examples -no-dbus -no-icu -no-cups -system-zlib -openssl-linked -no-opengl -no-opengles3 -no-egl -sql-sqlite -no-sql-odbc --prefix=<install-paht> -- -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DCMAKE_PREFIX_PATH=<path-to-openssl>

I have read Kolcha's script but it doesn't seem to do something different than me.

@Kolcha
Copy link
Contributor

Kolcha commented Mar 8, 2022

I don't have BigSur anymore to test this, due to work responsibilities I have to upgrade to Monterey because Xcode 13 was required...
but this is looks like something is wrong in environment, very unlikely that Qt configure line is somehow related to this. and anything I was able to find (this error is pretty "famous" and appeared in very different projects) also make me think the same way... people who faced that wrote completely opposed things: for some of them issue was solved by upgrading Xcode / Tools (or even OS), but for other the solution was to use previous versions...

in any case, the problem somewhere in the system libraries, very likely there is some version affected by this, you likely have this.

just from my experience, I recommend to not use standalone command line tools for Qt-based (and Qt itself) code building, I had no luck with it each time I tried. looks like SDKs shipped with Command Line Tools are different comparing to their equivalents shipped with Xcode. so, recommend just to reset "developer tools path" to Xcode and try again. also, I recommend just to upgrade everything if this is acceptable for you. but this is only my thoughts, I'm not pro in macOS development, I just have to use some its developer tools.

@sledgehammer999
Copy link
Member

I just finished testing.
It is resolved if I use xcode command line tools 13.2.

@sledgehammer999
Copy link
Member

Can someone test the following DMG? It is supposed to be universal. Can you confirm that it runs natively on Apple Silicon?
If no issue, I'll post it as the official package.
DMG: http://builds.shiki.hu/qbittorrent-4.4.1.dmg
PGP sign: http://builds.shiki.hu/qbittorrent-4.4.1.dmg.asc

@emikaadeo-git
Copy link

emikaadeo-git commented Mar 9, 2022

Can someone test the following DMG? It is supposed to be universal. Can you confirm that it runs natively on Apple Silicon? If no issue, I'll post it as the official package. DMG: http://builds.shiki.hu/qbittorrent-4.4.1.dmg PGP sign: http://builds.shiki.hu/qbittorrent-4.4.1.dmg.asc

I can confirm it runs natively on M1 but the progress bar issue is still here.
Why not use Qt6 patch and resolve issue for all platforms?

@ashwaniii
Copy link

Can someone test the following DMG? It is supposed to be universal. Can you confirm that it runs natively on Apple Silicon? If no issue, I'll post it as the official package. DMG: http://builds.shiki.hu/qbittorrent-4.4.1.dmg PGP sign: http://builds.shiki.hu/qbittorrent-4.4.1.dmg.asc

Running natively on M1.

@sledgehammer999
Copy link
Member

I can confirm it runs natively on M1 but the progress bar #15941 is still here.

I am not planning to distribute a patched Qt6.
Thanks for the testing.

@barhom
Copy link
Contributor

barhom commented Mar 11, 2022

I still get occasional freezes in qbittorrent running on my M1 Pro - is no one really experiencing this?
What happens is that the UI freezes, the round colorful bar shows up that it is loading and it can take like 20 seconds before the app gets responsive again.

@LukeSal88
Copy link

LukeSal88 commented Mar 12, 2022

I still get occasional freezes in qbittorrent running on my M1 Pro - is no one really experiencing this?
What happens is that the UI freezes, the round colorful bar shows up that it is loading and it can take like 20 seconds before the app gets responsive again.

Ditto

@barhom
Copy link
Contributor

barhom commented Mar 17, 2022

I still get occasional freezes in qbittorrent running on my M1 Pro - is no one really experiencing this? What happens is that the UI freezes, the round colorful bar shows up that it is loading and it can take like 20 seconds before the app gets responsive again.

Actually it does not always regain responsiveness after 20'ish seconds - sometimes it looses responsiveness all together and the rainbow like round loading bar continues and eventually I am forced to force-quit the appplication.

@sledgehammer999 how do we even begin to diagnose this? I want to help but I am unsure on what to provide in order to find out why the occasional freezes keeps happening.

This is so bad that I am forced to use Transmission until this is solved :/

@R0GERIUS
Copy link

I got a crash today, maybe the crashlog helps somewhat (I did use the patch and built it myself with Kolcha's script) in the investigations.

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               qbittorrent [76280]
Path:                  /Applications/qBittorrent.app/Contents/MacOS/qbittorrent
Identifier:            org.qbittorrent.qBittorrent
Version:               4.4.1 (???)
Code Type:             ARM-64 (Native)
Parent Process:        launchd [1]
User ID:               501

Date/Time:             2022-03-17 23:22:30.2352 +0100
OS Version:            macOS 12.3 (21E230)
Report Version:        12
Anonymous UUID:        63DF1E1D-3138-5054-FAF9-C34EB9DBFF53

Sleep/Wake UUID:       71212E90-48F6-4921-A29E-1DC3BE56EE0B

Time Awake Since Boot: 230000 seconds
Time Since Wake:       4326 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
qbittorrent(76280,0x10362c580) malloc: Heap corruption detected, free list is damaged at 0x600000bc0090
*** Incorrect guard value: 280122077741199
abort() called


Kernel Triage:
VM - pmap_enter failed with resource shortage
VM - pmap_enter failed with resource shortage
VM - pmap_enter failed with resource shortage
VM - pmap_enter failed with resource shortage
VM - pmap_enter failed with resource shortage


Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x1bb25cdb8 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x1bb291ee0 pthread_kill + 288
2   libsystem_c.dylib             	       0x1bb1cc340 abort + 168
3   libsystem_malloc.dylib        	       0x1bb0ae8c0 malloc_vreport + 552
4   libsystem_malloc.dylib        	       0x1bb0c3c84 malloc_zone_error + 100
5   libsystem_malloc.dylib        	       0x1bb0a0b70 nanov2_allocate_from_block + 568
6   libsystem_malloc.dylib        	       0x1bb0a018c nanov2_allocate + 128
7   libsystem_malloc.dylib        	       0x1bb0a232c nanov2_calloc + 160
8   libsystem_malloc.dylib        	       0x1bb0bd840 _malloc_zone_calloc + 88
9   libobjc.A.dylib               	       0x1bb1183e4 class_createInstance + 64
10  CoreFoundation                	       0x1bb2ddeb8 __CFAllocateObject + 24
11  CoreFoundation                	       0x1bb2dde64 __NSSingleObjectArrayI_new + 48
12  AppKit                        	       0x1bdebef48 _NSMapAndFilter + 500
13  AppKit                        	       0x1be05abb0 _NSIsAnyWindowOnAVisibleSpace + 40
14  AppKit                        	       0x1be05ab60 -[NSWindow _isInSomeVisibleSpace] + 104
15  AppKit                        	       0x1be065cfc -[NSWindow resignKeyWindow] + 420
16  AppKit                        	       0x1be065a8c _NXEndKeyAndMain + 188
17  AppKit                        	       0x1be06494c -[NSApplication _handleDeactivateEvent:] + 788
18  AppKit                        	       0x1be02ad00 -[NSApplication(NSEvent) sendEvent:] + 3220
19  qbittorrent                   	       0x1015833c0 -[QNSApplication sendEvent:] + 76
20  AppKit                        	       0x1be2e48e8 -[NSApplication _handleEvent:] + 76
21  AppKit                        	       0x1bdeac6b8 -[NSApplication run] + 636
22  qbittorrent                   	       0x10158dd14 QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 1712
23  qbittorrent                   	       0x101e0a724 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 500
24  qbittorrent                   	       0x101e03ec0 QCoreApplication::exec() + 128
25  qbittorrent                   	       0x100d2d8d8 Application::exec(QList<QString> const&) + 780
26  qbittorrent                   	       0x100d38cc8 main + 1120
27  dyld                          	       0x1035b9088 start + 516

Thread 1:: com.apple.CFSocket.private
0   libsystem_kernel.dylib        	       0x1bb25f5b8 __select + 8
1   CoreFoundation                	       0x1bb3891fc __CFSocketManager + 644
2   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
3   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 2:
0   libsystem_kernel.dylib        	       0x1bb25ac40 kevent + 8
1   qbittorrent                   	       0x1018db178 boost::asio::detail::kqueue_reactor::run(long, boost::asio::detail::op_queue<boost::asio::detail::scheduler_operation>&) + 280
2   qbittorrent                   	       0x1018dc6e8 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) + 400
3   qbittorrent                   	       0x1018dc33c boost::asio::detail::scheduler::run(boost::system::error_code&) + 200
4   qbittorrent                   	       0x1018dcdfc boost::asio::io_context::run() + 36
5   qbittorrent                   	       0x1018dcd5c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, libtorrent::session::start(libtorrent::flags::bitfield_flag<unsigned char, libtorrent::session_flags_tag, void>, libtorrent::v2::session_params&&, boost::asio::io_context*)::$_0> >(void*) + 56
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 3:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   qbittorrent                   	       0x1018dc674 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) + 284
3   qbittorrent                   	       0x1018dc33c boost::asio::detail::scheduler::run(boost::system::error_code&) + 200
4   qbittorrent                   	       0x101882ea8 boost::asio::detail::posix_thread::func<boost::asio::detail::resolver_service_base::work_scheduler_runner>::run() + 32
5   qbittorrent                   	       0x1018dc204 boost_asio_detail_posix_thread_function + 28
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 4:: QThread
0   libsystem_kernel.dylib        	       0x1bb25ced0 poll + 8
1   qbittorrent                   	       0x101efebe0 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 436
2   qbittorrent                   	       0x101effd28 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 624
3   qbittorrent                   	       0x101e0a724 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 500
4   qbittorrent                   	       0x101ea4a90 QThread::exec() + 176
5   qbittorrent                   	       0x101f03c54 QThreadPrivate::start(void*) + 472
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 5:: QThread
0   libsystem_kernel.dylib        	       0x1bb25ced0 poll + 8
1   qbittorrent                   	       0x101efebe0 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 436
2   qbittorrent                   	       0x101effd28 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 624
3   qbittorrent                   	       0x101e0a724 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 500
4   qbittorrent                   	       0x101ea4a90 QThread::exec() + 176
5   qbittorrent                   	       0x101f03c54 QThreadPrivate::start(void*) + 472
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 6:: QThread
0   libsystem_kernel.dylib        	       0x1bb25ced0 poll + 8
1   qbittorrent                   	       0x101efebe0 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 436
2   qbittorrent                   	       0x101effd28 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 624
3   qbittorrent                   	       0x101e0a724 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 500
4   qbittorrent                   	       0x101ea4a90 QThread::exec() + 176
5   qbittorrent                   	       0x101f03c54 QThreadPrivate::start(void*) + 472
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 7:: QThread
0   libsystem_kernel.dylib        	       0x1bb25ced0 poll + 8
1   qbittorrent                   	       0x101efebe0 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 436
2   qbittorrent                   	       0x101effd28 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 624
3   qbittorrent                   	       0x101e0a724 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 500
4   qbittorrent                   	       0x101ea4a90 QThread::exec() + 176
5   qbittorrent                   	       0x101f03c54 QThreadPrivate::start(void*) + 472
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 8:: QNetworkAccessManager thread
0   libsystem_kernel.dylib        	       0x1bb25ced0 poll + 8
1   qbittorrent                   	       0x101efeac4 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 152
2   qbittorrent                   	       0x101effd28 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 624
3   qbittorrent                   	       0x101e0a724 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 500
4   qbittorrent                   	       0x101ea4a90 QThread::exec() + 176
5   qbittorrent                   	       0x101f03c54 QThreadPrivate::start(void*) + 472
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 9:: QThread
0   libsystem_kernel.dylib        	       0x1bb25ced0 poll + 8
1   qbittorrent                   	       0x101efebe0 qt_safe_poll(pollfd*, unsigned int, timespec const*) + 436
2   qbittorrent                   	       0x101effd28 QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 624
3   qbittorrent                   	       0x101e0a724 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 500
4   qbittorrent                   	       0x101ea4a90 QThread::exec() + 176
5   qbittorrent                   	       0x101f03c54 QThreadPrivate::start(void*) + 472
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 10:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 11::  Dispatch queue: com.apple.root.user-interactive-qos
0   libsystem_kernel.dylib        	       0x1bb2548d0 mach_msg_trap + 8
1   libsystem_kernel.dylib        	       0x1bb254d40 mach_msg + 76
2   CoreFoundation                	       0x1bb35ec1c __CFRunLoopServiceMachPort + 372
3   CoreFoundation                	       0x1bb35d0cc __CFRunLoopRun + 1180
4   CoreFoundation                	       0x1bb35c490 CFRunLoopRunSpecific + 600
5   Foundation                    	       0x1bc239210 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 236
6   AppKit                        	       0x1be2de258 -[NSAnimation _runBlocking] + 444
7   AppKit                        	       0x1be2de5e0 __30-[NSAnimation _runInNewThread]_block_invoke + 132
8   libdispatch.dylib             	       0x1bb0cc604 _dispatch_call_block_and_release + 32
9   libdispatch.dylib             	       0x1bb0ce1c8 _dispatch_client_callout + 20
10  libdispatch.dylib             	       0x1bb0dfa04 _dispatch_root_queue_drain + 680
11  libdispatch.dylib             	       0x1bb0e0104 _dispatch_worker_thread2 + 164
12  libsystem_pthread.dylib       	       0x1bb28e324 _pthread_wqthread + 228
13  libsystem_pthread.dylib       	       0x1bb28d080 start_wqthread + 8

Thread 12:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	       0x1bb2548d0 mach_msg_trap + 8
1   libsystem_kernel.dylib        	       0x1bb254d40 mach_msg + 76
2   CoreFoundation                	       0x1bb35ec1c __CFRunLoopServiceMachPort + 372
3   CoreFoundation                	       0x1bb35d0cc __CFRunLoopRun + 1180
4   CoreFoundation                	       0x1bb35c490 CFRunLoopRunSpecific + 600
5   AppKit                        	       0x1be028794 _NSEventThread + 196
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 13:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 14:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 15:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 16:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 17:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 18:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 19:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 20:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 21:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 22:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 23:
0   libsystem_kernel.dylib        	       0x1bb258290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x1bb29283c _pthread_cond_wait + 1236
2   libc++.1.dylib                	       0x1bb1e12cc std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 100
3   qbittorrent                   	       0x101846e2c libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&) + 136
4   qbittorrent                   	       0x101846fb4 libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&) + 152
5   qbittorrent                   	       0x101780190 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*) + 92
6   libsystem_pthread.dylib       	       0x1bb29226c _pthread_start + 148
7   libsystem_pthread.dylib       	       0x1bb28d08c thread_start + 8

Thread 24::  Dispatch queue: NSCGSDisableUpdates
0   libsystem_kernel.dylib        	       0x1bb254924 semaphore_timedwait_trap + 8
1   libdispatch.dylib             	       0x1bb0ce7c8 _dispatch_sema4_timedwait + 64
2   libdispatch.dylib             	       0x1bb0cedbc _dispatch_semaphore_wait_slow + 76
3   SkyLight                      	       0x1c049b28c CGSUpdateManager::enable_updates_common() + 948
4   SkyLight                      	       0x1c049b9d0 SLSReenableUpdateToken + 104
5   libdispatch.dylib             	       0x1bb0cc604 _dispatch_call_block_and_release + 32
6   libdispatch.dylib             	       0x1bb0ce1c8 _dispatch_client_callout + 20
7   libdispatch.dylib             	       0x1bb0d58a8 _dispatch_lane_serial_drain + 668
8   libdispatch.dylib             	       0x1bb0d6404 _dispatch_lane_invoke + 392
9   libdispatch.dylib             	       0x1bb0e0c98 _dispatch_workloop_worker_thread + 648
10  libsystem_pthread.dylib       	       0x1bb28e360 _pthread_wqthread + 288
11  libsystem_pthread.dylib       	       0x1bb28d080 start_wqthread + 8

Thread 25:
0   libsystem_pthread.dylib       	       0x1bb28d078 start_wqthread + 0

Thread 26::  Dispatch queue: com.apple.SkyLight.UpdateManager.SerialSema
0   libsystem_kernel.dylib        	       0x1bb25490c semaphore_wait_trap + 8
1   SkyLight                      	       0x1c049b45c invocation function for block in (anonymous namespace)::InterprocessSerialSemaphore::asyncWait(void (int) block_pointer) + 40
2   libdispatch.dylib             	       0x1bb0cc604 _dispatch_call_block_and_release + 32
3   libdispatch.dylib             	       0x1bb0ce1c8 _dispatch_client_callout + 20
4   libdispatch.dylib             	       0x1bb0d58a8 _dispatch_lane_serial_drain + 668
5   libdispatch.dylib             	       0x1bb0d6404 _dispatch_lane_invoke + 392
6   libdispatch.dylib             	       0x1bb0e0c98 _dispatch_workloop_worker_thread + 648
7   libsystem_pthread.dylib       	       0x1bb28e360 _pthread_wqthread + 288
8   libsystem_pthread.dylib       	       0x1bb28d080 start_wqthread + 8

Thread 27:
0   libsystem_pthread.dylib       	       0x1bb28d078 start_wqthread + 0


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x0000000000000000   x6: 0x0000000000000001   x7: 0x000000010dd4c028
    x8: 0x7034ef2cdeb36e99   x9: 0x7034ef2dddd1ab19  x10: 0xcccccccccccccccd  x11: 0x000000000000000a
   x12: 0x0000000000000000  x13: 0x0000000000000037  x14: 0x0000000052c00000  x15: 0x0000000213a3d0c0
   x16: 0x0000000000000148  x17: 0x00000002150ff640  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x000000010362c580  x21: 0x0000000000000103  x22: 0x000000010362c660  x23: 0x000000010dd4c000
   x24: 0x0000000000000000  x25: 0x0000000000000000  x26: 0x000000016f0dfbd5  x27: 0x000000010362c580
   x28: 0x000000000000000a   fp: 0x000000016f0de850   lr: 0x00000001bb291ee0
    sp: 0x000000016f0de830   pc: 0x00000001bb25cdb8 cpsr: 0x40001000
   far: 0x000000010363c004  esr: 0x56000080  Address size fault

Binary Images:
       0x1bb253000 -        0x1bb28afff libsystem_kernel.dylib (*) <1d7b3b8e-75a1-34ea-aa52-9f7c23155c55> /usr/lib/system/libsystem_kernel.dylib
       0x1bb28b000 -        0x1bb297fff libsystem_pthread.dylib (*) <cee8bc77-6923-34d9-89a3-6f8f7279605e> /usr/lib/system/libsystem_pthread.dylib
       0x1bb152000 -        0x1bb1d3fff libsystem_c.dylib (*) <fd566a15-42d8-314a-a99a-b59237ddf5bc> /usr/lib/system/libsystem_c.dylib
       0x1bb09f000 -        0x1bb0c9fff libsystem_malloc.dylib (*) <3a021c33-dd59-37f7-9a86-5ceed68ff9ba> /usr/lib/system/libsystem_malloc.dylib
       0x1bb111000 -        0x1bb14efff libobjc.A.dylib (*) <4b5ab8fb-60e0-3992-ba0e-a073a3fa86a7> /usr/lib/libobjc.A.dylib
       0x1bb2da000 -        0x1bb81ffff com.apple.CoreFoundation (6.9) <8e1809ff-f5b1-3d9e-be15-f2e7b1d8ce51> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
       0x1bde7a000 -        0x1bed31fff com.apple.AppKit (6.9) <465b9570-6646-31ea-a082-ab0dfa538966> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
       0x100d20000 -        0x1028ebfff org.qbittorrent.qBittorrent (4.4.1) <f6eb35b2-558e-3b1b-9716-7e1e2ef971dd> /Applications/qBittorrent.app/Contents/MacOS/qbittorrent
       0x1035b4000 -        0x103613fff dyld (*) <fbb89662-e6f2-3434-b542-f75185ac5e74> /usr/lib/dyld
       0x1bb1d4000 -        0x1bb23afff libc++.1.dylib (*) <06bc1ec0-9992-398e-a85b-2973eb1fdba2> /usr/lib/libc++.1.dylib
       0x1bc1d5000 -        0x1bc5c5fff com.apple.Foundation (6.9) <589677dd-19b7-3f93-b2b6-eed7117729ca> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
       0x1bb0ca000 -        0x1bb110fff libdispatch.dylib (*) <dc048e3b-e023-3d17-afe5-4ff3dc625608> /usr/lib/system/libdispatch.dylib
       0x1c0434000 -        0x1c0808fff com.apple.SkyLight (1.600.0) <2385383b-3d2c-39c8-b872-2b218b911ad3> /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=1.1G resident=0K(0%) swapped_out_or_unallocated=1.1G(100%)
Writable regions: Total=1.6G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.6G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               384K        3 
Activity Tracing                   256K        1 
CG backing stores                 2176K        4 
CG image                           496K       15 
ColorSync                          640K       27 
CoreAnimation                      640K        9 
CoreGraphics                        32K        2 
CoreUI image data                 4688K       32 
Foundation                          64K        2 
Kernel Alloc Once                 2816K        7 
MALLOC                           290.4M       56 
MALLOC guard page                  192K       10 
MALLOC_MEDIUM (reserved)         952.0M        8         reserved VM address space (unallocated)
MALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)
STACK GUARD                       56.4M       28 
Stack                             22.3M       28 
VM_ALLOCATE                        256K       16 
__AUTH                            2499K      280 
__AUTH_CONST                      19.4M      467 
__DATA                            14.9M      457 
__DATA_CONST                      17.9M      472 
__DATA_DIRTY                      1703K      197 
__FONT_DATA                          4K        1 
__LINKEDIT                       592.4M        5 
__OBJC_CONST                      3330K      254 
__OBJC_RO                         82.9M        1 
__OBJC_RW                         3152K        1 
__TEXT                           502.1M      491 
__UNICODE                          592K        1 
dyld private memory               1024K        1 
mapped file                      159.8M       29 
shared memory                      896K       16 
===========                     =======  ======= 
TOTAL                              3.0G     2922 
TOTAL, minus reserved VM space     1.7G     2922 



-----------
Full Report
-----------

{"app_name":"qbittorrent","timestamp":"2022-03-17 23:22:40.00 +0100","app_version":"4.4.1","slice_uuid":"f6eb35b2-558e-3b1b-9716-7e1e2ef971dd","build_version":"","platform":1,"bundleID":"org.qbittorrent.qBittorrent","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.3 (21E230)","incident_id":"EEC25590-33AB-4CCE-89B5-D195B3933A32","name":"qbittorrent"}
{
  "uptime" : 230000,
  "procLaunch" : "2022-03-17 23:20:50.1052 +0100",
  "procRole" : "Foreground",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "MacBookAir10,1",
  "procStartAbsTime" : 5625963147883,
  "coalitionID" : 26603,
  "osVersion" : {
    "train" : "macOS 12.3",
    "build" : "21E230",
    "releaseType" : "User"
  },
  "captureTime" : "2022-03-17 23:22:30.2352 +0100",
  "incident" : "EEC25590-33AB-4CCE-89B5-D195B3933A32",
  "bug_type" : "309",
  "pid" : 76280,
  "procExitAbsTime" : 5628365697839,
  "translated" : false,
  "cpuType" : "ARM-64",
  "procName" : "qbittorrent",
  "procPath" : "\/Applications\/qBittorrent.app\/Contents\/MacOS\/qbittorrent",
  "bundleInfo" : {"CFBundleShortVersionString":"4.4.1","CFBundleIdentifier":"org.qbittorrent.qBittorrent"},
  "storeInfo" : {"deviceIdentifierForVendor":"D294D02A-8C74-58F0-B1FF-95EF71F13FF9","thirdParty":true},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "org.qbittorrent.qBittorrent",
  "crashReporterKey" : "63DF1E1D-3138-5054-FAF9-C34EB9DBFF53",
  "wakeTime" : 4326,
  "sleepWakeUUID" : "71212E90-48F6-4921-A29E-1DC3BE56EE0B",
  "sip" : "enabled",
  "isCorpse" : 1,
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "ktriageinfo" : "VM - pmap_enter failed with resource shortage\nVM - pmap_enter failed with resource shortage\nVM - pmap_enter failed with resource shortage\nVM - pmap_enter failed with resource shortage\nVM - pmap_enter failed with resource shortage\n",
  "asi" : {"libsystem_malloc.dylib":["qbittorrent(76280,0x10362c580) malloc: Heap corruption detected, free list is damaged at 0x600000bc0090","*** Incorrect guard value: 280122077741199"],"libsystem_c.dylib":["abort() called"]},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"triggered":true,"id":2472005,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":1},{"value":4527013928},{"value":8085350207030783641},{"value":8085350211310955289},{"value":14757395258967641293},{"value":10},{"value":0},{"value":55},{"value":1388314624},{"value":8919437504,"symbolLocation":0,"symbol":"OBJC_CLASS_$___NSPlaceholderArray"},{"value":328},{"value":8943302208},{"value":0},{"value":6},{"value":4351772032,"symbolLocation":0,"symbol":"_main_thread"},{"value":259},{"value":4351772256,"symbolLocation":224,"symbol":"_main_thread"},{"value":4527013888},{"value":0},{"value":0},{"value":6158154709},{"value":4351772032,"symbolLocation":0,"symbol":"_main_thread"},{"value":10}],"flavor":"ARM_THREAD_STATE64","lr":{"value":7435001568},"cpsr":{"value":1073745920},"fp":{"value":6158149712},"sp":{"value":6158149680},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7434784184,"matchesCrashFrame":1},"far":{"value":4351836164}},"queue":"com.apple.main-thread","frames":[{"imageOffset":40376,"symbol":"__pthread_kill","symbolLocation":8,"imageIndex":0},{"imageOffset":28384,"symbol":"pthread_kill","symbolLocation":288,"imageIndex":1},{"imageOffset":500544,"symbol":"abort","symbolLocation":168,"imageIndex":2},{"imageOffset":63680,"symbol":"malloc_vreport","symbolLocation":552,"imageIndex":3},{"imageOffset":150660,"symbol":"malloc_zone_error","symbolLocation":100,"imageIndex":3},{"imageOffset":7024,"symbol":"nanov2_allocate_from_block","symbolLocation":568,"imageIndex":3},{"imageOffset":4492,"symbol":"nanov2_allocate","symbolLocation":128,"imageIndex":3},{"imageOffset":13100,"symbol":"nanov2_calloc","symbolLocation":160,"imageIndex":3},{"imageOffset":124992,"symbol":"_malloc_zone_calloc","symbolLocation":88,"imageIndex":3},{"imageOffset":29668,"symbol":"class_createInstance","symbolLocation":64,"imageIndex":4},{"imageOffset":16056,"symbol":"__CFAllocateObject","symbolLocation":24,"imageIndex":5},{"imageOffset":15972,"symbol":"__NSSingleObjectArrayI_new","symbolLocation":48,"imageIndex":5},{"imageOffset":282440,"symbol":"_NSMapAndFilter","symbolLocation":500,"imageIndex":6},{"imageOffset":1969072,"symbol":"_NSIsAnyWindowOnAVisibleSpace","symbolLocation":40,"imageIndex":6},{"imageOffset":1968992,"symbol":"-[NSWindow _isInSomeVisibleSpace]","symbolLocation":104,"imageIndex":6},{"imageOffset":2014460,"symbol":"-[NSWindow resignKeyWindow]","symbolLocation":420,"imageIndex":6},{"imageOffset":2013836,"symbol":"_NXEndKeyAndMain","symbolLocation":188,"imageIndex":6},{"imageOffset":2009420,"symbol":"-[NSApplication _handleDeactivateEvent:]","symbolLocation":788,"imageIndex":6},{"imageOffset":1772800,"symbol":"-[NSApplication(NSEvent) sendEvent:]","symbolLocation":3220,"imageIndex":6},{"imageOffset":8795072,"symbol":"-[QNSApplication sendEvent:]","symbolLocation":76,"imageIndex":7},{"imageOffset":4630760,"symbol":"-[NSApplication _handleEvent:]","symbolLocation":76,"imageIndex":6},{"imageOffset":206520,"symbol":"-[NSApplication run]","symbolLocation":636,"imageIndex":6},{"imageOffset":8838420,"symbol":"QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":1712,"imageIndex":7},{"imageOffset":17737508,"symbol":"QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":500,"imageIndex":7},{"imageOffset":17710784,"symbol":"QCoreApplication::exec()","symbolLocation":128,"imageIndex":7},{"imageOffset":55512,"symbol":"Application::exec(QList<QString> const&)","symbolLocation":780,"imageIndex":7},{"imageOffset":101576,"symbol":"main","symbolLocation":1120,"imageIndex":7},{"imageOffset":20616,"symbol":"start","symbolLocation":516,"imageIndex":8}]},{"id":2472114,"name":"com.apple.CFSocket.private","frames":[{"imageOffset":50616,"symbol":"__select","symbolLocation":8,"imageIndex":0},{"imageOffset":717308,"symbol":"__CFSocketManager","symbolLocation":644,"imageIndex":5},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472115,"frames":[{"imageOffset":31808,"symbol":"kevent","symbolLocation":8,"imageIndex":0},{"imageOffset":12300664,"symbol":"boost::asio::detail::kqueue_reactor::run(long, boost::asio::detail::op_queue<boost::asio::detail::scheduler_operation>&)","symbolLocation":280,"imageIndex":7},{"imageOffset":12306152,"symbol":"boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&)","symbolLocation":400,"imageIndex":7},{"imageOffset":12305212,"symbol":"boost::asio::detail::scheduler::run(boost::system::error_code&)","symbolLocation":200,"imageIndex":7},{"imageOffset":12307964,"symbol":"boost::asio::io_context::run()","symbolLocation":36,"imageIndex":7},{"imageOffset":12307804,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, libtorrent::session::start(libtorrent::flags::bitfield_flag<unsigned char, libtorrent::session_flags_tag, void>, libtorrent::v2::session_params&&, boost::asio::io_context*)::$_0> >(void*)","symbolLocation":56,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472116,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":12306036,"symbol":"boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&)","symbolLocation":284,"imageIndex":7},{"imageOffset":12305212,"symbol":"boost::asio::detail::scheduler::run(boost::system::error_code&)","symbolLocation":200,"imageIndex":7},{"imageOffset":11939496,"symbol":"boost::asio::detail::posix_thread::func<boost::asio::detail::resolver_service_base::work_scheduler_runner>::run()","symbolLocation":32,"imageIndex":7},{"imageOffset":12304900,"symbol":"boost_asio_detail_posix_thread_function","symbolLocation":28,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472117,"name":"QThread","frames":[{"imageOffset":40656,"symbol":"poll","symbolLocation":8,"imageIndex":0},{"imageOffset":18738144,"symbol":"qt_safe_poll(pollfd*, unsigned int, timespec const*)","symbolLocation":436,"imageIndex":7},{"imageOffset":18742568,"symbol":"QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":624,"imageIndex":7},{"imageOffset":17737508,"symbol":"QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":500,"imageIndex":7},{"imageOffset":18369168,"symbol":"QThread::exec()","symbolLocation":176,"imageIndex":7},{"imageOffset":18758740,"symbol":"QThreadPrivate::start(void*)","symbolLocation":472,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472118,"name":"QThread","frames":[{"imageOffset":40656,"symbol":"poll","symbolLocation":8,"imageIndex":0},{"imageOffset":18738144,"symbol":"qt_safe_poll(pollfd*, unsigned int, timespec const*)","symbolLocation":436,"imageIndex":7},{"imageOffset":18742568,"symbol":"QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":624,"imageIndex":7},{"imageOffset":17737508,"symbol":"QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":500,"imageIndex":7},{"imageOffset":18369168,"symbol":"QThread::exec()","symbolLocation":176,"imageIndex":7},{"imageOffset":18758740,"symbol":"QThreadPrivate::start(void*)","symbolLocation":472,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472119,"name":"QThread","frames":[{"imageOffset":40656,"symbol":"poll","symbolLocation":8,"imageIndex":0},{"imageOffset":18738144,"symbol":"qt_safe_poll(pollfd*, unsigned int, timespec const*)","symbolLocation":436,"imageIndex":7},{"imageOffset":18742568,"symbol":"QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":624,"imageIndex":7},{"imageOffset":17737508,"symbol":"QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":500,"imageIndex":7},{"imageOffset":18369168,"symbol":"QThread::exec()","symbolLocation":176,"imageIndex":7},{"imageOffset":18758740,"symbol":"QThreadPrivate::start(void*)","symbolLocation":472,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472120,"name":"QThread","frames":[{"imageOffset":40656,"symbol":"poll","symbolLocation":8,"imageIndex":0},{"imageOffset":18738144,"symbol":"qt_safe_poll(pollfd*, unsigned int, timespec const*)","symbolLocation":436,"imageIndex":7},{"imageOffset":18742568,"symbol":"QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":624,"imageIndex":7},{"imageOffset":17737508,"symbol":"QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":500,"imageIndex":7},{"imageOffset":18369168,"symbol":"QThread::exec()","symbolLocation":176,"imageIndex":7},{"imageOffset":18758740,"symbol":"QThreadPrivate::start(void*)","symbolLocation":472,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472126,"name":"QNetworkAccessManager thread","frames":[{"imageOffset":40656,"symbol":"poll","symbolLocation":8,"imageIndex":0},{"imageOffset":18737860,"symbol":"qt_safe_poll(pollfd*, unsigned int, timespec const*)","symbolLocation":152,"imageIndex":7},{"imageOffset":18742568,"symbol":"QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":624,"imageIndex":7},{"imageOffset":17737508,"symbol":"QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":500,"imageIndex":7},{"imageOffset":18369168,"symbol":"QThread::exec()","symbolLocation":176,"imageIndex":7},{"imageOffset":18758740,"symbol":"QThreadPrivate::start(void*)","symbolLocation":472,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472129,"name":"QThread","frames":[{"imageOffset":40656,"symbol":"poll","symbolLocation":8,"imageIndex":0},{"imageOffset":18738144,"symbol":"qt_safe_poll(pollfd*, unsigned int, timespec const*)","symbolLocation":436,"imageIndex":7},{"imageOffset":18742568,"symbol":"QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":624,"imageIndex":7},{"imageOffset":17737508,"symbol":"QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)","symbolLocation":500,"imageIndex":7},{"imageOffset":18369168,"symbol":"QThread::exec()","symbolLocation":176,"imageIndex":7},{"imageOffset":18758740,"symbol":"QThreadPrivate::start(void*)","symbolLocation":472,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472130,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472140,"queue":"com.apple.root.user-interactive-qos","frames":[{"imageOffset":6352,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":0},{"imageOffset":7488,"symbol":"mach_msg","symbolLocation":76,"imageIndex":0},{"imageOffset":543772,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":372,"imageIndex":5},{"imageOffset":536780,"symbol":"__CFRunLoopRun","symbolLocation":1180,"imageIndex":5},{"imageOffset":533648,"symbol":"CFRunLoopRunSpecific","symbolLocation":600,"imageIndex":5},{"imageOffset":410128,"symbol":"-[NSRunLoop(NSRunLoop) runMode:beforeDate:]","symbolLocation":236,"imageIndex":10},{"imageOffset":4604504,"symbol":"-[NSAnimation _runBlocking]","symbolLocation":444,"imageIndex":6},{"imageOffset":4605408,"symbol":"__30-[NSAnimation _runInNewThread]_block_invoke","symbolLocation":132,"imageIndex":6},{"imageOffset":9732,"symbol":"_dispatch_call_block_and_release","symbolLocation":32,"imageIndex":11},{"imageOffset":16840,"symbol":"_dispatch_client_callout","symbolLocation":20,"imageIndex":11},{"imageOffset":88580,"symbol":"_dispatch_root_queue_drain","symbolLocation":680,"imageIndex":11},{"imageOffset":90372,"symbol":"_dispatch_worker_thread2","symbolLocation":164,"imageIndex":11},{"imageOffset":13092,"symbol":"_pthread_wqthread","symbolLocation":228,"imageIndex":1},{"imageOffset":8320,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":1}]},{"id":2472147,"name":"com.apple.NSEventThread","frames":[{"imageOffset":6352,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":0},{"imageOffset":7488,"symbol":"mach_msg","symbolLocation":76,"imageIndex":0},{"imageOffset":543772,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":372,"imageIndex":5},{"imageOffset":536780,"symbol":"__CFRunLoopRun","symbolLocation":1180,"imageIndex":5},{"imageOffset":533648,"symbol":"CFRunLoopRunSpecific","symbolLocation":600,"imageIndex":5},{"imageOffset":1763220,"symbol":"_NSEventThread","symbolLocation":196,"imageIndex":6},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472239,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472240,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472244,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472246,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472247,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472248,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472249,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472250,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472252,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472253,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472254,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":53964,"symbol":"std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)","symbolLocation":100,"imageIndex":9},{"imageOffset":11693612,"symbol":"libtorrent::mmap_disk_io::wait_for_job(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&, std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":136,"imageIndex":7},{"imageOffset":11694004,"symbol":"libtorrent::mmap_disk_io::thread_fun(libtorrent::mmap_disk_io::job_queue&, libtorrent::aux::disk_io_thread_pool&)","symbolLocation":152,"imageIndex":7},{"imageOffset":10879376,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (libtorrent::aux::pool_thread_interface::*)(libtorrent::aux::disk_io_thread_pool&, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void>), libtorrent::aux::pool_thread_interface*, std::__1::reference_wrapper<libtorrent::aux::disk_io_thread_pool>, boost::asio::executor_work_guard<boost::asio::io_context::basic_executor_type<std::__1::allocator<void>, 0ul>, void, void> > >(void*)","symbolLocation":92,"imageIndex":7},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":2472781,"queue":"NSCGSDisableUpdates","frames":[{"imageOffset":6436,"symbol":"semaphore_timedwait_trap","symbolLocation":8,"imageIndex":0},{"imageOffset":18376,"symbol":"_dispatch_sema4_timedwait","symbolLocation":64,"imageIndex":11},{"imageOffset":19900,"symbol":"_dispatch_semaphore_wait_slow","symbolLocation":76,"imageIndex":11},{"imageOffset":422540,"symbol":"CGSUpdateManager::enable_updates_common()","symbolLocation":948,"imageIndex":12},{"imageOffset":424400,"symbol":"SLSReenableUpdateToken","symbolLocation":104,"imageIndex":12},{"imageOffset":9732,"symbol":"_dispatch_call_block_and_release","symbolLocation":32,"imageIndex":11},{"imageOffset":16840,"symbol":"_dispatch_client_callout","symbolLocation":20,"imageIndex":11},{"imageOffset":47272,"symbol":"_dispatch_lane_serial_drain","symbolLocation":668,"imageIndex":11},{"imageOffset":50180,"symbol":"_dispatch_lane_invoke","symbolLocation":392,"imageIndex":11},{"imageOffset":93336,"symbol":"_dispatch_workloop_worker_thread","symbolLocation":648,"imageIndex":11},{"imageOffset":13152,"symbol":"_pthread_wqthread","symbolLocation":288,"imageIndex":1},{"imageOffset":8320,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":1}]},{"id":2473011,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":2473014,"queue":"com.apple.SkyLight.UpdateManager.SerialSema","frames":[{"imageOffset":6412,"symbol":"semaphore_wait_trap","symbolLocation":8,"imageIndex":0},{"imageOffset":423004,"symbol":"invocation function for block in (anonymous namespace)::InterprocessSerialSemaphore::asyncWait(void (int) block_pointer)","symbolLocation":40,"imageIndex":12},{"imageOffset":9732,"symbol":"_dispatch_call_block_and_release","symbolLocation":32,"imageIndex":11},{"imageOffset":16840,"symbol":"_dispatch_client_callout","symbolLocation":20,"imageIndex":11},{"imageOffset":47272,"symbol":"_dispatch_lane_serial_drain","symbolLocation":668,"imageIndex":11},{"imageOffset":50180,"symbol":"_dispatch_lane_invoke","symbolLocation":392,"imageIndex":11},{"imageOffset":93336,"symbol":"_dispatch_workloop_worker_thread","symbolLocation":648,"imageIndex":11},{"imageOffset":13152,"symbol":"_pthread_wqthread","symbolLocation":288,"imageIndex":1},{"imageOffset":8320,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":1}]},{"id":2473016,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7434743808,
    "size" : 229376,
    "uuid" : "1d7b3b8e-75a1-34ea-aa52-9f7c23155c55",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7434973184,
    "size" : 53248,
    "uuid" : "cee8bc77-6923-34d9-89a3-6f8f7279605e",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7433691136,
    "size" : 532480,
    "uuid" : "fd566a15-42d8-314a-a99a-b59237ddf5bc",
    "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7432957952,
    "size" : 176128,
    "uuid" : "3a021c33-dd59-37f7-9a86-5ceed68ff9ba",
    "path" : "\/usr\/lib\/system\/libsystem_malloc.dylib",
    "name" : "libsystem_malloc.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7433424896,
    "size" : 253952,
    "uuid" : "4b5ab8fb-60e0-3992-ba0e-a073a3fa86a7",
    "path" : "\/usr\/lib\/libobjc.A.dylib",
    "name" : "libobjc.A.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7435296768,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.CoreFoundation",
    "size" : 5529600,
    "uuid" : "8e1809ff-f5b1-3d9e-be15-f2e7b1d8ce51",
    "path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/Versions\/A\/CoreFoundation",
    "name" : "CoreFoundation",
    "CFBundleVersion" : "1858.112"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7481040896,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.AppKit",
    "size" : 15433728,
    "uuid" : "465b9570-6646-31ea-a082-ab0dfa538966",
    "path" : "\/System\/Library\/Frameworks\/AppKit.framework\/Versions\/C\/AppKit",
    "name" : "AppKit",
    "CFBundleVersion" : "2113.40.126"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4308729856,
    "CFBundleShortVersionString" : "4.4.1",
    "CFBundleIdentifier" : "org.qbittorrent.qBittorrent",
    "size" : 29147136,
    "uuid" : "f6eb35b2-558e-3b1b-9716-7e1e2ef971dd",
    "path" : "\/Applications\/qBittorrent.app\/Contents\/MacOS\/qbittorrent",
    "name" : "qbittorrent"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 4351279104,
    "size" : 393216,
    "uuid" : "fbb89662-e6f2-3434-b542-f75185ac5e74",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7434223616,
    "size" : 421888,
    "uuid" : "06bc1ec0-9992-398e-a85b-2973eb1fdba2",
    "path" : "\/usr\/lib\/libc++.1.dylib",
    "name" : "libc++.1.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7451004928,
    "CFBundleShortVersionString" : "6.9",
    "CFBundleIdentifier" : "com.apple.Foundation",
    "size" : 4132864,
    "uuid" : "589677dd-19b7-3f93-b2b6-eed7117729ca",
    "path" : "\/System\/Library\/Frameworks\/Foundation.framework\/Versions\/C\/Foundation",
    "name" : "Foundation",
    "CFBundleVersion" : "1858.112"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7433134080,
    "size" : 290816,
    "uuid" : "dc048e3b-e023-3d17-afe5-4ff3dc625608",
    "path" : "\/usr\/lib\/system\/libdispatch.dylib",
    "name" : "libdispatch.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7520600064,
    "CFBundleShortVersionString" : "1.600.0",
    "CFBundleIdentifier" : "com.apple.SkyLight",
    "size" : 4018176,
    "uuid" : "2385383b-3d2c-39c8-b872-2b218b911ad3",
    "path" : "\/System\/Library\/PrivateFrameworks\/SkyLight.framework\/Versions\/A\/SkyLight",
    "name" : "SkyLight"
  }
],
  "sharedCache" : {
  "base" : 7431684096,
  "size" : 3136438272,
  "uuid" : "00edbaf8-9281-3f26-b94f-e6a315e3a659"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=1.1G resident=0K(0%) swapped_out_or_unallocated=1.1G(100%)\nWritable regions: Total=1.6G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.6G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nAccelerate framework               384K        3 \nActivity Tracing                   256K        1 \nCG backing stores                 2176K        4 \nCG image                           496K       15 \nColorSync                          640K       27 \nCoreAnimation                      640K        9 \nCoreGraphics                        32K        2 \nCoreUI image data                 4688K       32 \nFoundation                          64K        2 \nKernel Alloc Once                 2816K        7 \nMALLOC                           290.4M       56 \nMALLOC guard page                  192K       10 \nMALLOC_MEDIUM (reserved)         952.0M        8         reserved VM address space (unallocated)\nMALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)\nSTACK GUARD                       56.4M       28 \nStack                             22.3M       28 \nVM_ALLOCATE                        256K       16 \n__AUTH                            2499K      280 \n__AUTH_CONST                      19.4M      467 \n__DATA                            14.9M      457 \n__DATA_CONST                      17.9M      472 \n__DATA_DIRTY                      1703K      197 \n__FONT_DATA                          4K        1 \n__LINKEDIT                       592.4M        5 \n__OBJC_CONST                      3330K      254 \n__OBJC_RO                         82.9M        1 \n__OBJC_RW                         3152K        1 \n__TEXT                           502.1M      491 \n__UNICODE                          592K        1 \ndyld private memory               1024K        1 \nmapped file                      159.8M       29 \nshared memory                      896K       16 \n===========                     =======  ======= \nTOTAL                              3.0G     2922 \nTOTAL, minus reserved VM space     1.7G     2922 \n",
  "legacyInfo" : {
  "threadTriggered" : {
    "queue" : "com.apple.main-thread"
  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "6112dda2fc54bc3389840642",
      "factorPackIds" : {
        "SIRI_DICTATION_ASSETS" : "622f59b5d14f83424df668af"
      },
      "deploymentId" : 240000079
    },
    {
      "rolloutId" : "5fb4245a1bbfe8005e33a1e1",
      "factorPackIds" : {

      },
      "deploymentId" : 250000011
    }
  ],
  "experiments" : [

  ]
}
}

Model: MacBookAir10,1, BootROM 7459.101.2, proc 8:4:4 processors, 16 GB, SMC 
Graphics: Apple M1, Apple M1, Built-In
Display: Color LCD, 2560 x 1600 Retina, Main, MirrorOff, Online
Memory Module: LPDDR4
AirPort: Wi-Fi, wl0: Feb  8 2022 01:44:45 version 18.60.21.0.7.8.126 FWID 01-1cdae627
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
USB Device: USB31Bus
Thunderbolt Bus: MacBook Air, Apple Inc.
Thunderbolt Bus: MacBook Air, Apple Inc.

@avichou
Copy link

avichou commented Mar 19, 2022

so which version is recommended currently for m1 macs ? im a bit confused

@sledgehammer999
Copy link
Member

I have released 4.4.2 with an official universal DMG for macOS.

@kjoonlee
Copy link

kjoonlee commented Mar 25, 2022

edit: nope, false alarm, sorry, I had Rosetta enabled for qbittorrent by mistake.

@sledgehammer999
Copy link
Member

Also a thank you to @Kolcha because his research/script helped me better understand the universal DMGs.

@al3xandru
Copy link

I have installed it on an M1 machine and can confirm that it shows up as Apple kind when running (in Activity Monitor).

@reslear
Copy link

reslear commented Mar 25, 2022

@al3xandru
Screenshot 2022-03-25 at 15 37 21

@neilquinn
Copy link

Looks like latest official version now supports Apple Silicon! (4.4.2)!

image

@wesleymostien
Copy link

Screenshot 2022-04-01 at 10 42 20

Still experiencing this UI problem...

@R0GERIUS
Copy link

R0GERIUS commented Apr 1, 2022

Screenshot 2022-04-01 at 10 42 20

Still experiencing this UI problem...

Known Issue(all platforms): The text on the progress bar may have wrong color or not appear at all when using the Qt6 version. You may switch to the Qt5 version(if available) until it is resolved. Qt6 has fixed the issue upstream but hasn't made a release with it yet.
This info is published in the changelog.

Sadly as it is a Qt 6 bug and not a qBittorrent bug, you need to wait for The Qt Company to publish a new Qt version.
It is possible to use Qt 5, but then it would be impossible to build universal builds, so this is why it's not fixed yet by downgrading Qt version.
As a temporary solution, you can build qBittorrent with Qt 5 for yourself and that'll fix this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature request OS: macOS Issues specific to macOS Qt bugs Bug resides in Qt library Waiting upstream Waiting for changes in dependent libraries
Projects
None yet
Development

No branches or pull requests