[GH-ISSUE #6261] [Validated]: iOS client disconnects immediately after authentication, server sees EOF on relay message #11596

Closed
opened 2026-08-05 01:30:08 -04:00 by saavagebueno · 3 comments
Owner

Originally created by @gsgtzq on GitHub (May 25, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/6261

Validation checklist

  • This issue is linked to a validated discussion, or it is being opened directly by a maintainer.
  • The report has enough context for engineering to act on it without re-triaging from scratch.
  • Sensitive data, secrets, private keys, internal hostnames, and public IPs have been removed or intentionally disclosed.

Issue type

Bug / Regression

Source discussion

Maintainer-created. No related discussion found. Troubleshooting exhausted; bug confirmed on latest versions as shown below.

Validation owner

@gsgtzq

Target repository

netbirdio/netbird

Summary

iOS client frequently loses connection immediately after authentication; server log reports EOF (failed to read frame header). Other platforms work normally. Logs suggest a platform-specific dataplane or session reliability issue on iOS. Logs attached for reproducibility and review.

Validation evidence

  • Reproduced by: user/maintainer on iOS using NetBird client v0.2.0 (engine 0.70.4) against server v0.71.4 (dashboard v2.38.1)
  • Environment: iPhones, multiple WiFi/Cellular networks (network path changes trigger session instability)
  • Affected versions / platforms: Only iOS (Android, Windows, Linux connect as expected)
  • Community signal: Matches previous closed/related issues such as #5789, #2340, [GH-ISSUE #1736] can't access Home network with Network Routes, docker container errors (#3130)
  • Related logs:
    • Server: relay/server/peer.go:86: failed to read message: failed to get reader: failed to read frame header: EOF
    • Client: [NetworkExtensionAdapter.swift:860] fetchData timed out; frequent (re)creation of tunnel adapter and network path flapping
  • Full client and engine logs attached

Proposed scope

In scope:

  • Investigate and fix iOS client's unstable connections that result in immediate disconnect post-authentication with server EOF error
  • Clarify cause of dataplane failure or session drop unique to iOS client

Out of scope:

  • Other platforms or unrelated network issues

Acceptance criteria

  • An iOS client can connect, authenticate, and maintain a stable connection; no immediate disconnect occurs
  • No longer see relay/server/peer.go: failed to read frame header: EOF on server
  • iOS client logs no longer report 'fetchData timed out' following successful connect
  • Root cause and fix are documented for others encountering similar symptoms

Additional context

Related/possibly duplicate to:

  • #5789 "iOS: WireGuard handshake completes successfully but zero data packets sent..."
  • #2340 "iOS App Stuck at Connecting"
  • #3130 "iPhone app loose connection"

Logs for both client and engine are attached as required for engineering review.

Tested and confirmed with:

  • Server: netbirdio/netbird v0.71.4
  • Dashboard: v2.38.1
  • iOS app: v0.2.0 (engine 0.70.4)

netbird-app.log
netbird-engine.log

Originally created by @gsgtzq on GitHub (May 25, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/6261 ### Validation checklist - [x] This issue is linked to a validated discussion, or it is being opened directly by a maintainer. - [x] The report has enough context for engineering to act on it without re-triaging from scratch. - [x] Sensitive data, secrets, private keys, internal hostnames, and public IPs have been removed or intentionally disclosed. ### Issue type Bug / Regression ### Source discussion Maintainer-created. No related discussion found. Troubleshooting exhausted; bug confirmed on latest versions as shown below. ### Validation owner @gsgtzq ### Target repository netbirdio/netbird ### Summary iOS client frequently loses connection immediately after authentication; server log reports EOF (failed to read frame header). Other platforms work normally. Logs suggest a platform-specific dataplane or session reliability issue on iOS. Logs attached for reproducibility and review. ### Validation evidence - Reproduced by: user/maintainer on iOS using NetBird client v0.2.0 (engine 0.70.4) against server v0.71.4 (dashboard v2.38.1) - Environment: iPhones, multiple WiFi/Cellular networks (network path changes trigger session instability) - Affected versions / platforms: Only iOS (Android, Windows, Linux connect as expected) - Community signal: Matches previous closed/related issues such as #5789, #2340, #3130 - Related logs: - Server: relay/server/peer.go:86: failed to read message: failed to get reader: failed to read frame header: EOF - Client: [NetworkExtensionAdapter.swift:860] fetchData timed out; frequent (re)creation of tunnel adapter and network path flapping - Full client and engine logs attached ### Proposed scope In scope: - Investigate and fix iOS client's unstable connections that result in immediate disconnect post-authentication with server EOF error - Clarify cause of dataplane failure or session drop unique to iOS client Out of scope: - Other platforms or unrelated network issues ### Acceptance criteria - [ ] An iOS client can connect, authenticate, and maintain a stable connection; no immediate disconnect occurs - [ ] No longer see relay/server/peer.go: failed to read frame header: EOF on server - [ ] iOS client logs no longer report 'fetchData timed out' following successful connect - [ ] Root cause and fix are documented for others encountering similar symptoms ### Additional context Related/possibly duplicate to: - #5789 "iOS: WireGuard handshake completes successfully but zero data packets sent..." - #2340 "iOS App Stuck at Connecting" - #3130 "iPhone app loose connection" Logs for both client and engine are attached as required for engineering review. Tested and confirmed with: - Server: netbirdio/netbird v0.71.4 - Dashboard: v2.38.1 - iOS app: v0.2.0 (engine 0.70.4) [netbird-app.log](https://github.com/user-attachments/files/28244744/netbird-app.log) [netbird-engine.log](https://github.com/user-attachments/files/28244743/netbird-engine.log)
Author
Owner

@linear-code[bot] commented on GitHub (May 25, 2026):

NET-1206

<!-- gh-comment-id:4539422972 --> @linear-code[bot] commented on GitHub (May 25, 2026): <!-- linear-linkback --> <p><a href="https://linear.app/netbird/issue/NET-1206">NET-1206</a></p>
Author
Owner

@czy21 commented on GitHub (May 26, 2026):

I encountered the same problem

<!-- gh-comment-id:4550321607 --> @czy21 commented on GitHub (May 26, 2026): I encountered the same problem
Author
Owner

@jnfrati commented on GitHub (May 27, 2026):

Moving this to a discussion as per the new issue triage flow https://github.com/netbirdio/netbird/discussions/6074

<!-- gh-comment-id:4559325404 --> @jnfrati commented on GitHub (May 27, 2026): Moving this to a discussion as per the new issue triage flow https://github.com/netbirdio/netbird/discussions/6074
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#11596