I’m encountering a persistent issue with my Network Extension (specifically NEFilterDataProvider) and would really appreciate any insights.
The extension generally works as expected, but after some time — especially after sleep/wake cycles or network changes — a global network outage occurs. During this state, no network traffic works: pings fail, browsers can’t load pages, etc. As soon as I stop the extension (by disabling it in System Preferences), the network immediately recovers. If I re-enable it, the outage returns instantly.
I’ve also noticed that once this happens, the extension stops receiving callbacks like handleNewFlow(), and reinstalling the app or restarting the extension doesn’t help. The only thing that resolves the issue is rebooting the system. After reboot, the extension works fine again — until the problem reoccurs later.
I asked AI about this behavior, and it suggested the possibility that the kernel might have marked the extension as untrusted, causing the system to intentionally block all network traffic as a safety mechanism.
Has anyone experienced similar behavior with NEFilterDataProvider? Could there be a way to detect or prevent this state without rebooting? Is there any logging or diagnostic data I should collect when it happens again?
Any guidance or pointers would be greatly appreciated. Thanks in advance!
But when I disable the content filter, the process does not stop.
OK. That’s not unexpected, give my understanding of how NE relates to the sysex infrastructure.
When I manually kill the original process … the process ID definitely changes, but the issue persists.
Blat! I was hoping that the bogus state would be stored in the sysex process, and thus this would clear it. Given this finding, the only path forward I see is a bug report.
I submitted FB19734992
Thanks.
I can’t go into all the details here, but the executive summary is:
- For internal reasons, we have an internal bug tracking the fix (r. 172870187).
- That fix is not in any currently released or seeded version of macOS.
- Even when that fix lands, I’m not 100% confident that it’ll fix this issue, due to the convoluted path we took to get there.
- As always, I recommend that you continue testing with new macOS betas as we seed them (we’re currently seeding 26.5b1, build 23F5043g).
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"