7

SIGPIPE在 Xcode 项目中遇到错误。从一周前开始显示此错误。如果我评论了这个方法调用:[self configureBump];一切正常。我在我的项目中集成了BUMP API 。这个 API 一直工作到一周前没有任何问题。我不确定这个错误的原因。谁能帮我解决这个错误?有的朋友也报这个错误。

Xcode 版本:4.5 iOS 版本:iOS 6.0/iOS 5.0

请参阅下面的堆栈跟踪:

* thread #1: tid = 0x1c03, 0x95a887d2 libsystem_kernel.dylib`mach_msg_trap + 10, stop reason = signal SIGPIPE
    frame #0: 0x95a887d2 libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x95a87cb0 libsystem_kernel.dylib`mach_msg + 68
    frame #2: 0x029ef13a CoreFoundation`__CFRunLoopServiceMachPort + 186
    frame #3: 0x02952580 CoreFoundation`__CFRunLoopRun + 1312
    frame #4: 0x02951db4 CoreFoundation`CFRunLoopRunSpecific + 212
    frame #5: 0x02951ccb CoreFoundation`CFRunLoopRunInMode + 123
    frame #6: 0x03093879 GraphicsServices`GSEventRunModal + 207
    frame #7: 0x0309393e GraphicsServices`GSEventRun + 114
    frame #8: 0x017a0a9b UIKit`UIApplicationMain + 1175
    frame #9: 0x00002dd7 iCard`main + 199 at main.m:17
    frame #10: 0x00002185 iCard`start + 53
4

1 回答 1

9

有可能SIGPIPE在该库内发生套接字超时或没有/丢失的连接。他们身边可能有一些服务器故障或其他什么。

您可以通过忽略 SIGPIPE 来解决:

signal(SIGPIPE, SIG_IGN); 

或者

signal(SIGPIPE, SO_NOSIGPIPE);

检查此链接以获取详细信息。

另一方面,您可以通过设置处理程序函数来进一步调试

signal(SIGPIPE, yourHandlerFunc);

并检查其中的 sockets/ivars/etc 的状态。

于 2013-01-08T14:30:47.247 回答