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

race condition in tr_torrentPeers() #6762

Open
dantearmok opened this issue Apr 1, 2024 · 5 comments · May be fixed by #6766
Open

race condition in tr_torrentPeers() #6762

dantearmok opened this issue Apr 1, 2024 · 5 comments · May be fixed by #6766
Labels

Comments

@dantearmok
Copy link

What is the issue?

Mac mini (late 2012, 2.5-GHz 4-Core i5), 16GB RAM, plus an assortment of USB & FW HDs.
macOS 14.4.1 Sonoma (w/OCLP 1.4.2), PIA 3.5.7, and Xcode.
Pipe is 450 Mbps wifi to Comcast coax 100/25 Mbps, with PIA beaming me thru to Canada.

Running Transmission-87862e506d Build #9564

Launched with all torrents (~950) paused. Transmission took a long time to load / bring up the Main window. After a while (20+ mins), I opened the Inspector window then resumed all torrents. Got a couple dozen peers going. Then I started playing in the Main window, selecting and unselecting various torrents. Tried to select a whole large group of torrents - when I clicked, Transmission crashed immediately.


Translated Report (Full Report Below)

Process: Transmission [7601]
Path: /Users/USER/*/Transmission-87862e506d Build #9564.app/Contents/MacOS/Transmission
Identifier: org.m0k.transmission
Version: 4.1.0-dev (14718.1.0)
Code Type: X86-64 (Native)
Parent Process: launchd [1]
User ID: 501

Date/Time: 2024-03-31 23:43:19.2122 -0400
OS Version: macOS 14.4.1 (23E224)
Report Version: 12
Anonymous UUID: C5048D24-7417-7AA9-D745-755E4ED63C56

Time Awake Since Boot: 200000 seconds

System Integrity Protection: enabled

Crashed Thread: 1

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000040
Exception Codes: 0x0000000000000001, 0x0000000000000040

Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process: exc handler [7601]

VM Region Info: 0x40 is not in any region. Bytes before following region: 4344172480
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
__TEXT 102eed000-103161000 [ 2512K] r-x/r-x SM=COW /Users/USER/*/Transmission-87862e506d Build #9564.app/Contents/MacOS/Transmission

Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x7ff802a69f7a __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x7ff802aa76f3 _pthread_cond_wait + 1211
2 libc++.1.dylib 0x7ff8029e0d12 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 18
3 libc++.1.dylib 0x7ff8029e3ec7 std::__1::__assoc_sub_state::__sub_wait(std::__1::unique_lockstd::__1::mutex&) + 45
4 libc++.1.dylib 0x7ff8029e3f2e std::__1::__assoc_sub_state::wait() + 46
5 Transmission 0x10300b7cd std::__1::future::wait() const + 9 (future:1249) [inlined]
6 Transmission 0x10300b7cd tr_peerMgrPeerStats(tr_torrent const*, unsigned long*) + 280 (peer-mgr.cc:1853)
7 Transmission 0x102f402a1 -[Torrent peers] + 59 (Torrent.mm:947)
8 Transmission 0x102f87786 -[InfoPeersViewController updateInfo] + 1260 (InfoPeersViewController.mm:161)
9 Transmission 0x102f4bbb4 -[InfoWindowController updateInfoStats] + 48 (InfoWindowController.mm:469)
10 Transmission 0x102f0458e -[Controller updateUI] + 904 (Controller.mm:2386)
11 Foundation 0x7ff803ad4814 __NSFireTimer + 67
12 CoreFoundation 0x7ff802b9f509 CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 20
13 CoreFoundation 0x7ff802b9f0b9 __CFRunLoopDoTimer + 785
14 CoreFoundation 0x7ff802b9ecea __CFRunLoopDoTimers + 285
15 CoreFoundation 0x7ff802b830ad __CFRunLoopRun + 2108
16 CoreFoundation 0x7ff802b822a9 CFRunLoopRunSpecific + 557
17 HIToolbox 0x7ff80da6d829 RunCurrentEventLoopInMode + 292
18 HIToolbox 0x7ff80da6d636 ReceiveNextEventCommon + 665
19 HIToolbox 0x7ff80da6d381 _BlockUntilNextEventMatchingListInModeWithFilter + 66
20 AppKit 0x7ff80614bbe5 _DPSNextEvent + 880
21 AppKit 0x7ff806a5bfe9 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1273
22 AppKit 0x7ff80613d005 -[NSApplication run] + 603
23 AppKit 0x7ff806110ff1 NSApplicationMain + 816
24 Transmission 0x102ef2e7f main + 73 (main.mm:17)
25 dyld 0x7ff80271b366 start + 1942

