Skip to content

NSInvalidArgumentException crash on macOS 26 (Tahoe) - +[NSString stringForAbslStringView:] unrecognized selector #795

@Awaiskhan404

Description

@Awaiskhan404

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

  1. Create a simple program that connects to a LiveKit room on macOS
    26
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions