我注意到我的应用程序中的随机崩溃似乎都与SignalR-ObjC有关。崩溃可能在收到SignalR数据后不久发生,也可能在接收数据几分钟后发生。
错误消息是:
malloc: *** error for object 0x7fbae292ce00: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
断点放在SRChunkBuffer.m文件中的这一行:
[_buffer appendString:[[NSString alloc] initWithData:buffer encoding:NSUTF8StringEncoding]];
如果我注释掉使用SignalR-ObjC调用服务器端方法订阅组的代码,则不会发生此崩溃:
for (NSString *groupName in combinedArray ){
[proxy invoke:@"Subscribe" withArgs:@[groupName] completionHandler:nil];
}
我已确保SignalR-ObjC的所有可可pod /依赖项都是最新的,删除了我的循环以注册组,而是一次一个地手动注册它们,但我仍然随机崩溃。 / p>
我看到提到可能使用@synchronized但不确定如何适应这种情况。
如何阻止此次崩溃?
答案 0 :(得分:0)
通过将[连接开始]替换为:
解决[connection start:[[SRLongPollingTransport alloc] init]]
必须导入" SRLongPollingTransport.h"做这项工作......