Tengo un bloqueo aleatorio en mi aplicación, el seguimiento de la pila no contiene ninguno de mis códigos y estoy luchando por descubrir qué lo está causando. El seguimiento de la pila es siempre el mismo:Bloqueo en el subproceso NSURLConnection
#0 0x00007fff903610e9 in __cxa_throw()
#1 0x00007fff922199c2 in Security::UnixError::throwMe(int)()
#2 0x00007fff920b068d in Security::safeCopyFile(char const*, unsigned int, char const*, unsigned short)()
#3 0x00007fff920af765 in Security::MDSSession::updateDataBases()()
#4 0x00007fff9211318b in Security::MDSSession::DbOpen(char const*, cssm_net_address const*, unsigned int, Security::AccessCredentials const*, void const*, long&)()
#5 0x00007fff9211300b in mds_DbOpen(long, char const*, cssm_net_address const*, unsigned int, cssm_access_credentials const*, void const*, long*)()
#6 0x00007fff920aebee in Security::MDSClient::Directory::cdsa() const()
#7 0x00007fff922013ee in Security::MDSClient::Directory::dlGetFirst(cssm_query const&, cssm_db_record_attribute_data&, cssm_data*, cssm_db_unique_record*&)()
#8 0x00007fff920ae6db in Security::CssmClient::Table<Security::MDSClient::Common>::startQuery(Security::CssmQuery const&, bool)()
#9 0x00007fff920ae1e9 in Security::CssmClient::Table<Security::MDSClient::Common>::find(Security::CssmClient::Query const&)()
#10 0x00007fff920ae140 in Security::CssmClient::Table<Security::MDSClient::Common>::fetch(Security::CssmClient::Query const&, int)()
#11 0x00007fff920ad71f in MdsComponent::MdsComponent(Security::Guid const&)()
#12 0x00007fff920ad29b in CssmManager::loadModule(Security::Guid const&, unsigned int, Security::ModuleCallback const&)()
#13 0x00007fff920ad1a2 in CSSM_ModuleLoad()
#14 0x00007fff92138db2 in loadModule()
#15 0x00007fff921093c1 in attachToModules()
#16 0x00007fff9210931d in attachToAll()
#17 0x00007fff92109253 in SSLNewContext()
#18 0x00007fff95016162 in SocketStream::securitySetInfo_NoLock(__CFDictionary const*)()
#19 0x00007fff950159fd in SocketStream::setProperty(void const*, __CFString const*, void const*)()
#20 0x00007fff9501552c in virtual thunk to SocketStream::setProperty(void const*, __CFString const*, void const*)()
#21 0x00007fff950160db in ReadStreamCallbacks::_setProperty(__CFReadStream*, __CFString const*, void const*, void*)()
#22 0x00007fff8f4ef604 in CFReadStreamSetProperty()
#23 0x00007fff9501457e in HTTPNetConnection::createStreams(__CFWriteStream**, __CFReadStream**)()
#24 0x00007fff95014426 in NetConnection::initialize(NetConnection::Options&)()
#25 0x00007fff95014354 in HTTPNetConnection::initialize(__CFString const*, int, unsigned int, __CFDictionary const*, NetConnection::Options&)()
#26 0x00007fff950142ab in HTTPNetConnection_NoAuth::initialize(__CFString const*, int, unsigned int, __CFDictionary const*, NetConnection::Options&)()
#27 0x00007fff950141d4 in CFHTTPConnectionCreate()
#28 0x00007fff95014089 in HTTPConnectionCacheEntry::findOrCreateEmptyUnauthenticatedNetConnection(HTTPProtocol*, __CFHTTPMessage*, unsigned char*, __CFError**)()
#29 0x00007fff95012f84 in HTTPConnectionCacheEntry::enqueueRequestForProtocol(HTTPProtocol*, __CFHTTPMessage*)()
#30 0x00007fff95012901 in HTTPConnectionCache::EnqueueRequestForProtocol(HTTPProtocol*, __CFHTTPMessage*)()
#31 0x00007fff9500f283 in HTTPProtocol::createStream()()
#32 0x00007fff9500eb82 in HTTPProtocol::createAndOpenStream()()
#33 0x00007fff9500cef1 in URLConnectionLoader::loaderScheduleOriginLoadLocked(_CFURLRequest const*)()
#34 0x00007fff950dec12 in URLConnectionLoader::loaderScheduleOriginLoad(_CFURLRequest const*)()
#35 0x00007fff950de637 in URLConnectionLoader::LoaderConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XLoaderEvent, XLoaderEventParams>*, long)()
#36 0x00007fff9500c959 in URLConnectionLoader::processEvents()()
#37 0x00007fff950079ee in MultiplexerSource::perform()()
#38 0x00007fff8f45a6e1 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__()
#39 0x00007fff8f459f4d in __CFRunLoopDoSources0()
#40 0x00007fff8f480d39 in __CFRunLoopRun()
#41 0x00007fff8f480676 in CFRunLoopRunSpecific()
#42 0x00007fff8dad5ffb in +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:]()
#43 0x00007fff8daca74e in -[NSThread main]()
#44 0x00007fff8daca6c6 in __NSThread__main__()
#45 0x00007fff8f3b48bf in _pthread_start()
#46 0x00007fff8f3b7b75 in thread_start()
Tengo varios otros temas, pero todos mis hilos están durmiendo a la espera de la entrada, el único otro hilo de interés parece ser éste:
#0 0x00007fff90342a8e in pread()
#1 0x00007fff8ba90ce5 in unixRead()
#2 0x00007fff8ba8cc33 in sqlite3BtreeOpen()
#3 0x00007fff8ba88fc6 in openDatabase()
#4 0x00007fff95002c7d in __CFURLCache::OpenDatabase()()
#5 0x00007fff95002800 in ProcessCacheTasks(__CFURLCache*, bool)()
#6 0x00007fff95002232 in _CFURLCacheTimerCallback(void*)()
#7 0x00007fff94e238ba in _dispatch_call_block_and_release()
#8 0x00007fff94e2510a in _dispatch_queue_drain()
#9 0x00007fff94e24f66 in _dispatch_queue_invoke()
#10 0x00007fff94e24760 in _dispatch_worker_thread2()
#11 0x00007fff8f3b63da in _pthread_wqthread()
#12 0x00007fff8f3b7b85 in start_wqthread()
Mencioné ese hilo como vi en otra pregunta aquí que un accidente similar estaba relacionado con NSURLCache. No llamo directamente a ningún método en NSURLCache pero estoy usando una base de datos sqlite que también se menciona en el hilo anterior.
¿Alguien ha visto esto antes o tiene alguna idea de dónde buscar para resolver esto?
Pruebe la depuración alrededor de la región NSURLCache. – iDifferent
Tengo un error similar: ¿Encontró alguna solución al respecto? – vivianaranha
¿Es realmente un accidente o simplemente desencadena un punto de interrupción de excepción? En mi caso, la excepción se arroja por un error de autenticación pero finalmente se detecta. – nschum