Thread 1 Crashed:
0 Transmission 0x10301f8d8 (anonymous namespace)::peer_stat_helpers::get_peer_stats(tr_peerMsgs const*, long, unsigned long long) + 71 (peer-mgr.cc:1734) [inlined]
1 Transmission 0x10301f8d8 auto tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8::operator()() const::'lambda'(auto const*)::operator()<tr_peerMsgs>(auto const*) const + 71 (peer-mgr.cc:1850) [inlined]
2 Transmission 0x10301f8d8 tr_peer_stat* std::__1::transform<std::__1::__wrap_iter<tr_peerMsgs* const*>, tr_peer_stat*, tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8::operator()() const::'lambda'(auto const*)>(auto, auto, tr_peer_stat*, tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8::operator()() const::'lambda'(auto const*)) + 78 (transform.h:29) [inlined]
3 Transmission 0x10301f8d8 tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8::operator()() const + 159 (peer-mgr.cc:1846) [inlined]
4 Transmission 0x10301f8d8 decltype(static_cast<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8&>(fp)()) std::__1::__invoke<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8&>(tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8&) + 159 (type_traits:3918) [inlined]
5 Transmission 0x10301f8d8 std::__1::__bind_return<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8, std::__1::tuple<>, std::__1::tuple<>, __is_valid_bind_return<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8, std::__1::tuple<>, std::__1::tuple<>>::value>::type std::__1::__apply_functor<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8, std::__1::tuple<>, std::__1::tuple<>>(tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8&, std::__1::tuple<>&, std::__1::__tuple_indices<>, std::__1::tuple<>&&) + 159 (bind.h:257) [inlined]
6 Transmission 0x10301f8d8 std::__1::__bind_return<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8, std::__1::tuple<>, std::__1::tuple<>, __is_valid_bind_return<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8, std::__1::tuple<>, std::__1::tuple<>>::value>::type std::__1::__bind<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8>::operator()<>() + 159 (bind.h:292) [inlined]
7 Transmission 0x10301f8d8 decltype(static_cast<std::__1::__bind<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8>&>(fp)()) std::__1::__invoke<std::__1::__bind<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8>&>(std::__1::__bind<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8>&) + 159 (type_traits:3918) [inlined]
8 Transmission 0x10301f8d8 void std::__1::__invoke_void_return_wrapper<void, true>::__call<std::__1::__bind<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8>&>(std::__1::__bind<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8>&) + 159 (invoke.h:61) [inlined]
9 Transmission 0x10301f8d8 std::__1::__function::__alloc_func<std::__1::__bind<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8>, std::__1::allocator<std::__1::__bind<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8>>, void ()>::operator()() + 159 (function.h:178) [inlined]
10 Transmission 0x10301f8d8 std::__1::__function::__func<std::__1::__bind<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8>, std::__1::allocator<std::__1::__bind<tr_peerMgrPeerStats(tr_torrent const*, unsigned long*)::$_8>>, void ()>::operator()() + 196 (function.h:352)
11 Transmission 0x102ff399b std::__1::__function::__value_func<void ()>::operator()() const + 15 (function.h:505) [inlined]
12 Transmission 0x102ff399b std::__1::function<void ()>::operator()() const + 15 (function.h:1182) [inlined]
13 Transmission 0x102ff399b tr_session_thread_impl::on_work_available() + 121 (session-thread.cc:272)
14 Transmission 0x1030b77c0 event_process_active_single_queue + 502 (event.c:1691)
15 Transmission 0x1030b48cb event_process_active + 220 [inlined]
16 Transmission 0x1030b48cb event_base_loop + 1134 (event.c:2006)
17 Transmission 0x102ff3755 tr_session_thread_impl::session_thread_func(event_base*) + 87 (session-thread.cc:244)
18 Transmission 0x102ff3b5f decltype(static_cast<tr_session_thread_impl>(fp0).fp(static_cast<event_base>(fp1))) std::__1::__invoke<void (tr_session_thread_impl::)(event_base), tr_session_thread_impl*, event_base*, void>(void (tr_session_thread_impl::&&)(event_base), tr_session_thread_impl*&&, event_base*&&) + 30 (type_traits:3859) [inlined]
19 Transmission 0x102ff3b5f void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (tr_session_thread_impl::)(event_base), tr_session_thread_impl*, event_base*, 2ul, 3ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (tr_session_thread_impl::)(event_base), tr_session_thread_impl*, event_base*>&, std::__1::__tuple_indices<2ul, 3ul>) + 30 (thread:287) [inlined]
20 Transmission 0x102ff3b5f void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (tr_session_thread_impl::)(event_base), tr_session_thread_impl*, event_base*>>(void*) + 63 (thread:298)
21 libsystem_pthread.dylib 0x7ff802aa718b _pthread_start + 99
22 libsystem_pthread.dylib 0x7ff802aa2ae3 thread_start + 15

Thread 2:
0 libsystem_kernel.dylib 0x7ff802a69e46 __semwait_signal + 10
1 libsystem_c.dylib 0x7ff80295c531 nanosleep + 199
2 libc++.1.dylib 0x7ff8029f10b4 std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>> const&) + 73
3 Transmission 0x103044bb2 void std::__1::this_thread::sleep_for<long long, std::__1::ratio<1l, 1000l>>(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l>> const&) + 17 (thread:386) [inlined]
4 Transmission 0x103044bb2 tr_web::Impl::curlThreadFunc() + 448 (web.cc:717)
5 Transmission 0x103044e4b decltype(static_cast<tr_web::Impl>(fp0).fp()) std::__1::__invoke<void (tr_web::Impl::)(), tr_web::Impl*, void>(void (tr_web::Impl::&&)(), tr_web::Impl&&) + 26 (type_traits:3859) [inlined]
6 Transmission 0x103044e4b void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (tr_web::Impl::)(), tr_web::Impl, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (tr_web::Impl::)(), tr_web::Impl>&, std::__1::__tuple_indices<2ul>) + 26 (thread:287) [inlined]
7 Transmission 0x103044e4b void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (tr_web::Impl::)(), tr_web::Impl>>(void*) + 59 (thread:298)
8 libsystem_pthread.dylib 0x7ff802aa718b _pthread_start + 99
9 libsystem_pthread.dylib 0x7ff802aa2ae3 thread_start + 15

