"nw_endpoint_handler_set_adaptive…" coming from XPC service

I’ve got an application, which uses (a couple of) XPC service(s) to accomplish various tasks. Since recently, I don’t know when exactly but probably after some macOS update, I started seeing these messages coming out when XPC services are used:

[connection] nw_endpoint_handler_set_adaptive_read_handler [C1.1 140.82.121.6:443 ready socket-flow (satisfied (Path is satisfied), viable, interface: en1, ipv4, dns)] unregister notification for read_timeout failed

or

[connection] nw_endpoint_handler_set_adaptive_write_handler [C1.1 140.82.121.6:443 ready socket-flow (satisfied (Path is satisfied), viable, interface: en1, ipv4, dns)] unregister notification for write_timeout failed

This happens when the service want’s to use outgoing connection. Not that it only happens in Xcode during debugging, but the deployment version of the application/XPC emits these messages to the console as well. However, everything works correctly as it has before. I’d like to surpass those messages going into the console, but I’d also like to understand what they actually mean and why they appear in the first place. Searching the Internet didn’t really revealed any useful info, so I hope someone here can help me. Anyone else seeing those?

  • 2021-06-03 17:26:59.239540+0800 douyin[4227:14099😎 [connection] nw_endpoint_handler_set_adaptive_read_handler [C1576 103.39.232.15:80 ready socket-flow (satisfied (Path is satisfied), viable, interface: en21, ipv4, dns)] unregister notification for read_timeout failed

    2021-06-03 17:26:59.239681+0800 douyin[4227:14099😎 [connection] nw_endpoint_handler_set_adaptive_write_handler [C1576 103.39.232.15:80 ready socket-flow (satisfied (Path is satisfied), viable, interface: en21, ipv4, dns)] unregister notification for write_timeout failed

    me too

Add a Comment

Replies

These messages are coming out of the user space networking stack that backs the Network framework. They are unrelated to XPC. Given that, and the fact that XPC Services seem to be working, I’m inclined to label them as log noise.

I’d like to surpass those messages going into the console

You mean Console app? Or the Console pane in Xcode?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I just updated to iOS 14.6 / Xcode 12.5 and started getting a torrent of these messages, they seem to appear in the console for every single network call.

@Quinn

You mean Console app? Or the Console pane in Xcode?

Console.app. Since I see them there as well and I'd like my application to be as silent as possible.

So is it an error? Console is getting flooded with these messages. Searching for a bug and I want to know if this will have something to do with it.

Thanks

  • These messages do not seem to be errors — in my case everything is working as expect. They seem to be more like network status updates.

    The "satisfied (Path is satisfied), viable, interface: en1, ipv4, dns" part is the same as path.debugDescription when getting updates from NWPathMonitor.

Add a Comment

OK, folks, it seems that this isn’t correlated with any misbehaviour, in which case the following advice from On Log Noise applies:

If you find it to be particularly irksome, file a bug report requesting that it be silenced.

Please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

  • Somebody please file a bug report. It is incredibly irksome.

Add a Comment

@eskimo FB9123906

Somebody please file a bug report.

If you look downthread you’ll see that DanielSpringerChabadOrg has already filed a bug and posted the bug number (FB9123906).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

If you want to hide these errors do this:

1 - From Xcode menu open: Product > Scheme > Edit Scheme

2 - On your Environment Variables set OS_ACTIVITY_MODE = disable

  • This works great - thank you!

  • Definitely would've never thought of this one. Thanks!

  • Thank for the tip !

And it helped me, thanks a lot!

In my case, when I see the following logs, I occasionally get what appears to be a failed network request. We are using AFNetworking, and the completion callback never seems to be called.

2021-06-24 09:40:10.916198-0400 <redacted>[6678:3107650] [connection] nw_endpoint_handler_set_adaptive_read_handler [C8.1 142.250.64.74:443 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] unregister notification for read_timeout failed

2021-06-24 09:40:10.916291-0400 <redacted>[6678:3107650] [connection] nw_endpoint_handler_set_adaptive_write_handler [C8.1 142.250.64.74:443 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] unregister notification for write_timeout failed

With this in mind, it seems to be alerting me to a real issue, and maybe shouldn't be called "log noise". Any idea what might cause this?

  • I'm getting the same message, except, in my case I'm just making a simple fetch request to an API. It appears that everything is working correctly but the message concerns me that I'm missing something. I'm new to iOS development (I come from an Android background) so I don't want to ignore any warnings that my console is giving me.

  • I have the same issue when using AFNetworking inside a macOS console app, it seems that AFNetworking needs the runloop to be running. After calling [[NSRunLoop currentRunLoop] run] in the main thread, the completion callback is working as expected, although the log still prints.

Add a Comment

With this in mind, it seems to be alerting me to a real issue, and maybe shouldn't be called "log noise".

That message is slightly different from the one that started this thread (it has ready channel-flow rather than ready socket-flow). You’re also the first person on this thread to correlate it with a problem. It’s possible, but not guaranteed, that these things are connected.

Any idea what might cause this?

No.

What platform is this on? And what OS version?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

  • I am on the same boat. I'm using SwiftUI and only want to make network calls on a specified length of items displayed rather than the whole list of items (it's pretty long list ~4k). Based on my contstraints, after a certain amount of scrolling, no more data gets retrieved and get the messages shown by OP instead. Any help would be appreciated!

    I'm on macOS: 11.4 IOS: 14..6 Xcode: 12.5 (12E262)

  • Completely forgot to include the message shown to me: 2021-07-06 06:07:05.229466-0700 Servers[31851:10665164] [connection] nw_endpoint_handler_set_adaptive_read_handler [C82.1 198.50.182.64:80 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, ipv6, dns)] unregister notification for read_timeout failed

  • Also getting the same message as you mawesome4ever. Although also getting an additional identical one ending in "write_timeout failed" Recently updated xcode to 12.5, and building+installing flutter app to iOS 14.6 (I think issue appeared when I added Firebase to the app)

Just updated to Xcode 12.5.1 and see the messages when running on an iPhone XR installed with iOS 14.7 but I do not see the messages when running on an iPad Air 2 installed with iPadOS 14.5. An Xcode incompatibility issue (with iOS 14.7)?

Messages seen in the Xcode debug console: 2021-07-21 16:13:59.126185+1200 [539:49192] [connection] nw_endpoint_handler_set_adaptive_read_handler [C52 10.1.1.1:8000 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4)] unregister notification for read_timeout failed

2021-07-21 16:13:59.126377+1200 [539:49192] [connection] nw_endpoint_handler_set_adaptive_write_handler [C52 10.1.1.1:8000 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4)] unregister notification for write_timeout failed

We just started seeing these about a week ago:

2021-09-03 08:35:53.651884-0700 Stream-Dev[13760:8072908] [connection] nw_endpoint_handler_set_adaptive_read_handler [C66.1.1 13.225.143.86:443 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] unregister notification for read_timeout failed 2021-09-03 08:35:53.652004-0700 Stream-Dev[13760:8072908] [connection] nw_endpoint_handler_set_adaptive_write_handler [C66.1.1 13.225.143.86:443 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] unregister notification for write_timeout failed

Xcode 12.5 iOS 14.7.1 iPhone XR

We are streaming to AWS via Kinesis

It looks like this issue has been resolved in Xcode 13.1 on macOS Monterrey 12.0.1

  • Yay!

  • I still see this issue with Xcode 13.1 and macOS Monterey 12.0.1. I read that this might be Firebase related, which I am using but I am not using XPC.

Add a Comment

@eskimo - will this also get fixed for BigSur? Not everyone has and will have Monterey.