Network extension crash during process startup.

Hi,

I've developed network extension that is being loaded from container application.

Currently, i'd like to test the extension using development profile in signature.

I've implemented 4 providers inside the extension, each derived from NE basic class. here are the definitions of my providers :

@interface myAppProxyProvider : NEAppProxyProvider
@interface myFilterDataProvider : NEFilterDataProvider
@interface myFilterPacketProvider : NEFilterPacketProvider
@interface myDnsProxyProvider : NEDNSProxyProvider

and added them in the Info.plist accordingly:

        <key>NetworkExtension</key>
        <dict>
                <key>NEMachServiceName</key>
                <string>MY_TEAM_ID.com.myBrand.ext</string>
                <key>NEProviderClasses</key>
                <dict>
                        <key>com.apple.networkextension.app-proxy</key>
                        <string>myAppProxyProvider</string>
                        <key>com.apple.networkextension.dns-proxy</key>
                        <string>myDnsProxyProvider</string>
                        <key>com.apple.networkextension.filter-data</key>
                        <string>myFilterDataProvider</string>
                        <key>com.apple.networkextension.filter-packet</key>
                        <string>myFilterPacketProvider</string>
                </dict>
        </dict>

I also gave the extension proper entitlements, that my developer provision profile supports.

<dict>
   <key>com.apple.application-identifier</key>
   <string>MY_TEAM_ID.com.myBrand.ext</string>
   <key>com.apple.developer.networking.networkextension</key>
   <array>
        <string>app-proxy-provider</string>
        <string>content-filter-provider</string>
        <string>packet-tunnel-provider</string>
        <string>dns-proxy</string>
   <string>
   </array>
   <key>com.apple.developer.team-identifier</key>
   <string>MY_TEAM_ID</string>
   <key>com.apple.security.application-groups</key>
   <array>
      <string>MY_TEAM_ID.myGroup.com</string>
   </array>
   <key>com.apple.security.network.client</key>
   <true/>
   <key>com.apple.security.network.server</key>
   <true/>
</dict>

First, I activate the extension from the container app, so it set to [activated enabled] Then, In order to spawn the xpc client process, I start the xpc connection from the container application. but the process gets immediate exception and crash right after startup for the following reason :

System Integrity Protection: enabledCrashed Thread:       0 Dispatch queue: com.apple.main-threadException Type:       EXC_BREAKPOINT (SIGTRAP)
Exception Codes:      0x0000000000000001, 0x00000001aab620f8
Exception Note:       EXC_CORPSE_NOTIFYTermination Reason:   Namespace SIGNAL, Code 5 Trace/BPT trap: 5
Terminating Process:  exc handler [1268]Application Specific Information:
Configuration error: Couldn’t retrieve XPCService dictionary from service bundle.

The problem may hint wrong configuration of the Info.plist, no ? Any idea what can lead to this ?

Thanks

For those reading along at home, I’ll be helping chapo213 in a different context.

Share and Enjoy

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

I encountered a similar problem, how did I solve it?

Network extension crash during process startup.
 
 
Q