带有NSURLSessionDataTask的_BSMachError

时间:2017-06-28 09:57:28

标签: ios objective-c xcode nsurlsession

运行以下代码时,我在Xcode控制台上收到错误:

// Create session
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration ephemeralSessionConfiguration]];

// Create request
NSURL *url = [NSURL URLWithString:@"https://my.backend.com/endpoint"];
NSMutableURLRequest *mutableRequest = [NSMutableURLRequest requestWithURL:url];
    mutableRequest.HTTPMethod = @"POST";
[mutableRequest setValue:@"text/plain" forHTTPHeaderField:@"Content-Type"];
NSData *postBody = [@"my_string_payload" dataUsingEncoding:NSUTF8StringEncoding];
[mutableRequest setHTTPBody:postBody];

// Create and initiate task 
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:mutableRequest];
[dataTask resume];

我得到的错误如下:

... [Common] _BSMachError: port c11b; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
... [Common] _BSMachError: port c11b; (os/kern) invalid name (0xf) "Unable to deallocate send right"

运行resume方法时会显示错误。一切似乎工作正常,没有崩溃,请求按预期工作。

我已经找到了这个错误消息,它通常被发现与1)奇怪的Xcode问题(例如this)或2)UI元素生命周期(例如here)有关。这些似乎不适用于这种情况。

我正在使用Xcode 8.3.3。

1 个答案:

答案 0 :(得分:0)

我刚刚意识到只有在使用断点运行时才会出现错误。当我在没有断点的情况下运行此部分时,请求仍然按预期工作,并且控制台中没有错误,因此在使用断点调试NSURLSessionDataTask时,这似乎只是一个问题。