In only one of my projects, I cannot at all use the Xcode breakpoints, lldb crashes with always the same log. Is there any way to debug the issue? - objective-c

When debugging my Swift iOS project that also contains Objective-C parts, I cannot use breakpoints otherwise the debug server crashes, logging:
Message from debugger: The LLDB RPC server has crashed. The crash log is located in
~/Library/Logs/DiagnosticReports and has a prefix 'lldb-rpc-server'. Please file a bug and
attach the most recent crash log.
I am using the latest Xcode (11.5) but this happens since a number of updates. I suspect this started to happen at the time one of the latest Xcode updates has been installed but I am not 100% sure.
I know this question can be a duplicate, so I will add as much details as I can. The log contains, at the top:
Process: lldb-rpc-server [57486]
Path: /Applications/Xcode.app/Contents/SharedFrameworks/LLDBRPC.framework/Versions/A/Resources/lldb-rpc-server
Identifier: lldb-rpc-server
Version: 2
Code Type: X86-64 (Native)
Parent Process: Xcode [44264]
Responsible: Xcode [44264]
User ID: 501
Date/Time: 2020-06-27 20:11:09.502 +0200
OS Version: Mac OS X 10.15.5 (19F101)
Report Version: 12
Bridge OS Version: 4.5 (17P5300)
Anonymous UUID: AAD489A9-72D8-BF2A-EF2C-48E06D701EBA
Sleep/Wake UUID: 4DA8CC95-35BE-4383-A87D-E24E0A2C6A42
Time Awake Since Boot: 130000 seconds
Time Since Wake: 11000 seconds
System Integrity Protection: disabled
Crashed Thread: 9 RPC packet thread for client tid 002da567 (2991463)
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: EXC_I386_GPFLT
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [57486]
Then, I will attach the crashing thread log:
Thread 9 Crashed:: RPC packet thread for client tid 002da567 (2991463)
0 com.apple.LLDB.framework 0x0000000109aff3f2 clang::ASTReader::ReadSLocEntry(int) + 226
1 com.apple.LLDB.framework 0x000000010a68e7ca clang::SourceManager::getFileIDLoaded(unsigned int) const + 618
2 com.apple.LLDB.framework 0x000000010a358a24 clang::SourceManager::getDecomposedLoc(clang::SourceLocation) const + 148
3 com.apple.LLDB.framework 0x0000000109b1f3ab clang::ASTReader::ReadPragmaDiagnosticMappings(clang::DiagnosticsEngine&) + 1131
4 com.apple.LLDB.framework 0x0000000109b1bf89 clang::ASTReader::InitializeContext() + 969
5 com.apple.LLDB.framework 0x0000000109b1b039 clang::ASTReader::ReadAST(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, unsigned int, llvm::SmallVectorImpl<clang::ASTReader::ImportedSubmodule>*) + 3833
6 com.apple.LLDB.framework 0x00000001098ca8da clang::CompilerInstance::loadModule(clang::SourceLocation, llvm::ArrayRef<std::__1::pair<clang::IdentifierInfo*, clang::SourceLocation> >, clang::Module::NameVisibilityKind, bool) + 11034
7 com.apple.LLDB.framework 0x0000000107e00f47 swift::ClangImporter::Implementation::loadModuleClang(swift::SourceLoc, llvm::ArrayRef<std::__1::pair<swift::Identifier, swift::SourceLoc> >)::$_6::operator()(llvm::ArrayRef<std::__1::pair<clang::IdentifierInfo*, clang::SourceLocation> >, bool) const + 311
8 com.apple.LLDB.framework 0x0000000107e00cb5 swift::ClangImporter::Implementation::loadModuleClang(swift::SourceLoc, llvm::ArrayRef<std::__1::pair<swift::Identifier, swift::SourceLoc> >) + 869
9 com.apple.LLDB.framework 0x0000000107e01320 swift::ClangImporter::loadModule(swift::SourceLoc, llvm::ArrayRef<std::__1::pair<swift::Identifier, swift::SourceLoc> >) + 32
10 com.apple.LLDB.framework 0x0000000107d4c3f1 swift::ModuleFile::getModule(llvm::ArrayRef<swift::Identifier>, bool) + 881
11 com.apple.LLDB.framework 0x0000000107d7c1ab swift::ModuleFile::associateWithFileContext(swift::FileUnit*, swift::SourceLoc, bool) + 1627
12 com.apple.LLDB.framework 0x0000000107dd64a2 swift::SerializedModuleLoaderBase::loadAST(swift::ModuleDecl&, llvm::Optional<swift::SourceLoc>, llvm::StringRef, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >, bool, bool) + 642
13 com.apple.LLDB.framework 0x0000000107dd83d4 swift::SerializedModuleLoaderBase::loadModule(swift::SourceLoc, llvm::ArrayRef<std::__1::pair<swift::Identifier, swift::SourceLoc> >) + 452
14 com.apple.LLDB.framework 0x0000000107f09884 swift::ASTContext::getModule(llvm::ArrayRef<std::__1::pair<swift::Identifier, swift::SourceLoc> >) + 244
15 com.apple.LLDB.framework 0x0000000107d4c34c swift::ModuleFile::getModule(llvm::ArrayRef<swift::Identifier>, bool) + 716
16 com.apple.LLDB.framework 0x0000000107d7c1ab swift::ModuleFile::associateWithFileContext(swift::FileUnit*, swift::SourceLoc, bool) + 1627
17 com.apple.LLDB.framework 0x0000000107dd64a2 swift::SerializedModuleLoaderBase::loadAST(swift::ModuleDecl&, llvm::Optional<swift::SourceLoc>, llvm::StringRef, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >, bool, bool) + 642
18 com.apple.LLDB.framework 0x0000000107dd85dd swift::MemoryBufferSerializedModuleLoader::loadModule(swift::SourceLoc, llvm::ArrayRef<std::__1::pair<swift::Identifier, swift::SourceLoc> >) + 285
19 com.apple.LLDB.framework 0x0000000107f09bb5 swift::ASTContext::getModuleByName(llvm::StringRef) + 773
20 com.apple.LLDB.framework 0x0000000106edea5d lldb_private::SwiftASTContext::GetModule(lldb_private::SourceModule const&, lldb_private::Status&) + 749
21 com.apple.LLDB.framework 0x0000000106eed644 LoadOneModule(lldb_private::SourceModule const&, lldb_private::SwiftASTContext&, std::__1::weak_ptr<lldb_private::StackFrame>&, llvm::SmallVectorImpl<swift::SourceFile::ImportedModuleDesc>&, lldb_private::Status&) + 516
22 com.apple.LLDB.framework 0x0000000106eedf79 lldb_private::SwiftASTContext::PerformAutoImport(lldb_private::SwiftASTContext&, lldb_private::SymbolContext&, std::__1::weak_ptr<lldb_private::StackFrame>&, swift::SourceFile*, lldb_private::Status&) + 281
23 com.apple.LLDB.framework 0x0000000106f4f13b lldb_private::Target::GetScratchSwiftASTContext(lldb_private::Status&, lldb_private::ExecutionContextScope&, bool) + 1291
24 com.apple.LLDB.framework 0x0000000106dc233c lldb_private::ValueObject::GetScratchSwiftASTContext() + 108
25 com.apple.LLDB.framework 0x0000000106f88744 lldb_private::SwiftLanguageRuntime::GetDynamicTypeAndAddress(lldb_private::ValueObject&, lldb::DynamicValueType, lldb_private::TypeAndOrName&, lldb_private::Address&, lldb_private::Value::ValueType&) + 148
26 com.apple.LLDB.framework 0x000000010711b8ff lldb_private::SwiftLanguage::GetPossibleFormattersMatches(lldb_private::ValueObject&, lldb::DynamicValueType) + 303
27 com.apple.LLDB.framework 0x0000000106dd5654 lldb_private::FormatManager::GetPossibleMatches(lldb_private::ValueObject&, lldb_private::CompilerType, unsigned int, lldb::DynamicValueType, std::__1::vector<lldb_private::FormattersMatchCandidate, std::__1::allocator<lldb_private::FormattersMatchCandidate> >&, bool, bool, bool, bool) + 1492
28 com.apple.LLDB.framework 0x0000000106dd4a85 lldb_private::FormattersMatchData::GetMatchesVector() + 117
29 com.apple.LLDB.framework 0x0000000106de6a08 void lldb_private::TypeCategoryMap::Get<std::__1::shared_ptr<lldb_private::TypeSummaryImpl> >(lldb_private::FormattersMatchData&, std::__1::shared_ptr<lldb_private::TypeSummaryImpl>&) + 392
30 com.apple.LLDB.framework 0x0000000106dd9420 std::__1::shared_ptr<lldb_private::TypeSummaryImpl> lldb_private::FormatManager::GetCached<std::__1::shared_ptr<lldb_private::TypeSummaryImpl> >(lldb_private::FormattersMatchData&) + 448
31 com.apple.LLDB.framework 0x0000000106dd739c std::__1::shared_ptr<lldb_private::TypeSummaryImpl> lldb_private::FormatManager::Get<std::__1::shared_ptr<lldb_private::TypeSummaryImpl> >(lldb_private::ValueObject&, lldb::DynamicValueType) + 60
32 com.apple.LLDB.framework 0x0000000106dd734e lldb_private::FormatManager::GetSummaryFormat(lldb_private::ValueObject&, lldb::DynamicValueType) + 14
33 com.apple.LLDB.framework 0x0000000106dd18c3 lldb_private::DataVisualization::GetSummaryFormat(lldb_private::ValueObject&, lldb::DynamicValueType) + 51
34 com.apple.LLDB.framework 0x0000000106dbd827 lldb_private::ValueObject::UpdateFormatsIfNeeded() + 439
35 com.apple.LLDB.framework 0x0000000106dc358e lldb_private::ValueObject::CalculateSyntheticValue(bool) + 94
36 com.apple.LLDB.framework 0x0000000106dc3842 lldb_private::ValueObject::GetSyntheticValue(bool) + 34
37 com.apple.LLDB.framework 0x0000000106d2cd5d ValueImpl::GetSP(lldb_private::ProcessRunLock::ProcessRunLocker&, std::__1::unique_lock<std::__1::recursive_mutex>&, lldb_private::Status&) + 557
38 com.apple.LLDB.framework 0x0000000106d1b33b lldb::SBValue::GetSP(ValueLocker&) const + 139
39 com.apple.LLDB.framework 0x0000000106d1bf4b lldb::SBValue::GetValueType() + 187
40 lldb-rpc-server 0x00000001068a39e4 rpc_server::_ZN4lldb7SBValue12GetValueTypeEv::HandleRPCCall(rpc_common::Connection&, rpc_common::RPCStream&, rpc_common::RPCStream&) + 36
41 lldb-rpc-server 0x00000001068a6ce1 rpc_common::Connection::PrivateHandleRPCPacket(rpc_common::RPCPacket&, rpc_common::RPCPacket&, bool&) + 1553
42 lldb-rpc-server 0x00000001068aa36d Packets::ProcessPackets() + 1005
43 lldb-rpc-server 0x00000001068a9e96 Packets::ReadThread() + 214
44 lldb-rpc-server 0x00000001068a9db9 Packets::RunReadThread(void*) + 9
45 libsystem_pthread.dylib 0x00007fff72ea4109 _pthread_start + 148
46 libsystem_pthread.dylib 0x00007fff72e9fb8b thread_start + 15
Only in a few cases, I can temporally solve the problem by deleting the app from the simulator / device and cleaning the project in Xcode.
I have tried the following:
I completely removed all Cocoapods related stuff from the project, and replaced Cocoapods dependencies with mostly Carthage, and a few libraries added by and with their entire source. The problem persists.
After Cocoapods deintegrate, I tried to remove all remaining entries referencing Cocoapods from the build settings.
The problem persists and it must be something project specific since I don't experience it on any other project. I even tried to attach hopper disassembler to the debug server to better follow the crash, but for the moment I have not found the root cause of the problem. Any help will be greatly appreciated.
EDIT:
After countless hours, I could at least determine a further important detail: The crash occurs only when I set the configuration to Debug, it never happens in Release. I am now changing the different build settings one by one. This is a very lengthy process because the issue is consistent only 80% of the times, meaning that a bad configuration might temporarily work. The only certainty is that it has never occurred in Release mode. Thanks for your interest and help.

