Network Extension listed twice in Network Preferences Pane?

[Q] Are there some known cases where a Network Extension would be listed twice in the Network Preferences pane (and each one is active)?

  • systemextensionctl list only reports one network extension. So it's not a case where there would be 2 different versions of the same extension or with a different bundle identifier or an update having gone wrong.
  • there is only one instance of the network extension running visible according to ps/top.
  • the network extension has been allowed using a mobile profile (can the profileSource value of the payloadInfo have an effect?)
  • The NEConfigurationManager shared manager only reports one instance of a NEConfiguration for the network extension.

So it's not a case where there would be 2 different versions of the same extension or with a different bundle identifier

Okay, good. This would be a typical case where the Network Extension shows up twice.

Regarding:

the network extension has been allowed using a mobile profile (can the profileSource value of the payloadInfo have an effect?)

Did you try creating and installing a Network Extension with a profile AND with an actual code-level project also? Did each one of these install paths possibly create a new Network Configuration on your system?

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com

Did you try creating and installing a Network Extension with a profile AND with an actual code-level project also? Did each one of these install paths possibly create a new Network Configuration on your system?

If you're thinking about the case where there would be a regular installation of the Network Installation while some work is being done in Xcode with a debug/test version, this is not the case here.

If you're thinking about the case where there would be a regular installation of the Network Installation while some work is being done in Xcode with a debug/test version, this is not the case here.

Okay. Yes, sometimes when testing different versions of a Network System Extension from either a profile based install path or a app based install path some of these extensions can fail to be removed. This can happen if you try and remove the extension from a system daemon or command line utility. In this case the removal will typically fail. You are not removing from a system daemon or command line utility are you?

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com

You are not removing from a system daemon or command line utility are you?

No, there are no attempts to remove the Network Extension form a daemon or using systemextensionsctl.

Okay, thank you for confirming. What type of Network System Extension is this and are there any logs that show up during install time that might help identify what is going on?

Is there a screen shot that you can provide on both of your network configurations installed at the same time?

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com

What type of Network System Extension is this?

Content Filter

Are there any logs that show up during install time that might help identify what is going on?

I don't have access to the unified logs from install time. I can just see that the installation worked fine from install.log point of view.

Is there a screen shot that you can provide on both of your network configurations installed at the same time?

I can not provide the one I was given. But I can ASCII Art it:

                                           Location: Automatic

Wi-Fi                                         Please use "My Great Application" to control this content 
o Connected.                                  filter configuration.

My Great Network Extension
o Running

Another Extension
o Running

My Great Network Extension
o Running

Other Interface
o Not Connected

Yet another Interface
o Not Connected

[…]

By accident, I got the same problem while doing something else. So if there are instructions to get more information, I can try them.

It's worth noting that when this UI issue occurs:

  • there can be extensions waiting to be removed according to systemextensionclt list but on the next restart the problem is still there and the extensions had been removed.
  • deleting one instance of the extension in the Network PrefPane can remove both of them.
  • if you delete the extensions (using the Network PrefPane) and re-allow the extension, the problem does not reappear (at least so far).

I have this issue right now on my dev machine. It's like there's stale info in /Library/SystemExtensions/db.plist. I've seen clients have the issue too. On my machine the duplicate disabled extension has a lock icon.

Edit: For me and our clients it's only DNS Proxy that shows a zombie, our Socket Filter never does. And they are both hosted in the same SYSEXT.

Network Extension listed twice in Network Preferences Pane?
 
 
Q