Skip to content

Issues when server is upgraded to lastest 1.9.* #894

@creativecbr

Description

@creativecbr

Describe the bug

After upgrading LiveKit Server from 1.5.1 (ServerInfo: edition=standard, version=1.5.1, protocol: 10) to 1.9.x, iOS connections using LiveKit Swift SDK 2.11.0 became unstable: sometimes the room does not connect at all, and sometimes it disconnects shortly after joining, causing publish/re-publish of local tracks to fail with connectionState is .disconnected errors.


SDK Version

  • LiveKit Swift SDK: 2.11.0 (mobile)

iOS/macOS Version

  • iOS: iOS 18.2, physical device

Xcode Version

  • Xcode: 26.1
  • Swift: 6.2.1

Steps to Reproduce

  1. Run LiveKit Server 1.9.x (previously stable on 1.5.1, protocol 10).
  2. Connect from an iOS app using LiveKit Swift SDK 2.11.0 and join a room.
  3. Start publishing local tracks, especially screen share video (ReplayKit‑based).
  4. Repeat join/leave and publish/stop cycles; intermittently, the room fails to connect or moves to .disconnected, and track publish fails with state errors.

Expected behavior

  • Stable connection to LiveKit Server 1.9.x, same as with 1.5.1.
  • Local tracks (camera/screen share) should publish and re‑publish without connectionState is .disconnected errors.

Screenshots

  • N/A

Logs

Logs with LiveKit Server 1.5.1 (working but with network warnings):

nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, local address: <af:1>
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 9E7ACFAC-8DE3-4668-9542-37CCDD96EDCA [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, local address: <af:1>
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 9E7ACFAC-8DE3-4668-9542-37CCDD96EDCA [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, local address: <af:1>
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 9E7ACFAC-8DE3-4668-9542-37CCDD96EDCA [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, local address: <af:1>
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 9E7ACFAC-8DE3-4668-9542-37CCDD96EDCA [22: Invalid argument]
nw_listener_socket_inbox_create_socket setsockopt SO_NECP_LISTENUUID failed [22: Invalid argument]
nw_socket_initialize_socket [C21:2] setsockopt SO_NECP_CLIENTUUID failed [22: Invalid argument]
nw_socket_initialize_socket setsockopt SO_NECP_CLIENTUUID failed [22: Invalid argument]
nw_socket_copy_info [C21:2] getsockopt TCP_INFO failed [102: Operation not supported on socket]
nw_socket_copy_info getsockopt TCP_INFO failed [102: Operation not supported on socket]
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
LocalParticipant._publish(track:options:) [publish] success LocalTrackPublication(sid: TR_VSdADcNiMEGvuZ, kind: Kind(rawValue: 1), source: screenShareVideo)
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
Transport.set(remoteDescription:offerId:) Skipping validation for legacy server (missing offerId), latestOfferId: 1
nw_protocol_socket_set_no_wake_from_sleep [C21:2] setsockopt SO_NOWAKEFROMSLEEP failed [22: Invalid argument]
nw_protocol_socket_set_no_wake_from_sleep setsockopt SO_NOWAKEFROMSLEEP failed [22: Invalid argument]
Track.stop() Already stopped
nw_socket_copy_info [C19.1.1:3] Can't get TCP_INFO on a multipath socket
nw_socket_copy_info [C19.1.1:3] Can't get TCP_CONNECTION_INFO on a multipath socket
BroadcastScreenCapturer.createReceiver() Broadcast receiver error: corruptMessage
AsyncCompleter<()>.resume(throwing:) Participant active

Logs with LiveKit Server 1.9.x (unstable / failing):

nw_socket_copy_info [C7.1.1:3] Can't get TCP_INFO on a multipath socket
nw_socket_copy_info [C7.1.1:3] Can't get TCP_CONNECTION_INFO on a multipath socket
Track.stop() Already stopped
nw_path_create_necp_parameters NECP total TLV length (81) does not match expected length (180)
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW D2AE48CB-8407-46F8-A0FE-B1B7CB05C882 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW D2AE48CB-8407-46F8-A0FE-B1B7CB05C882 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW D2AE48CB-8407-46F8-A0FE-B1B7CB05C882 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW D2AE48CB-8407-46F8-A0FE-B1B7CB05C882 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW D2AE48CB-8407-46F8-A0FE-B1B7CB05C882 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW D2AE48CB-8407-46F8-A0FE-B1B7CB05C882 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW D2AE48CB-8407-46F8-A0FE-B1B7CB05C882 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW D2AE48CB-8407-46F8-A0FE-B1B7CB05C882 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW D2AE48CB-8407-46F8-A0FE-B1B7CB05C882 [22: Invalid argument]
nw_listener_socket_inbox_create_socket setsockopt SO_NECP_LISTENUUID failed [22: Invalid argument]
LocalParticipant._publish(track:options:) [publish] LocalVideoTrack(sid: Optional(TR_VSDkpMfKUhSGnJ), name: screen_share, source: screenShareVideo) options: nil...
nw_path_create_necp_parameters NECP total TLV length (81) does not match expected length (180)
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 7BCC9FA0-50A2-4B67-928C-B8C922C54722 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 7BCC9FA0-50A2-4B67-928C-B8C922C54722 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 7BCC9FA0-50A2-4B67-928C-B8C922C54722 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 7BCC9FA0-50A2-4B67-928C-B8C922C54722 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 7BCC9FA0-50A2-4B67-928C-B8C922C54722 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 7BCC9FA0-50A2-4B67-928C-B8C922C54722 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 7BCC9FA0-50A2-4B67-928C-B8C922C54722 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 7BCC9FA0-50A2-4B67-928C-B8C922C54722 [22: Invalid argument]
nw_path_evaluator_create_flow_inner failed NECP_CLIENT_ACTION_ADD_FLOW (null) evaluator parameters: tcp, definite, server, attribution: developer, reuse local address, context: Default Network Context (private), proc: BC9ABE33-2A2D-3FD3-A9AF-85AF2D89177A, delegated upid: 0, local address: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD"
nw_path_evaluator_create_flow_inner NECP_CLIENT_ACTION_ADD_FLOW 7BCC9FA0-50A2-4B67-928C-B8C922C54722 [22: Invalid argument]
nw_listener_socket_inbox_create_socket setsockopt SO_NECP_LISTENUUID failed [22: Invalid argument]
[C5 AF_UNIX:"" tcp, local: AF_UNIX:"/private/var/mobile/Containers/Shared/AppGroup/2E4xxxxxxxxxx195/rtc_SSFD", definite, attribution: developer, server, prohibit joining protocols] is already cancelled, ignoring cancel
SignalClient._sendRequest(_:) connectionState is .disconnected
SignalClient._sendRequest(_:) connectionState is .disconnected
Room.requirePublisher() Publisher is nil
LocalParticipant._publish(track:options:) [publish] failed LocalVideoTrack(sid: nil, name: screen_share, source: screenShareVideo), error: Error Domain=io.livekit.swift-sdk Code=104 "Invalid state(connectionState is .disconnected)" UserInfo={NSLocalizedDescription=Invalid state(connectionState is .disconnected)}
Room.requirePublisher() Publisher is nil
LocalParticipant._publish(track:options:) [publish] failed LocalVideoTrack(sid: Optional(TR_VSDkpMfKUhSGnJ), name: screen_share, source: screenShareVideo), error: Error Domain=io.livekit.swift-sdk Code=104 "Invalid state(connectionState is .disconnected)" UserInfo={NSLocalizedDescription=Invalid state(connectionState is .disconnected)}
Room.engine(_:didMutateState:oldState:) Failed to re-publish local tracks, error: Error Domain=io.livekit.swift-sdk Code=104 "Invalid state(connectionState is .disconnected)" UserInfo={NSLocalizedDescription=Invalid state(connectionState is .disconnected)}

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions