WSDL2Objc code crash behind authentication HTTP proxy - Help to understand the crash log

384 views Asked by At

I successfully invoke WS from my App with WSDL2Objc Generated code. I sent my application to colleagues for testing purpose and they reported me that the App crashes whenever try to connect to WS. The fact is the iPad is behind and HTTP authentication proxy.

From what i understand, the authentication proxy redirect the connection to an HTTP page which shows a message like "Please supply credential"

I have to avoid the crash and simply show an error but i'm not able to understand where the crash happens. I've symbolicated the crash log and the thread wich crash is this one pasted.

Any help is appreciated.

Thread 3 Crashed:
0   CoreFoundation                  0x3592d75c CFHash + 124
1   CoreFoundation                  0x359d89f4 __CFBasicHashStandardHashKey + 8
2   CoreFoundation                  0x359da614 ___CFBasicHashFindBucket_Linear_NoCollision + 40
3   CoreFoundation                  0x359dc680 __CFBasicHashAddValue + 684
4   CoreFoundation                  0x35932f98 CFDictionarySetValue + 68
5   CFNetwork                       0x37516684 URLCredentialStorage::_SetCredentialForProtectionSpace(__CFDictionary*, _CFURLCredential const*, _CFURLProtectionSpace*) + 80
6   CFNetwork                       0x37516f4c URLCredentialStorage::setDefaultCredentialForProtectionSpace(_CFURLCredential const*, _CFURLProtectionSpace*) + 340
7   CFNetwork                       0x374e0e78 CFURLCredentialStorageSetDefaultCredentialForProtectionSpace + 20
8   CFNetwork                       0x3750cbe0 HTTPProtocol::RemoveCredentialPasswordForProtectionSpace(_CFURLCredential const*, _CFURLProtectionSpace*, unsigned char) + 60
9   CFNetwork                       0x3750e49c HTTPProtocol::_CFHTTPProtHasCredentialsForChallenge(__CFHTTPMessage*) + 832
10  CFNetwork                       0x3750f85a HTTPProtocol::attemptAuthentication(__CFHTTPMessage*) + 170
11  CFNetwork                       0x3750f9a4 HTTPProtocol::performHeaderRead() + 280
12  CFNetwork                       0x3750fee6 HTTPProtocol::httpReadStreamEvent(unsigned long) + 82
13  CFNetwork                       0x37510024 HTTPProtocol::_httpReadStreamCB(__CFReadStream*, unsigned long, void*) + 4
14  CoreFoundation                  0x35946a1a _signalEventSync + 70
15  CoreFoundation                  0x35947626 _cfstream_shared_signalEventSync + 198
16  CoreFoundation                  0x3599ea72 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
17  CoreFoundation                  0x359a0758 __CFRunLoopDoSources0 + 376
18  CoreFoundation                  0x359a14e4 __CFRunLoopRun + 224
19  CoreFoundation                  0x35931ebc CFRunLoopRunSpecific + 224
20  CoreFoundation                  0x35931dc4 CFRunLoopRunInMode + 52
21  Foundation                      0x36f747f6 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 206
22  Foundation                      0x36f67382 -[NSThread main] + 38
23  Foundation                      0x36fd95c6 __NSThread__main__ + 966
24  libsystem_c.dylib               0x33af730a _pthread_start + 242
25  libsystem_c.dylib               0x33af8bb4 thread_start + 0
1

There are 1 answers

0
Indio On

There was a subtle error in the management of the HTTP session. I've fond an hint in this blog EXC_BREAKPOINT strange error In essence the problem was in the didReceiveAuthenticationChallenge of the NSURLConnection. For some reasons and only for a kind of service didReceiveAuthenticationChallenge passed NULL credentials to the connection so as the blogger suggests i tried a retain on those credential strings and the EXC_BREAKPOINT disappeared.