Thread 3:: VDKQueue
0 libsystem_kernel.dylib 0x7ff802a6c0ae kevent + 10
1 Transmission 0x102f9b1a8 -[VDKQueue watcherThread:] + 240 (VDKQueue.mm:183)
2 Foundation 0x7ff803a8e3cc NSThread__start + 1013
3 libsystem_pthread.dylib 0x7ff802aa718b _pthread_start + 99
4 libsystem_pthread.dylib 0x7ff802aa2ae3 thread_start + 15

Thread 4:: com.apple.NSEventThread
0 libsystem_kernel.dylib 0x7ff802a673ce mach_msg2_trap + 10
1 libsystem_kernel.dylib 0x7ff802a75c88 mach_msg2_internal + 84
2 libsystem_kernel.dylib 0x7ff802a6e510 mach_msg_overwrite + 653
3 libsystem_kernel.dylib 0x7ff802a676bd mach_msg + 19
4 CoreFoundation 0x7ff802b84359 __CFRunLoopServiceMachPort + 143
5 CoreFoundation 0x7ff802b82dcc __CFRunLoopRun + 1371
6 CoreFoundation 0x7ff802b822a9 CFRunLoopRunSpecific + 557
7 AppKit 0x7ff8062a8abc _NSEventThread + 122
8 libsystem_pthread.dylib 0x7ff802aa718b _pthread_start + 99
9 libsystem_pthread.dylib 0x7ff802aa2ae3 thread_start + 15

Thread 5:
0 libsystem_pthread.dylib 0x7ff802aa2ac0 start_wqthread + 0

Thread 6:
0 libsystem_pthread.dylib 0x7ff802aa2ac0 start_wqthread + 0

Thread 7:
0 libsystem_pthread.dylib 0x7ff802aa2ac0 start_wqthread + 0

Thread 1 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x00007ff0fe054cc0 rcx: 0x0000000000000010 rdx: 0xffffffffffffffd0
rdi: 0x000070000c3a3d08 rsi: 0x00007ff0f821ee00 rbp: 0x000070000c3a3e10 rsp: 0x000070000c3a3d00
r8: 0x0000000000000000 r9: 0x0000000000000002 r10: 0x00007ff1018df200 r11: 0x00000ff0f1cb0ee0
r12: 0x000070000c3a3d08 r13: 0x00006000024eac10 r14: 0x00000000660a2d12 r15: 0x00007ff0f821ee00
rip: 0x000000010301f8d8 rfl: 0x0000000000010293 cr2: 0x0000000000000040

Logical CPU: 3
Error Code: 0x00000004 (no mapping for user data read)
Trap Number: 14

