Skip to content

Firebase Storage / Vertex AI: HTTP3 failures (-1005, -1017) #14677

Open
@Kirow

Description

@Kirow

Description

I just moved from i9 Intel to Silicon M4. And now I see strange errors in my app during testing on files downloading. A lot of -1005 Connection Lost or -1017 cannot parse response with following lines like

nw_protocol_implementation_lookup_path [C38.1.1.2:2] No path found for 5410496762cbf3     <- com.apple.network
0x1178cf818 38 Server protocol violation 0x02                                             <- com.apple.cfnetwork h3connect
0x1178cf818 38 Control stream closed but connection is alive                              <- com.apple.cfnetwork h3connect

App iterate through the list of storage refs and tries to download (StorageReference.writeAsync(toFile:)) the file if it does not exist locally. Mostly it happens sequentially, sometimes a little bit in parallel. If file failed it will be moved to the end of queue and retries later. Failures happens on the same files multiple time and at some rare occasions it does download.

Error appears only on simulator on M4 laptop, it does work on old laptop and on real device. I've notice that simulator on M4 using http3, so I start proxy that does not support http3 - and it start working fine.

So my conclusion is that problem with HTTP3

I still investigating, but maybe someone will drop idea or solution to this problem.

Reproducing the issue

not available at this moment

Firebase SDK Version

11.11.0

Xcode Version

16.3 (16E140)

Installation Method

Swift Package Manager

Firebase Product(s)

Storage

Targeted Platforms

iOS

Relevant Log Output

MyCode.swift:46
 👀 Start downloading - 9bfjwHShMvRLjHJowCx7
11.11.0 - [FirebaseAuth][I-AUT000017] Has valid access token. Estimated expiration date:2025-04-08 18:28:36 +0000, current date: 2025-04-08 17:28:59 +0000
11.11.0 - [FirebasePerformance][I-PRF300005] URL length exceeds limits, truncating recorded URL - https://firebasestorage.googleapis.com:443/v0/b/******.appspot.com/o/PATH_TO_FILE_1.zip.
11.11.0 - [FirebasePerformance][I-PRF300005] URL length exceeds limits, truncating recorded URL - https://firebasestorage.googleapis.com:443/v0/b/******.appspot.com/o/PATH_TO_FILE_1.zip.
nw_connection_copy_connected_local_endpoint_block_invoke [C196] Connection has no local endpoint
nw_connection_copy_connected_local_endpoint_block_invoke [C196] Connection has no local endpoint
quic_conn_change_current_path [C196.1.1.1:2] [-e2ec972bce4de892] tried to change paths, but no alternatives were found
nw_connection_copy_connected_local_endpoint_block_invoke [C196] Connection has no local endpoint
nw_protocol_implementation_lookup_path [C196.1.1.1:2] No path found for 54fb7d625518029c
0x10a9d5e18 196 Server protocol violation 0x02
0x10a9d5e18 196 Control stream closed but connection is alive
nw_connection_copy_connected_local_endpoint_block_invoke [C198] Connection has no local endpoint
nw_connection_copy_connected_local_endpoint_block_invoke [C198] Connection has no local endpoint
quic_conn_change_current_path [C198.1.1.1:2] [-fc34761712275213] tried to change paths, but no alternatives were found
nw_connection_copy_connected_local_endpoint_block_invoke [C198] Connection has no local endpoint
nw_protocol_implementation_lookup_path [C198.1.1.1:2] No path found for 54ac50c7cc3bb4d
0x13b1af018 198 Server protocol violation 0x02
0x13b1af018 198 Control stream closed but connection is alive
nw_connection_copy_connected_local_endpoint_block_invoke [C200] Connection has no local endpoint
nw_connection_copy_connected_local_endpoint_block_invoke [C200] Connection has no local endpoint
quic_conn_change_current_path [C200.1.1.1:2] [-fcd7bf60df245c86] tried to change paths, but no alternatives were found
Task <02CDA635-F3B7-4625-970B-582603A62AD4>.<117> HTTP load failed, 2450/0 bytes (error code: -1017 [4:-1])
nw_connection_copy_connected_local_endpoint_block_invoke [C200] Connection has no local endpoint
nw_protocol_implementation_lookup_path [C200.1.1.1:2] No path found for d504b2162ebcddb1
Task <02CDA635-F3B7-4625-970B-582603A62AD4>.<117> finished with error [-1017] Error Domain=NSURLErrorDomain Code=-1017 "cannot parse response" UserInfo={_kCFStreamErrorCodeKey=-1, NSUnderlyingError=0x60000135c000 {Error Domain=kCFErrorDomainCFNetwork Code=-1017 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x6000064ad270 [0x1e6ebb4f0]>{length = 16, capacity = 16, bytes = 0x100201bb8efa4b0a0000000000000000}, _kCFStreamErrorCodeKey=-1, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDownloadTask <02CDA635-F3B7-4625-970B-582603A62AD4>.<117>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDownloadTask <02CDA635-F3B7-4625-970B-582603A62AD4>.<117>"
), NSLocalizedDescription=cannot parse response, NSErrorFailingURLStringKey=https://firebasestorage.googleapis.com:443/v0/b/******.appspot.com/o/PATH_TO_FILE_1.zip?alt=media, NSErrorFailingURLKey=https://firebasestorage.googleapis.com:443/v0/b/******.appspot.com/o/PATH_TO_FILE_1.zip?alt=media, _kCFStreamErrorDomainKey=4}
0x109881618 200 Server protocol violation 0x02
0x109881618 200 Control stream closed but connection is alive

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
Replace this line with the contents of your Podfile.lock!

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions