-
Notifications
You must be signed in to change notification settings - Fork 132
Description
The LiveKit Rust SDK crashes on macOS 26 (Tahoe beta) when trying to
connect to a room. The crash occurs during WebRTC
PeerConnectionFactory initialization, specifically when the video
encoder factory tries to get supported codecs.
Environment
- OS: macOS 26.1 (Build 25B5072a)
- Architecture: arm64 (Apple Silicon)
- livekit: 0.7.25
- libwebrtc: 0.3.20
- webrtc-sys: 0.3.17
Crash Log
*** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '+[NSString
stringForAbslStringView:]: unrecognized selector sent to class
0x1efa163d8'
*** First throw call stack:
(
0 CoreFoundation 0x000000018314d8dc
__exceptionPreprocess + 176
1 libobjc.A.dylib 0x0000000182c26418
objc_exception_throw + 88
2 CoreFoundation 0x000000018322dc68
-[NSObject(NSObject) doesNotRecognizeSelector:] + 0
3 CoreFoundation 0x00000001830eaef8
forwarding + 1480
4 CoreFoundation 0x00000001830ea870
_CF_forwarding_prep_0 + 96
5 phono 0x000000010175f290
+[RTCVideoEncoderVP9 scalabilityModes] + 168
6 phono 0x00000001017689f4
+[RTCDefaultVideoEncoderFactory supportedCodecs] + 484
7 phono 0x0000000101768d80
-[RTCDefaultVideoEncoderFactory supportedCodecs] + 44
8 phono 0x0000000101768ff8
-[RTCVideoEncoderFactorySimulcast supportedCodecs] + 72
9 phono 0x000000010175c5f0
_ZNK6webrtc23ObjCVideoEncoderFactory19GetSupportedFormatsEv + 88
10 phono 0x00000001019c4388 _ZNK7
livekit19VideoEncoderFactory15InternalFactory19GetSupportedFormatsEv
- 184
...
)
libc++abi: terminating due to uncaught exception of type NSException
Steps to Reproduce
- Create a simple program that connects to a LiveKit room on macOS
26 - Run on Apple Silicon Mac with macOS 26 (Tahoe)
use livekit::prelude::*;
let (room, _) = Room::connect(
"wss://your-livekit-server",
"token",
RoomOptions::default(),
).await?;
Root Cause
The prebuilt WebRTC binaries in webrtc-sys use an NSString category
method stringForAbslStringView: that doesn't exist in macOS 26's
Foundation framework. This appears to be an API compatibility issue
with the newer macOS SDK.
Expected Behavior
The SDK should work on macOS 26 or gracefully fail with a clear
error message.
Notes
- This is an audio-only use case (SIP telephony), but the crash
occurs because video encoder initialization happens during
PeerConnectionFactory setup - A potential workaround would be to allow disabling video codec
initialization for audio-only applications