Thread 1 instruction stream:
48 8b 40 10 48 8b 18 49-83 c6 c4 48 89 9d 20 ff H.@.H..I...H.. .
ff ff 4d 8b 7d 00 0f 57-c0 0f 29 45 c0 0f 29 45 ..M.}..W..)E..)E
b0 0f 29 45 a0 0f 29 45-90 0f 29 45 80 0f 29 85 ..)E..)E..)E..).
70 ff ff ff 0f 29 85 60-ff ff ff 0f 29 85 50 ff p....).`....).P.
ff ff 0f 29 85 40 ff ff-ff 0f 29 85 30 ff ff ff ...).@....).0...
49 8b 07 4c 8d a5 f8 fe-ff ff 4c 89 e7 4c 89 fe I..L......L..L..
[ff]50 40 ba 2e 00 00 00-4c 89 e7 48 8d b5 3e ff .P@.....L..H..>. <==
ff ff e8 ad 7e fc ff 49-8b 87 e0 09 00 00 48 89 ....~..I......H.
45 90 0f b7 85 0c ff ff-ff 66 89 85 3c ff ff ff E........f..<...
49 8b 87 d0 09 00 00 8a-40 36 88 85 3a ff ff ff I.......@6..:...
49 8b 07 4c 89 ff ff 50-20 48 89 c7 e8 73 03 00 I..L...P H...s..
00 f3 0f 11 45 98 41 8a-87 f2 09 00 00 88 85 30 ....E.A........0

Which application of Transmission?

macOS app

Which version of Transmission?

Transmission-87862e506d Build #9564

@Coeur
Copy link
Collaborator

Coeur commented Apr 1, 2024

From the look of it, it was caused by #5992? @tearfur @ckerr do we revert it?

Or it's a duplicate of #5853?

@Coeur Coeur added the bug label Apr 1, 2024
@ckerr
Copy link
Member

ckerr commented Apr 2, 2024

This is closely related to 5853 so yeah the argument that this is a duplicate makes sense.

Just on a practical level though, the race conditions in tr_peerMgrPeerStats() are riskier and easier to solve than the ones in tr_torrentStat(). So if we tie the two together, the ticket is likely to stay open for awhile after the first one gets fixed. For the sake of housekeeping, it might be better to treat them as separate tickets.

My vote:

  • rename 5853 as race condition in tr_torrentStat()
  • rename 6762 as race condition in tr_torrentPeers()
  • revert 5992 and try a different approach for 6762 🤔

@Coeur
Copy link
Collaborator

Coeur commented Apr 2, 2024

Kindly grant me power to rename issues. :D

I'll prepare a revert PR.

@Coeur Coeur linked a pull request Apr 2, 2024 that will close this issue
@Coeur
Copy link
Collaborator

Coeur commented Apr 2, 2024

Oh whoah:

late 2012

That hardware is 11.5 years old. I can see why there may be performance issues with a thousand torrents and Inspector opened. But anyway, I made a revert PR that would hopefully return things to their previous higher performances when Inspector is opened: #6766.

@ckerr ckerr changed the title Transmission-87862e506d Build #9564 crash race condition in tr_torrentPeers() Apr 2, 2024
@Coeur
Copy link
Collaborator

Coeur commented Apr 20, 2024

I did reproduce on macOS by doing cmd+A (to select all torrents) while I was on tearfur/pool branch:

Date/Time:        2024-04-20 18:48:23.763 +0800
End time:         2024-04-20 18:48:24.828 +0800
OS Version:       macOS 14.4.1 (Build 23E224)
Architecture:     arm64e
Report Version:   47
Incident Identifier: 2D979436-17CB-4002-AE66-65E74515BEB3
Share With Devs:  Yes

Data Source:      Stackshots
Shared Cache:     A53B7D2F-A773-3524-8828-248B33EF0B4E slid base address 0x188ef4000, slide 0x8ef4000 (System Primary)
Shared Cache:     13098735-1E37-3110-AEE0-E2292607B05F slid base address 0x192b28000, slide 0x12b28000 (DriverKit)
Shared Cache:     B8D5FF9B-B3B6-327C-A409-07449B1E60DA slid base address 0x7ff819d04000, slide 0x19d04000 (Rosetta)

Command:          Transmission
Path:             /Users/USER/Library/Developer/Xcode/DerivedData/Transmission-dwwfjrryvuhkcbhgpfcrgatmwrre/Build/Products/Debug/Transmission.app/Contents/MacOS/Transmission
Identifier:       org.m0k.transmission
Version:          4.1.0-dev (14718.1.0)
Is First Party:   No
Beta Identifier:  CF8ED753-1CB0-5177-952E-EDB67FB0F135
Architecture:     arm64
PID:              617
Time Since Fork:  1013261s

Event:            hang
Duration:         1.07s
Steps:            11 (100ms sampling interval)

Hardware model:   Mac15,11
Active cpus:      14
HW page size:     16384
VM page size:     16384

Time Since Boot:  1013292s
Time Awake Since Boot: 350064s
Time Since Wake:  883s

Fan speed:        0 rpm
Total CPU Time:   1.315s (2.2G cycles, 2.2G instructions, 1.02c/i)
Advisory levels:  Battery -> 3, User -> 2, ThermalPressure -> 0, Combined -> 2
Free disk space:  605.84 GB/926.35 GB, low space threshold 3072 MB
Vnodes Available: 73.74% (194063/263168)

Preferred User Language: fr-FR
Country Code:     FR
OS Cryptex File Extents: 1

--------------------------------------------------
Timeline format: stacks are sorted chronologically
Use -i and -heavy to re-report with count sorting
--------------------------------------------------


Heaviest stack for the main thread of the target process:
  11  start + 2360 (dyld + 24800) [0x188fb20e0]
  11  main + 72 (main.mm:17,12 in Transmission + 18076) [0x10019869c]
  11  NSApplicationMain + 880 (AppKit + 20308) [0x18cc3af54]
  11  -[NSApplication run] + 512 (AppKit + 187612) [0x18cc63cdc]
  11  -[NSApplication _handleEvent:] + 60 (AppKit + 4692172) [0x18d0af8cc]
  11  -[NSApplication(NSEventRouting) sendEvent:] + 700 (AppKit + 8567528) [0x18d461ae8]
  11  routeKeyEquivalent + 444 (AppKit + 8575396) [0x18d4639a4]
  11  -[NSMenu performKeyEquivalent:] + 376 (AppKit + 2787004) [0x18cede6bc]
  11  -[NSMenu _performActionForItem:atIndex:fromEvent:] + 212 (AppKit + 7152408) [0x18d308318]
  11  _NSMenuPerformActionWithHighlighting + 152 (AppKit + 8743668) [0x18d48caf4]
  11  -[NSMenuItem _corePerformAction] + 372 (AppKit + 2790564) [0x18cedf4a4]
  11  -[NSApplication(NSResponder) sendAction:to:from:] + 460 (AppKit + 1965168) [0x18ce15c70]
  11  -[NSTableView _sendSelectionChangedNotificationForRows:columns:] + 200 (AppKit + 1224200) [0x18cd60e08]
  11  -[NSNotificationCenter postNotificationName:object:userInfo:] + 88 (Foundation + 37988) [0x18a4f9464]
  11  _CFXNotificationPost + 768 (CoreFoundation + 267848) [0x1893dd648]
  11  _CFXRegistrationPost + 440 (CoreFoundation + 1076480) [0x1894a2d00]
  11  ___CFXRegistrationPost_block_invoke + 88 (CoreFoundation + 1076664) [0x1894a2db8]
  11  __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 148 (CoreFoundation + 469788) [0x18940eb1c]
  11  -[Controller torrentTableViewSelectionDidChange:] + 52 (Controller.mm:3862,5 in Transmission + 192192) [0x1001c2ec0]
  11  -[Controller resetInfo] + 128 (Controller.mm:2328,5 in Transmission + 120300) [0x1001b15ec]
  11  -[InfoWindowController setInfoForTorrents:] + 204 (InfoWindowController.mm:202,5 in Transmission + 566196) [0x10021e3b4]
  11  -[InfoWindowController resetInfo] + 7044 (InfoWindowController.mm:640,5 in Transmission + 588264) [0x1002239e8]
  11  -[InfoPeersViewController updateInfo] + 1176 (InfoPeersViewController.mm:161,54 in Transmission + 984696) [0x100284678]
  11  -[Torrent peers] + 44 (Torrent.mm:966,27 in Transmission + 510464) [0x100210a00]
  11  tr_torrentPeers(tr_torrent const*, unsigned long*) + 128 (torrent.cc:1501,12 in Transmission + 2226492) [0x1003b393c]
  11  tr_peerMgrPeerStats(tr_torrent const*, unsigned long*) + 396 (peer-mgr.cc:1828,17 in Transmission + 3022536) [0x100475ec8]
  11  std::__1::future<void>::wait[abi:ue170006]() const + 28 (future:1268,34 in Transmission + 1903384) [0x100364b18]
  11  std::__1::__assoc_sub_state::wait() + 56 (libc++.1.dylib + 83272) [0x189264548]
  11  std::__1::__assoc_sub_state::__sub_wait(std::__1::unique_lock<std::__1::mutex>&) + 56 (libc++.1.dylib + 83108) [0x1892644a4]
  11  std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (libc++.1.dylib + 68372) [0x189260b14]
  11  __psynch_cvwait + 8 (libsystem_kernel.dylib + 18924) [0x1892fd9ec]
 *11  psynch_cvcontinue + 0 (com.apple.kec.pthread + 18232) [0xfffffe000b8428c8]


Process:          Transmission [617]
UUID:             4C650B81-FA1C-3160-8169-A4F796D01DA0
Path:             /Users/USER/Library/Developer/Xcode/DerivedData/Transmission-dwwfjrryvuhkcbhgpfcrgatmwrre/Build/Products/Debug/Transmission.app/Contents/MacOS/Transmission
Identifier:       org.m0k.transmission
Version:          4.1.0-dev (14718.1.0)
Is First Party:   No
Beta Identifier:  CF8ED753-1CB0-5177-952E-EDB67FB0F135
Shared Cache:     A53B7D2F-A773-3524-8828-248B33EF0B4E slid base address 0x188ef4000, slide 0x8ef4000 (System Primary)
Architecture:     arm64
Footprint:        286.87 MB
Time Since Fork:  1013261s
Num samples:      11 (1-11)
CPU Time:         <0.001s (920.0K cycles, 208.0K instructions, 4.42c/i)
Num threads:      9
Note:             2 idle work queue threads omitted

  Thread 0x14e6    DispatchQueue "com.apple.main-thread"(1)    11 samples (1-11)    priority 46 (base 46)
  <thread QoS user interactive (requested user interactive), process unclamped, process received importance donation from WindowServer [366], IO tier 0>
  11  start + 2360 (dyld + 24800) [0x188fb20e0] 1-11
    11  main + 72 (main.mm:17,12 in Transmission + 18076) [0x10019869c] 1-11
      11  NSApplicationMain + 880 (AppKit + 20308) [0x18cc3af54] 1-11
        11  -[NSApplication run] + 512 (AppKit + 187612) [0x18cc63cdc] 1-11
          11  -[NSApplication _handleEvent:] + 60 (AppKit + 4692172) [0x18d0af8cc] 1-11
            11  -[NSApplication(NSEventRouting) sendEvent:] + 700 (AppKit + 8567528) [0x18d461ae8] 1-11
              11  routeKeyEquivalent + 444 (AppKit + 8575396) [0x18d4639a4] 1-11
                11  -[NSMenu performKeyEquivalent:] + 376 (AppKit + 2787004) [0x18cede6bc] 1-11
                  11  -[NSMenu _performActionForItem:atIndex:fromEvent:] + 212 (AppKit + 7152408) [0x18d308318] 1-11
                    11  _NSMenuPerformActionWithHighlighting + 152 (AppKit + 8743668) [0x18d48caf4] 1-11
                      11  -[NSMenuItem _corePerformAction] + 372 (AppKit + 2790564) [0x18cedf4a4] 1-11
                        11  -[NSApplication(NSResponder) sendAction:to:from:] + 460 (AppKit + 1965168) [0x18ce15c70] 1-11
                          11  -[NSTableView _sendSelectionChangedNotificationForRows:columns:] + 200 (AppKit + 1224200) [0x18cd60e08] 1-11
                            11  -[NSNotificationCenter postNotificationName:object:userInfo:] + 88 (Foundation + 37988) [0x18a4f9464] 1-11
                              11  _CFXNotificationPost + 768 (CoreFoundation + 267848) [0x1893dd648] 1-11
                                11  _CFXRegistrationPost + 440 (CoreFoundation + 1076480) [0x1894a2d00] 1-11
                                  11  ___CFXRegistrationPost_block_invoke + 88 (CoreFoundation + 1076664) [0x1894a2db8] 1-11
                                    11  __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 148 (CoreFoundation + 469788) [0x18940eb1c] 1-11
                                      11  -[Controller torrentTableViewSelectionDidChange:] + 52 (Controller.mm:3862,5 in Transmission + 192192) [0x1001c2ec0] 1-11
                                        11  -[Controller resetInfo] + 128 (Controller.mm:2328,5 in Transmission + 120300) [0x1001b15ec] 1-11
                                          11  -[InfoWindowController setInfoForTorrents:] + 204 (InfoWindowController.mm:202,5 in Transmission + 566196) [0x10021e3b4] 1-11
                                            11  -[InfoWindowController resetInfo] + 7044 (InfoWindowController.mm:640,5 in Transmission + 588264) [0x1002239e8] 1-11
                                              11  -[InfoPeersViewController updateInfo] + 1176 (InfoPeersViewController.mm:161,54 in Transmission + 984696) [0x100284678] 1-11
                                                11  -[Torrent peers] + 44 (Torrent.mm:966,27 in Transmission + 510464) [0x100210a00] 1-11
                                                  11  tr_torrentPeers(tr_torrent const*, unsigned long*) + 128 (torrent.cc:1501,12 in Transmission + 2226492) [0x1003b393c] 1-11
                                                    11  tr_peerMgrPeerStats(tr_torrent const*, unsigned long*) + 396 (peer-mgr.cc:1828,17 in Transmission + 3022536) [0x100475ec8] 1-11
                                                      11  std::__1::future<void>::wait[abi:ue170006]() const + 28 (future:1268,34 in Transmission + 1903384) [0x100364b18] 1-11
                                                        11  std::__1::__assoc_sub_state::wait() + 56 (libc++.1.dylib + 83272) [0x189264548] 1-11
                                                          11  std::__1::__assoc_sub_state::__sub_wait(std::__1::unique_lock<std::__1::mutex>&) + 56 (libc++.1.dylib + 83108) [0x1892644a4] 1-11
                                                            11  std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28 (libc++.1.dylib + 68372) [0x189260b14] 1-11
                                                              11  __psynch_cvwait + 8 (libsystem_kernel.dylib + 18924) [0x1892fd9ec] 1-11
                                                               *11  psynch_cvcontinue + 0 (com.apple.kec.pthread + 18232) [0xfffffe000b8428c8] 1-11

  Thread 0x18e7    11 samples (1-11)    priority 31 (base 31)
  <thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [366], IO tier 0>
  11  thread_start + 8 (libsystem_pthread.dylib + 7476) [0x189335d34] 1-11
    11  _pthread_start + 136 (libsystem_pthread.dylib + 28564) [0x18933af94] 1-11
      11  void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>>(void*) + 84 (thread.h:238,5 in Transmission + 2756748) [0x10043508c] 1-11
        11  void std::__1::__thread_execute[abi:ue170006]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*, 2ul, 3ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>&, std::__1::__tuple_indices<2ul, 3ul>) + 64 (thread.h:227,5 in Transmission + 2757688) [0x100435438] 1-11
          11  decltype(*std::declval<tr_session_thread_impl*>().*std::declval<void (tr_session_thread_impl::*)(event_base*)>()(std::declval<event_base*>())) std::__1::__invoke[abi:ue170006]<void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*, void>(void (tr_session_thread_impl::*&&)(event_base*), tr_session_thread_impl*&&, event_base*&&) + 128 (invoke.h:308,25 in Transmission + 2757828) [0x1004354c4] 1-11
            11  tr_session_thread_impl::session_thread_func(event_base*) + 216 (session-thread.cc:244,9 in Transmission + 2751848) [0x100433d68] 1-11
              11  event_base_loop + 948 (event.c:2006,12 in Transmission + 5690376) [0x100701408] 1-11
                11  event_process_active + 372 (event.c:1783,9 in Transmission + 5695468) [0x1007027ec] 1-11
                  11  event_process_active_single_queue + 1224 (event.c:1691,4 in Transmission + 5721912) [0x100708f38] 1-11
                    11  libtransmission::EvTimer::onTimer(int, short, void*) + 32 (timer-ev.cc:143,39 in Transmission + 5380956) [0x1006b5b5c] 1-11
                      11  libtransmission::EvTimer::handleTimer() + 148 (timer-ev.cc:151,9 in Transmission + 5381988) [0x1006b5f64] 1-11
                        11  std::__1::function<void ()>::operator()() const + 24 (function.h:1169,12 in Transmission + 2753792) [0x100434500] 1-11
                          11  std::__1::__function::__value_func<void ()>::operator()[abi:ue170006]() const + 68 (function.h:518,16 in Transmission + 2754960) [0x100434990] 1-11
                            11  std::__1::__function::__func<tr_port_forwarding_impl::startTimer()::'lambda'(), std::__1::allocator<tr_port_forwarding_impl::startTimer()::'lambda'()>, void ()>::operator()() + 28 (function.h:364,12 in Transmission + 2556116) [0x1004040d4] 1-11
                              11  std::__1::__function::__alloc_func<tr_port_forwarding_impl::startTimer()::'lambda'(), std::__1::allocator<tr_port_forwarding_impl::startTimer()::'lambda'()>, void ()>::operator()[abi:ue170006]() + 28 (function.h:193,16 in Transmission + 2560608) [0x100405260] 1-11
                                11  void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<tr_port_forwarding_impl::startTimer()::'lambda'()&>(tr_port_forwarding_impl::startTimer()::'lambda'()&) + 24 (invoke.h:415,5 in Transmission + 2560644) [0x100405284] 1-11
                                  11  decltype(std::declval<tr_port_forwarding_impl::startTimer()::'lambda'()&>()()) std::__1::__invoke[abi:ue170006]<tr_port_forwarding_impl::startTimer()::'lambda'()&>(tr_port_forwarding_impl::startTimer()::'lambda'()&) + 24 (invoke.h:340,25 in Transmission + 2560716) [0x1004052cc] 1-11
                                    11  tr_port_forwarding_impl::startTimer()::'lambda'()::operator()() const + 28 (port-forwarding.cc:106,66 in Transmission + 2560756) [0x1004052f4] 1-11
                                      11  tr_port_forwarding_impl::onTimer() + 136 (port-forwarding.cc:151,9 in Transmission + 2560904) [0x100405388] 1-11
                                        11  tr_port_forwarding_impl::natPulse(bool) + 1092 (port-forwarding.cc:206,23 in Transmission + 2550908) [0x100402c7c] 1-11
                                          11  tr_upnpPulse(tr_upnp*, tr_port, tr_port, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::optional<tr_address>) + 4796 (port-forwarding-upnp.cc:547,33 in Transmission + 1635752) [0x1003235a8] 1-11
                                            11  (anonymous namespace)::tr_upnpCanPinhole(tr_upnp const*) + 52 (port-forwarding-upnp.cc:247,5 in Transmission + 1639020) [0x10032426c] 1-11
                                              11  UPNP_GetFirewallStatus + 136 (upnpcommands.c:895,11 in Transmission + 6043904) [0x100757900] 1-11
                                                11  simpleUPnPcommand + 72 (miniupnpc.c:245,8 in Transmission + 6048000) [0x100758900] 1-11
                                                  11  simpleUPnPcommand2 + 1376 (miniupnpc.c:201,7 in Transmission + 6049396) [0x100758e74] 1-11
                                                    11  __connect + 8 (libsystem_kernel.dylib + 22312) [0x1892fe728] 1-11
                                                     *11  ??? (kernel.release.t6031 + 30868) [0xfffffe0008573894] 1-11
                                                       *11  ??? (kernel.release.t6031 + 30924) [0xfffffe00085738cc] 1-11
                                                         *11  ??? (kernel.release.t6031 + 1713160) [0xfffffe000870e408] 1-11
                                                           *11  ??? (kernel.release.t6031 + 6794392) [0xfffffe0008be6c98] 1-11
                                                             *11  ??? (kernel.release.t6031 + 6027068) [0xfffffe0008b2b73c] 1-11
                                                               *11  ??? (kernel.release.t6031 + 5641552) [0xfffffe0008acd550] 1-11
                                                                 *11  lck_mtx_sleep + 228 (kernel.release.t6031 + 481216) [0xfffffe00085e17c0] 1-11
                                                                   *11  ??? (kernel.release.t6031 + 572416) [0xfffffe00085f7c00] 1-11
                                                                     *11  ??? (kernel.release.t6031 + 578968) [0xfffffe00085f9598] 1-11

  Thread 0x18e8    11 samples (1-11)    priority 31 (base 31)    cpu time <0.001s (920.0K cycles, 208.0K instructions, 4.42c/i)
  <thread QoS default (requested default), process unclamped, process received importance donation from WindowServer [366], IO tier 0>
  11  thread_start + 8 (libsystem_pthread.dylib + 7476) [0x189335d34] 1-11
    11  _pthread_start + 136 (libsystem_pthread.dylib + 28564) [0x18933af94] 1-11
      11  void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (tr_web::Impl::*)(), tr_web::Impl*>>(void*) + 84 (thread.h:238,5 in Transmission + 4073804) [0x10057694c] 1-11
        11  void std::__1::__thread_execute[abi:ue170006]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (tr_web::Impl::*)(), tr_web::Impl*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (tr_web::Impl::*)(), tr_web::Impl*>&, std::__1::__tuple_indices<2ul>) + 48 (thread.h:227,5 in Transmission + 4074656) [0x100576ca0] 1-11
          11  decltype(*std::declval<tr_web::Impl*>().*std::declval<void (tr_web::Impl::*)()>()()) std::__1::__invoke[abi:ue170006]<void (tr_web::Impl::*)(), tr_web::Impl*, void>(void (tr_web::Impl::*&&)(), tr_web::Impl*&&) + 116 (invoke.h:308,25 in Transmission + 4074784) [0x100576d20] 1-11
            11  tr_web::Impl::curlThreadFunc() + 832 (web.cc:717,21 in Transmission + 4069452) [0x10057584c] 1-11
              11  void std::__1::this_thread::sleep_for[abi:ue170006]<long long, std::__1::ratio<1l, 1000l>>(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l>> const&) + 172 (this_thread.h:55,9 in Transmission + 3949380) [0x100558344] 1-11
                11  std::__1::this_thread::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>> const&) + 84 (libc++.1.dylib + 142220) [0x189272b8c] 1-11
                  11  __semwait_signal + 8 (libsystem_kernel.dylib + 18408) [0x1892fd7e8] 1-11
                   *11  ??? (kernel.release.t6031 + 637216) [0xfffffe0008607920] 1-11

  Thread 0x1d55    Thread name "com.apple.NSEventThread"    11 samples (1-11)    priority 46 (base 46)
  <thread QoS user interactive (requested user interactive), process unclamped, process received importance donation from WindowServer [366], IO tier 0>
  11  thread_start + 8 (libsystem_pthread.dylib + 7476) [0x189335d34] 1-11
    11  _pthread_start + 136 (libsystem_pthread.dylib + 28564) [0x18933af94] 1-11
      11  _NSEventThread + 144 (AppKit + 1457332) [0x18cd99cb4] 1-11
        11  CFRunLoopRunSpecific + 608 (CoreFoundation + 507404) [0x189417e0c] 1-11
          11  __CFRunLoopRun + 1208 (CoreFoundation + 510236) [0x18941891c] 1-11
            11  __CFRunLoopServiceMachPort + 160 (CoreFoundation + 516184) [0x18941a058] 1-11
              11  mach_msg + 24 (libsystem_kernel.dylib + 5496) [0x1892fa578] 1-11
                11  mach_msg_overwrite + 476 (libsystem_kernel.dylib + 40500) [0x189302e34] 1-11
                  11  mach_msg2_trap + 8 (libsystem_kernel.dylib + 4596) [0x1892fa1f4] 1-11
                   *11  ??? (kernel.release.t6031 + 228920) [0xfffffe00085a3e38] 1-11

  Thread 0x3633    Thread name "caulk.messenger.shared:17"    11 samples (1-11)    priority 19 (base 19)
  <thread QoS utility (requested utility), process unclamped, process received importance donation from WindowServer [366], IO tier 1>
  11  thread_start + 8 (libsystem_pthread.dylib + 7476) [0x189335d34] 1-11
    11  _pthread_start + 136 (libsystem_pthread.dylib + 28564) [0x18933af94] 1-11
      11  void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 96 (caulk + 8664) [0x1938ab1d8] 1-11
        11  caulk::concurrent::details::worker_thread::run() + 36 (caulk + 9432) [0x1938ab4d8] 1-11
          11  semaphore_wait_trap + 8 (libsystem_kernel.dylib + 4464) [0x1892fa170] 1-11
           *11  ??? (kernel.release.t6031 + 637216) [0xfffffe0008607920] 1-11

  Thread 0x3634    Thread name "caulk.messenger.shared:high"    11 samples (1-11)    priority 55 (base 55)
  <process unclamped, process received importance donation from WindowServer [366], IO tier 0>
  11  thread_start + 8 (libsystem_pthread.dylib + 7476) [0x189335d34] 1-11
    11  _pthread_start + 136 (libsystem_pthread.dylib + 28564) [0x18933af94] 1-11
      11  void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 96 (caulk + 8664) [0x1938ab1d8] 1-11
        11  caulk::concurrent::details::worker_thread::run() + 36 (caulk + 9432) [0x1938ab4d8] 1-11
          11  semaphore_wait_trap + 8 (libsystem_kernel.dylib + 4464) [0x1892fa170] 1-11
           *11  ??? (kernel.release.t6031 + 637216) [0xfffffe0008607920] 1-11

  Thread 0x3657    Thread name "caulk::deferred_logger"    11 samples (1-11)    priority 37 (base 37)
  <thread QoS user initiated (requested user initiated), process unclamped, process received importance donation from WindowServer [366], IO tier 0>
  11  thread_start + 8 (libsystem_pthread.dylib + 7476) [0x189335d34] 1-11
    11  _pthread_start + 136 (libsystem_pthread.dylib + 28564) [0x18933af94] 1-11
      11  void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 96 (caulk + 8664) [0x1938ab1d8] 1-11
        11  caulk::concurrent::details::worker_thread::run() + 36 (caulk + 9432) [0x1938ab4d8] 1-11
          11  semaphore_wait_trap + 8 (libsystem_kernel.dylib + 4464) [0x1892fa170] 1-11
           *11  ??? (kernel.release.t6031 + 637216) [0xfffffe0008607920] 1-11

  Binary Images:
           0x100194000 -        0x10088bfff  org.m0k.transmission 4.1.0-dev (14718.1.0) <4C650B81-FA1C-3160-8169-A4F796D01DA0>             /Users/USER/Library/Developer/Xcode/DerivedData/Transmission-dwwfjrryvuhkcbhgpfcrgatmwrre/Build/Products/Debug/Transmission.app/Contents/MacOS/Transmission
           0x188fac000 -        0x1890349db  dyld (1160.6)                              <F6DD3EC2-85A4-3AB1-8486-B189CD980EBE>             /usr/lib/dyld
           0x189250000 -        0x1892dcff7  libc++.1.dylib (1700.255)                  <08C4329E-407F-310B-B037-75A8020B2963>             /usr/lib/libc++.1.dylib
           0x1892f9000 -        0x189333ffb  libsystem_kernel.dylib (10063.101.17)      <2A91FD2C-4CEF-3211-A025-7A1C0A8C2DB5>             /usr/lib/system/libsystem_kernel.dylib
           0x189334000 -        0x189340fff  libsystem_pthread.dylib (519.101.1)        <45239F06-CC53-36D0-9933-7776AC7EA2FA>             /usr/lib/system/libsystem_pthread.dylib
           0x18939c000 -        0x189874fff  com.apple.CoreFoundation 6.9 (2420)        <33908A83-098F-3437-973E-FB848C4F39DF>             /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
           0x18a4f0000 -        0x18b14dfff  com.apple.Foundation 6.9 (2420)            <1B93A4D2-DB73-3F3B-A726-C8EACC5128E0>             /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
           0x18cc36000 -        0x18df72fff  com.apple.AppKit 6.9 (2487.50.124)         <8B85317D-D56A-3370-8B78-DA6C1D0FB53C>             /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
           0x1938a9000 -        0x1938d2fff  com.apple.audio.caulk 1.0 (149.5.9)        <E15B7222-ECDA-3DE9-BFA0-07C070986D41>             /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
   *0xfffffe000856c000 - 0xfffffe0008dd7fff  kernel.release.t6031 (10063.101.17)        <74ED9084-3B3E-329B-B432-DA47EEDA407E>__TEXT_EXEC  /System/Library/Kernels/kernel.release.t6031
   *0xfffffe000b83e190 - 0xfffffe000b843f93  com.apple.kec.pthread (519.101.1)          <260323D6-68A2-3378-9C58-077FBC92C326>__TEXT_EXEC  com.apple.kec.pthread

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

Successfully merging a pull request may close this issue.

3 participants