2012-12-20 7 views
7

Xcode 프로젝트에서 SIGPIPE 오류가 발생합니다. 이 오류는 일주일 전부터 표시되기 시작했습니다. 이 메서드 호출에 대한 주석을 작성한 경우 : [self configureBump]; 모두 정상적으로 작동합니다. 내 프로젝트에 BUMP API을 통합했다. 이 API는 일주일 전까지 아무 문제없이 작동합니다. 이 오류의 원인에 대해 확실하지 않습니다. 누구든지이 오류를 해결할 수 있도록 도와 주시겠습니까? 일부 친구들도이 오류를보고합니다.BUMP API가 포함 된 iOS 프로젝트의 SIGPIPE 예외

엑스 코드 버전 : 4.5 아이폰 OS 버전 : 아이폰 OS 6.0/아이폰 OS 5.0

스택 추적 아래를 참조하십시오

SIGPIPE 소켓 시간 초과 또는/손실 연결 슬로우 가능성이있다
* 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 
+1

다른 버그가있는 API ... 이제 이것을보십시오 : Dropbox 개발자는 가변 함수에 대한 단서를 가지지 않고 스택을 손상시킵니다. –

+0

'[self configureBump]'는 샘플 앱에서 바로 나온 것처럼 보입니다. Xcode 디버거에서 중단 점을 설정하거나 configureBump 메서드 자체에서 NSLog 호출을 설정하여 어느 호출이 SIGPIPE를 발생시키는지를 더 정확하게 결정할 수 있습니다. –

답변

7

lib 안에. 서버 측면에서 문제가있을 수 있습니다.

당신과 SIGPIPE를 무시함으로써 주위 얻을 수 있습니다 자세한 내용은

signal(SIGPIPE, SIG_IGN); 

또는

signal(SIGPIPE, SO_NOSIGPIPE); 

확인 this link합니다.

한편

, 당신은

signal(SIGPIPE, yourHandlerFunc);

와 핸들러 함수를 설정하여 더 디버깅과 소켓/인스턴스 변수/등의 점검 상태에 있습니다.