This isn’t a problem with breakpoints directly, they are just the first thing that causes lldb to read the debug information for your project. The crash is coming when lldb tries to reconstruct a clang module needed to bind some ObjC classes into the swift module info. There’s not much more to be gathered from the crash report. But the lldb “types” log will show what lldb was working on at the time of the crash. To generate that log, put the command:
log enable -f /tmp/lldb-log.txt lldb types
In your ~/.lldbinit, and redo your debug session. When it crashes, file a bug with the log and the crash with http://bugs.swift.org.

It may help to unset all project breakpoints, as well as unsetting all filters and actions to thrown errors and clean up, re-compile at least once before you set new breakpoints in an updated Xcode version.
Also check if you dont have exidently set breakpoint follow-ship in the debug icons row below your source while running. Uncheck at least once and try again.
Exact same error was driving me crazy unless i did the explained steps.
now i know where changes in Xcode's breakpoint management can lead to after an proper update.

Related

Crash on Apple Review - iOS

I had submit application several time to review.
But every time Apple tester said the application crash.
I test on my application in environment IPV4.
Totally no crash, but Apple tester said crash when launch as below.
It's the problem about IPV6? I can't test in environment IPV6.
Thank you for your resubmission. We were unable to review your app as
it crashed on launch. We have attached detailed crash logs to help
troubleshoot this issue.
Steps to reproduce:
1) Start the app on a device 2) the app attempts to launch and crashes
Next Steps
Please revise your app and test it on a device while connected to an
IPv6 network (all apps must support IPv6) to ensure it will launch
without crashing.
Date/Time: 2016-10-25 13:02:41.6759 -0700
Launch Time: 2016-10-25 13:02:40.6012 -0700
OS Version: iPhone OS 10.0.2 (14A456)
Report Version: 104
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000010014c3fc
Termination Signal: Trace/BPT trap: 5
Termination Reason: Namespace SIGNAL, Code 0x5
Terminating Process: exc handler [0]
Triggered by Thread: 0
Filtered syslog:
None found
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 BBBApps 0x000000010014c3fc 0x1000e4000 + 427004
1 BBBApps 0x0000000100149420 0x1000e4000 + 414752
2 UIKit 0x000000018d0a342c 0x18d021000 + 533548
3 UIKit 0x000000018d2b3b70 0x18d021000 + 2698096
4 UIKit 0x000000018d2b98e0 0x18d021000 + 2722016
5 UIKit 0x000000018d2ce080 0x18d021000 + 2805888
6 UIKit 0x000000018d2b68c4 0x18d021000 + 2709700
7 FrontBoardServices 0x0000000188d898bc 0x188d4f000 + 239804
8 FrontBoardServices 0x0000000188d89728 0x188d4f000 + 239400
9 FrontBoardServices 0x0000000188d89ad0 0x188d4f000 + 240336
10 CoreFoundation 0x0000000187196278 0x1870b9000 + 905848
11 CoreFoundation 0x0000000187195bc0 0x1870b9000 + 904128
12 CoreFoundation 0x00000001871937c0 0x1870b9000 + 894912
13 CoreFoundation 0x00000001870c2048 0x1870b9000 + 36936
14 UIKit 0x000000018d09c5dc 0x18d021000 + 505308
15 UIKit 0x000000018d097360 0x18d021000 + 484192
16 BBBApps 0x00000001000ea5e4 0x1000e4000 + 26084
17 libdyld.dylib 0x00000001860a45b8 0x1860a0000 + 17848
Here the crash report from Crashlytics:
#0. Crashed: com.apple.main-thread
0 BBBApps 0x10009183c specialized AppDelegate.application(UIApplication, didFinishLaunchingWithOptions : [NSObject : AnyObject]?) -> Bool (AppDelegate.swift:39)
1 BBBApps 0x10008ecbc #objc AppDelegate.application(UIApplication, didFinishLaunchingWithOptions : [NSObject : AnyObject]?) -> Bool (AppDelegate.swift)
2 UIKit 0x19235b42c -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 400
3 UIKit 0x19256bb70 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3524
4 UIKit 0x1925718e0 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1656
5 UIKit 0x192586080 __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke.3134 + 48
6 UIKit 0x19256e8c4 -[UIApplication workspaceDidEndTransaction:] + 168
7 FrontBoardServices 0x18e0418bc __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36
8 FrontBoardServices 0x18e041728 -[FBSSerialQueue _performNext] + 176
9 FrontBoardServices 0x18e041ad0 -[FBSSerialQueue _performNextFromRunLoopSource] + 56
10 CoreFoundation 0x18c44e278 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
11 CoreFoundation 0x18c44dbc0 __CFRunLoopDoSources0 + 524
12 CoreFoundation 0x18c44b7c0 __CFRunLoopRun + 804
13 CoreFoundation 0x18c37a048 CFRunLoopRunSpecific + 444
14 UIKit 0x1923545dc -[UIApplication _run] + 608
15 UIKit 0x19234f360 UIApplicationMain + 208
16 BBBApps 0x10008f9d4 main (AppDelegate.swift:17)
17 libdispatch.dylib 0x18b35c5b8 (Missing)
You can use your mac to share an IPV6 network.
Open System Preferences
Option-click on the Sharing preference pane
Option-click on Internet Sharing
A Create IPv6 Only Network checkbox will appear
Check Create IPv6 Only Network (this may also be labeled Create NAT64 Network)
Select the interface to share out over (usually this will be WiFi, to allow iOS devices to connect.)
Check the box to start internet sharing
Source
Trace/BPT trap 5 is usually related to the missing shared libraries (.dylib files).
In your case the following line suggests you which one is missing:
17 libdispatch.dylib 0x18b35c5b8 (Missing)
Make sure your app has proper access to it (compiled with it) or you have included it correctly along with your app.
You can use otool (-L) command-line tool to check more details about missing dependencies.

