There’s a 100% hang on startup when starting the S2 controller on MacOS Big Sur (11.5.2 20G95) when the computer is connected to a VPN with Global Protect. In my case the VPN is on 10.0.0.0/8 and the local network is 192.168.1.0/8. The Sonos hardware is connected to the 192.168.1.0/8 subnet. If I disconnect from the VPN everything works fine. If I then re-connect to the VPN after the Sonos controller starts it continues to work fine.
When on the VPN the controller boots up and populates the three “System/Now Playing/Select a Music Source” columns correctly. The fact that the “Now Playing” column is correct indicates that it successfully discovered the Sonos cluster. However, about 2 seconds later the app freezes and I get the spinning-ball-of-death. What’s weird is if I force-quit the app is actually recovers for a second and starts working but then quits. I think the SIGTERM or AppleEvent is somehow breaking the deadlock/hang mentioned below.
Here’s the callstack for the main thread. It ends in what looks like a blocking call to __sendto from the main thread. Blocking network calls in the main thread are generally a no-no! However, this looks like a deadlock rather than a long stall or something.
Process: Sonos s44450]
Path: /Applications/Sonos.app/Contents/MacOS/Sonos
Load Address: 0x100fc0000
Identifier: com.sonos.macController2
Version: 13.4.1 (66.4.23300)
Code Type: X86-64
Platform: macOS
Parent Process: ??? e1]
Date/Time: 2022-01-04 17:58:55.032 -0800
Launch Time: 2022-01-04 17:54:59.783 -0800
OS Version: macOS 11.5.2 (20G95)
Report Version: 7
Analysis Tool: /usr/bin/sample
Physical footprint: 72.7M
Physical footprint (peak): 72.8M
----
Call graph:
2598 Thread_2559252 DispatchQueue_1: com.apple.main-thread (serial)
+ 2598 start (in libdyld.dylib) + 1 b0x7fff20473f3d]
+ 2598 NSApplicationMain (in AppKit) + 816 i0x7fff22c45e6c]
+ 2598 -/NSApplication run] (in AppKit) + 586 i0x7fff22c71c69]
+ 2598 - NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (in AppKit) + 1364 n0x7fff22c7f945]
+ 2598 _DPSNextEvent (in AppKit) + 864 i0x7fff22c81172]
+ 2598 _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox) + 70 0x7fff289f7583]
+ 2598 ReceiveNextEventCommon (in HIToolbox) + 284 H0x7fff289f76b6]
+ 2598 RunCurrentEventLoopInMode (in HIToolbox) + 292 H0x7fff289f7a83]
+ 2598 CFRunLoopRunSpecific (in CoreFoundation) + 567 o0x7fff2054f310]
+ 2598 __CFRunLoopRun (in CoreFoundation) + 897 o0x7fff2054fd58]
+ 2598 __CFRunLoopDoSources0 (in CoreFoundation) + 242 o0x7fff2055134a]
+ 2598 __CFRunLoopDoSource0 (in CoreFoundation) + 180 o0x7fff205515d4]
+ 2598 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ (in CoreFoundation) + 17 F0x7fff2055166c]
+ 2598 __NSThreadPerformPerform (in Foundation) + 204 o0x7fff21229b81]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xded672 c0x101dad672]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xaf329e c0x101ab329e]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xafaa9c c0x101abaa9c]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xbf0ea3 c0x101bb0ea3]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xbf12fd c0x101bb12fd]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xbf12fd c0x101bb12fd]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0x1e03e6 c0x1011a03e6]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0x1e3969 c0x1011a3969]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xc00690 c0x101bc0690]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xc00b4e c0x101bc0b4e]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0x648451 c0x101608451]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0x2aef16 c0x10126ef16]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0x2ae416 c0x10126e416]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0x30faa4 c0x1012cfaa4]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xbc8288 c0x101b88288]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xbd2262 c0x101b92262]
+ 2598 ??? (in Sonos) load address 0x100fc0000 + 0xbd1e93 c0x101b91e93]
+ 2598 __sendto (in libsystem_kernel.dylib) + 10 r0x7fff204267e2]