6
내 응용 프로그램에서 임의의 충돌이 발생했습니다. 스택 추적에 내 코드가 포함되어 있지 않아 무엇이 원인인지 파악하기가 어려워요.NSURLConnection 스레드에서 충돌이 발생했습니다.
#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()
:
이#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()
나는 여러 다른 스레드하지만 입력을 기다리는 자고있는 내 모든 스레드가 관심의 유일한 다른 thread가이 하나가 될 것으로 보인다 스택 추적은 항상 동일합니다 비슷한 충돌이 NSURLCache와 관련되어 있다는 것을 다른 질문에서 알았습니다. 직접 NSURLCache 메서드를 호출하지 않지만 위의 스레드에서 언급 한 sqlite 데이터베이스를 사용하고 있습니다.
누구든지 이전에이 문제를 보았거나이를 해결하기 위해 어디를 볼 생각이 있습니까?
NSURLCache 영역을 중심으로 디버깅을 시도하십시오. – iDifferent
비슷한 오류가 있습니다 -이 문제를 해결할만한 해결책을 찾았습니까? – vivianaranha
이것은 정말로 충돌입니까 아니면 예외 브레이크 포인트를 유발합니까? 내 경우에는 예외가 인증 오류 때문에 발생하지만 결국 잡혔습니다. – nschum