QuartzCore - Crash in iOS8

After releasing the new version of my iOS application , I am getting the following crash frequently.
Crashed: WebThread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x80000012
This is one of the irritating crashes where stack trace didn't give any clues related to where its crashing or what causes the crash. One major thing is that this crash is only there in iOS8. Please find below the stack trace :
0 libobjc.A.dylib objc_msgSend + 5 release
1 CoreFoundation CFRelease + 600
2 QuartzCore CA::release_objects(X::List<void const*>*) + 16
3 QuartzCore -[CAAnimation dealloc] + 54
4 libobjc.A.dylib objc_object::sidetable_release(bool) + 166
5 libobjc.A.dylib (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 404
6 CoreFoundation _CFAutoreleasePoolPop + 16
7 Foundation -[NSAutoreleasePool drain] + 122
8 CFNetwork AutoAutoreleasePool::~AutoAutoreleasePool() + 24
9 CFNetwork ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 166
10 CFNetwork RunloopBlockContext::_invoke_block(void const*, void*) + 60
11 CoreFoundation CFArrayApplyFunction + 36
12 CFNetwork RunloopBlockContext::perform() + 182
13 CFNetwork MultiplexerSource::perform() + 216
14 CFNetwork MultiplexerSource::_perform(void*) + 48
Any hint would be greatly appreciated. Thanks in advance.
Most of the time, EXC_BAD_ACCESS results from sending a message to an object that has already been released. While this is harder-than-before to do under ARC, it is still possible.
The KERN_INVALID_ADDRESS part just tells you that the memory you tried to access isn't part of your app's memory space, which lends credence to the released-object-handle hypothesis.
To debug previously released objects (called "Zombie" objects), turn on NSZombies in the debugger. In XCode 7...
CMD-SHIFT- to bring up manage schemes.
Select your scheme
Select Diagnostics
Check Enable Zombie Objects
NOTE: you only want to do this on debug builds, as zombie-objects take-up a ton of memory and hurt performance overall. Still, it's an excellent debugging tool.

Cocos2d : crash with KERN_INVALID_ADDRESS in CoreFoundation

I got a crash in my app with the following crash report:
Incident Identifier: 16EF7339-4E8F-4083-9E63-9404BC0A5A3A
CrashReporter Key: 174928c573ccbe3e1a44d9bd43a33374a9833ab5
Hardware Model: iPad3,1
Process: Killer [2930]
Path: /var/mobile/Applications/81EFF1B0-3DE0-4874-B7AA-0ACA60CBB3C2/Killer.app/Killer
Identifier: Killer
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-01-15 20:05:27.000 +0100
OS Version: iOS 6.0.1 (10A523)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x41d58a76
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x32e8e564 _cache_getImp + 4
1 libobjc.A.dylib 0x32e8ef84 lookUpMethod + 24
2 libobjc.A.dylib 0x32e901d2 class_respondsToSelector + 26
3 CoreFoundation 0x38bac600 objectIsKindOfClass + 32
4 CoreFoundation 0x38bac358 __handleUncaughtException + 64
5 libobjc.A.dylib 0x32e93a62 _ZL15_objc_terminatev + 126
6 libc++abi.dylib 0x33844078 _ZL19safe_handler_callerPFvvE + 76
7 libc++abi.dylib 0x33844110 std::terminate() + 16
8 libc++abi.dylib 0x33845594 __cxa_rethrow + 84
9 libobjc.A.dylib 0x32e939cc objc_exception_rethrow + 8
10 CoreFoundation 0x38af2f1c CFRunLoopRunSpecific + 452
11 CoreFoundation 0x38af2d44 CFRunLoopRunInMode + 100
12 GraphicsServices 0x370a32e6 GSEventRunModal + 70
13 UIKit 0x3a2c02f4 UIApplicationMain + 1116
14 Killer 0x00063e38 main (main.m:14)
15 Killer 0x000622bc start + 36
I really have no idea about how to debug this. Should i suspect a crash in a library called by my app ? Am i responsible for this crash, where to look at then ?
Of course the line 14 in Killer main is:
int retVal = UIApplicationMain(argc, argv, nil, #"AppDelegate");
thank you very much guys
The crash log gives very little information. Anyway, I am puzzled by that:
objc_exception_rethrow
__cxa_rethrow
so it seems that there is some C++ exception handling going on. (Specifically, while handling an exception, another exception is thrown. This will cause terminate to be executed).
This might give you a hint. Are you using any C++ library?
You could also try and set NSSetUncaughtExceptionHandler but I suspect you are not able to reproduce the issue...
(Of course, it could well be some iOS SDK framework written in C++ to cause the exception, but just to check)...

iOS app raising 0x8badf00d only on some random devices [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
I get error 0x8badf00d in iPhone app, and is not the usual suspect
This is my first post here, so if you think I am doing something wrong, please tell me ;D
First of all, I've been doing research with no success, and I can't figure out what's happening.
I'm developing a universal app and it has worked well on every device I used to test it (iPhone 3GS, iPhone 4, iPhone 4S, iPad 2 and iPod Touch 4G). But some customers have reported the app closes at launch (also in different models and iOS versions, so there seems there isn't a common factor. I mean, the app does not fail only in a specific device model/iOS version).
One of them was so kind that he gave me the crash reporter. It appeared to be a common 0x8badf00d problem (I'll have to optimize the startup somehow so that the didFinishLaunchingWithOptions returns as fast as possible, I know). Restarted the device, closed the other apps in background/suspended and then it worked. Here it is that crash reporter (I don't know why it hasn't been symbolicated with the same degree as the second crash reporter posted below. I imported it on the Xcode organizer and I have the necessary files to symbolicate):
Date/Time: 2012-05-15 00:42:19.074 +0200
OS Version: iPhone OS 5.0.1 (9A405)
Report Version: 104
Exception Type: 00000020
Exception Codes: 0x8badf00d
Highlighted Thread: 0
Application Specific Information:
com.myApp.free failed to resume in time
Elapsed total CPU time (seconds): 2.400 (user 2.400, system 0.000), 12% CPU
Elapsed application CPU time (seconds): 0.073, 0% CPU
Last Exception Backtrace:
0 0x3293a8bf + 848537791
1 0x356021e5 + 895492581
2 0x32883b6b + 847788907
3 myApp 0x0000a82d -[PhoneViewController requestFinished:] (PhoneViewController.m:1679)
4 0x3289922b + 847876651
5 myApp 0x0002a0b1 -[ASIHTTPRequest reportFinished] (ASIHTTPRequest.m:2028)
6 0x3289922b + 847876651
7 0x31fc2757 + 838608727
8 0x3290eb03 + 848358147
9 0x3290e365 + 848356197
10 0x3290d075 + 848351349
11 0x328904dd + 847840477
12 0x328903a5 + 847840165
13 0x335a8fcd + 861573069
14 0x36953743 + 915748675
15 myApp 0x000033af main (main.m:27)
16 myApp 0x00003368 0x1000 + 9064
Thread 0:
0 ??? 0x3465c32c 0 + 879084332
1 ??? 0x35e77fe6 0 + 904364006
2 ??? 0x336cbf66 0 + 862764902
3 ??? 0x336c9348 0 + 862753608
4 ??? 0x356022de 0 + 895492830
5 ??? 0x336c93c0 0 + 862753728
6 ??? 0x336c944c 0 + 862753868
7 ??? 0x336ca820 0 + 862758944
8 ??? 0x35602230 0 + 895492656
9 ??? 0x32890540 0 + 847840576
10 ??? 0x328903a0 0 + 847840160
11 ??? 0x335a8fc8 0 + 861573064
12 ??? 0x3695373e 0 + 915748670
13 myApp 0x000033aa main (main.m:27)
14 myApp 0x00003364 0x1000 + 9060
Later one of my mates here brought an iPhone 4 in which the app didn't work, apparently because of the same problem. The crash reporter shown 0x8badf00d as well, but the previous rebooting 'solution' didn't work. Besides, there was a difference between these two crashes: The first one crashed in a few seconds while the splash image was showing up, while the second one took much more time (I did several tries and it remained slower than the first one). I plugged the iPhone to see what was happening in the Xcode console (posted some lines after the crash reporter). Here is the crash reporter...
Date/Time: 2012-05-15 11:57:30.227 +0200
OS Version: iPhone OS 5.1 (9B176)
Report Version: 104
Exception Type: 00000020
Exception Codes: 0x8badf00d
Highlighted Thread: 0
Application Specific Information:
com.myApp.free failed to launch in time
Elapsed total CPU time (seconds): 12.410 (user 12.410, system 0.000), 63% CPU
Elapsed application CPU time (seconds): 7.302, 37% CPU
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x35069dcc __open + 8
1 DataDetectorsCore 0x30c8ca60 DDmmap + 8
2 DataDetectorsCore 0x30c860ea DDCacheCreateFromFileAtPathWithExtraChecks + 14
3 DataDetectorsCore 0x30c860b8 DDCacheCreateFromSystemCache + 1252
4 DataDetectorsCore 0x30c85a16 DDScannerCreateWithType + 14
5 DataDetectorsCore 0x30c85aaa DDScannerCreate + 6
6 Foundation 0x3118cac8 -[NSDataDetector initWithTypes:error:] + 960
7 Foundation 0x3118c6ec +[NSDataDetector dataDetectorWithTypes:error:] + 44
8 myApp 0x00004c0c -[PhoneViewController getTelfNumbers] (PhoneViewController.m:213)
9 myApp 0x00007062 -[PhoneViewController viewDidLoad] (PhoneViewController.m:864)
10 UIKit 0x32479e3e -[UIViewController awakeFromNib] + 106
11 UIKit 0x3250c2ec -[UINib instantiateWithOwner:options:] + 1236
12 UIKit 0x3247a4ac -[UIViewController _loadViewFromNibNamed:bundle:] + 240
13 UIKit 0x32357dfa -[UIViewController loadView] + 82
14 UIKit 0x322cddb8 -[UIViewController view] + 44
15 UIKit 0x3232d7de -[UITabBarController transitionFromViewController:toViewController:transition:shouldSetSelected:] + 86
16 UIKit 0x3232d77c -[UITabBarController transitionFromViewController:toViewController:] + 24
17 UIKit 0x3232d0b6 -[UITabBarController _setSelectedViewController:] + 294
18 UIKit 0x3232cdea -[UITabBarController setSelectedIndex:] + 234
19 myApp 0x00003f1e -[AppDelegate application:didFinishLaunchingWithOptions:] (AppDelegate.m:294)
20 UIKit 0x322cce4c -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1176
21 UIKit 0x322c697e -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 402
22 UIKit 0x32294c64 -[UIApplication handleEvent:withNewEvent:] + 1004
23 UIKit 0x32294708 -[UIApplication sendEvent:] + 48
24 UIKit 0x322940dc _UIApplicationHandleEvent + 5820
25 GraphicsServices 0x364c9224 PurpleEventCallback + 876
26 CoreFoundation 0x3524a51c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
27 CoreFoundation 0x3524a4be __CFRunLoopDoSource1 + 134
28 CoreFoundation 0x3524930c __CFRunLoopRun + 1364
29 CoreFoundation 0x351cc49e CFRunLoopRunSpecific + 294
30 CoreFoundation 0x351cc366 CFRunLoopRunInMode + 98
31 UIKit 0x322c5a0c -[UIApplication _run] + 544
32 UIKit 0x322c2e76 UIApplicationMain + 1074
33 myApp 0x000033a8 main (main.m:27)
34 myApp 0x00003360 0x1000 + 9056
...and here the lines thrown on the console:
2012-05-16 10:52:26.440 myApp[315:707] DDCache: mmap failed with error 12
2012-05-16 10:52:26.444 myApp[315:707] DataDetectorsCore: mmapping the cache file failed
2012-05-16 10:52:26.466 myApp[315:707] DDCache: mmap failed with error 12
2012-05-16 10:52:26.470 myApp[315:707] DataDetectorsCore: mmapping the cache file failed
2012-05-16 10:52:26.485 myApp[315:707] DDCache: mmap failed with error 12
2012-05-16 10:52:26.490 myApp[315:707] DataDetectorsCore: mmapping the cache file failed
2012-05-16 10:52:26.509 myApp[315:707] DDCache: mmap failed with error 12
2012-05-16 10:52:26.514 myApp[315:707] DataDetectorsCore: mmapping the cache file failed
2012-05-16 10:52:26.529 myApp[315:707] DDCache: mmap failed with error 12
2012-05-16 10:52:26.533 myApp[315:707] DataDetectorsCore: mmapping the cache file failed
2012-05-16 10:52:26.548 myApp[315:707] DDCache: mmap failed with error 12
[...]
(always the same two lines)
I have no clue of what to do now. The major part of the devices launched the app with no problems, another part of devices had the 'ate bad food' which disappeared after rebooting/closing some apps, and a few (by now, a customer's one and one of our devices) can't launch it even rebooting/closing apps.
As I said previously, there seems not to be the case of a iOS specific device/model nor iOS version. What's more weird is that Apple validated my app and they didn't reported any crash or bug. Well, in fact they did, they rejected the first binary I uploaded because I had no Info.plist, so it worked when debugging but it didn't when running it as a final app. That was fixed, but I let you know it just in case is related.
Any idea?
Thank you in advance!
PS: I'm not a native English speaker, so if there is something weird that you don't understand don't hesitate to ask and I'll try to explain it again with other words.
A possible reason for differences could be the amount of data you're working with.
As you already stated, you should probably optimized your startup. You are loading telephone numbers, right? If this might take some time, try to start and display the PhoneViewController with an activity indicator or similar, then start a thread to asynchronous load the data and update the view when done.

App crashes when launching after updating app via HockeyApp

Here's the CrashReporter information:
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x347c2848 __kill + 8
1 [My Application] 0x0002ec44 fatal_signal_handler (PLCrashSignalHandler.m:98)
2 libsystem_c.dylib 0x37518522 _sigtramp + 42
3 [My Application] 0x0003040a uncaught_exception_handler (PLCrashReporter.m:136)
4 CoreFoundation 0x37663984 __handleUncaughtException + 68
5 libobjc.A.dylib 0x334082ca _objc_terminate + 122
6 libc++abi.dylib 0x37f473be safe_handler_caller(void (*)()) + 70
7 libc++abi.dylib 0x37f4744a std::terminate() + 14
8 libc++abi.dylib 0x37f4881e __cxa_rethrow + 82
9 libobjc.A.dylib 0x3340822e objc_exception_rethrow + 6
10 CoreFoundation 0x375b9556 CFRunLoopRunSpecific + 398
11 CoreFoundation 0x375b93b6 CFRunLoopRunInMode + 98
12 UIKit 0x3354dda4 -[UIApplication _run] + 544
13 UIKit 0x3354b05a UIApplicationMain + 1074
14 [My Application] 0x00002a9a main (main.m:54)
15 [My Application] 0x00002a58 0x1000 + 6744
If I delete the app and then download the updated version from scratch it works fine...
This is caused by an Objective-C exception being thrown, caught by the runloop, and re-thrown, resulting in the backtrace being lost.
To debug this without changes in PLCrashReporter/HockeyApp, you could register your own exception handler via NSSetUncaughtExceptionHandler(), and log the provided stack trace via (see [-NSException callStackReturnAddresses]). You'll need to symbolicate the results manually.
As a more general solution for this class of bug, you may be able to get the original exception backtrace by using PLCrashReporter trunk, which will record the exceptions' original backtrace separately in the crash report.
However, the HockeyApp client would need to be minimally modified to support recording the extra stack trace. The text formatter included with PLCrashReporter can be used as an example -- it will format this additional stack trace as an additional named pseudo-thread.