FBSession __destroy_helper_block_ crash - iphone

I am getting a fairly constant stream of facebook related crashes in an app with 150k users. 2-3% of users who try to sync to facebook seem to be getting this crash. It looks like maybe the block is released 2x?, some key info from the crash report is posted below. Any ideas where to approach this from since its in the facebook SDK's code?
__destroy_helper_block_
in FBSession.m, line 1153
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0xc
Crashed Thread: 0
Thread 0 Crashed:
0 libobjc.A.dylib 0x3b43fb26 _objc_msgSend + 6
1 libobjc.A.dylib 0x3b44fb0b objc_object::sidetable_release(bool) + 175
2 Memoir 0x0010719b __destroy_helper_block_ (FBSession.m:1153)
3 libsystem_blocks.dylib 0x3b969ac5 __Block_release + 217
4 libsystem_blocks.dylib 0x3b969ac5 __Block_release + 217
5 libdispatch.dylib 0x3b927d67 _dispatch_client_callout + 23
6 libdispatch.dylib 0x3b92e7c1 _dispatch_main_queue_callback_4CF$VARIANT$mp + 269
7 CoreFoundation 0x31038821 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
8 CoreFoundation 0x310370f5 __CFRunLoopRun + 1301
9 CoreFoundation 0x30fa1ce7 _CFRunLoopRunSpecific + 523
10 CoreFoundation 0x30fa1acb _CFRunLoopRunInMode + 107
11 GraphicsServices 0x35cc2283 _GSEventRunModal + 139
12 UIKit 0x33843a41 _UIApplicationMain + 1137
13 Memoir 0x00096353 main (main.m:20)

This ended up being an internal bug in the Facebook SDK. An update eventually fixed this.

Related

iphone - how to understand crash logs on device

I have this logs of a crash that seems to be connected to a mkmapview and the auto lock of my device (1 min):
T
hread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x3b6bd350 __pthread_kill + 8
1 libsystem_c.dylib 0x3b63411e pthread_kill + 54
2 libsystem_c.dylib 0x3b67096e abort + 90
3 libc++abi.dylib 0x3ac0ed4a abort_message + 70
4 libc++abi.dylib 0x3ac0bff4 _ZL17default_terminatev + 20
5 libobjc.A.dylib 0x3b1bfa74 _ZL15_objc_terminatev + 144
6 libc++abi.dylib 0x3ac0c078 _ZL19safe_handler_callerPFvvE + 76
7 libc++abi.dylib 0x3ac0c110 std::terminate() + 16
8 libc++abi.dylib 0x3ac0d594 __cxa_rethrow + 84
9 libobjc.A.dylib 0x3b1bf9cc objc_exception_rethrow + 8
10 CoreFoundation 0x33460f1c CFRunLoopRunSpecific + 452
11 CoreFoundation 0x33460d44 CFRunLoopRunInMode + 100
12 GraphicsServices 0x370242e6 GSEventRunModal + 70
13 UIKit 0x353762fc UIApplicationMain + 1116
14 FT105RF 0x0007cbb8 main (main.m:16)
15 libdyld.dylib 0x3b5f6b1c start + 0
Can someone helps me to understand which lines of logs can be helpful for me?
Thank you
you may find some useful answers here:
XCode 4 - IPhone Dev - Good Debug Tutorial
reading the lines you show is not the easiest and most convenient way of debugging, so these tutorials might help you doing it another way.
hope i helped

Application crash on login in ios Facebook SDK 3.0

My app uses Facebook Authentication. It works fine if there is no Facebook app installed on device and also works for devices having Facebook app if user in not logged in to Facebook app. But if the user is already logged in to the Facebook app my app shows login page for two or three seconds and crashes by saying
-[SBJsonParser errorTrace]: unrecognized selector sent to instance 0x48ad90
the crash log shows Exception Type: EXC_CRASH (SIGTRAP)
Any body please help?
Stack Trace: (
0 CoreFoundation 0x37aae8d7 __exceptionPreprocess + 186
1 libobjc.A.dylib 0x315941e5 objc_exception_throw + 32
2 CoreFoundation 0x37ab1acb -[NSObject doesNotRecognizeSelector:] + 174
3 CoreFoundation 0x37ab0945 ___forwarding___ + 300
4 CoreFoundation 0x37a0b680 _CF_forwarding_prep_0 + 48
5 MyFbApp 0x0014bf83 -[SBJSON objectWithString:allowScalar:error:] + 118
6 MyFbApp 0x0014bffb -[SBJSON objectWithString:error:] + 26
7 MyFbApp 0x0015030b -[FBRequestConnection parseJSONOrOtherwise:error:] + 94
8 MyFbApp 0x0014ff19 -[FBRequestConnection parseJSONResponse:error:statusCode:] + 100
9 MyFbApp 0x0014fcbb -[FBRequestConnection completeWithResponse:data:orError:] + 566
10 MyFbApp 0x0014e08f __68-[FBRequestConnection startWithCacheIdentity:skipRoundtripIfCached:]_block_invoke_0 + 174
11 MyFbApp 0x00151acf -[FBURLConnection invokeHandler:error:response:responseData:] + 482
12 MyFbApp 0x0015202b -[FBURLConnection connectionDidFinishLoading:] + 298
13 Foundation 0x31a0ac39 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 16
14 Foundation 0x319626e9 -[NSURLConnectionInternalConnection invokeForDelegate:] + 28
15 Foundation 0x319626b3 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 198
16 Foundation 0x319625d5 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 60
17 CFNetwork 0x36f8f8a5 _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 192
18 CFNetwork 0x36f84545 _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 424
19 CFNetwork 0x36f84243 _ZN19URLConnectionClient13processEventsEv + 106
20 CFNetwork 0x36f84179 _ZN17MultiplexerSource7performEv + 156
21 CoreFoundation 0x37a82b03 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
22 CoreFoundation 0x37a822cf __CFRunLoopDoSources0 + 214
23 CoreFoundation 0x37a81075 __CFRunLoopRun + 652
24 CoreFoundation 0x37a044dd CFRunLoopRunSpecific + 300
25 CoreFoundation 0x37a043a5 CFRunLoopRunInMode + 104
26 GraphicsServices 0x37582fcd GSEventRunModal + 156
27 UIKit 0x34e94743 UIApplicationMain + 1090
28 MyFbApp 0x0007512d main + 236
29 MyFbApp 0x0007503c start + 40
)
At last I fixed my problem by adding
-(id) errorTrace{
return [NSArray arrayWithObjects:#"error1", nil];
}
in SBJsonParser. I dont know how it worked.
Thank God>>>>>>>>>>
For further reference http://developers.facebook.com/bugs/202230616574138/
I'm not familiar with Facebook Authentication but two things can happen here:
either you sent an errorTrace: message to a deallocated object that has been replaced in memory by a SBJsonParser object.
or you sent an invalid message to your SBJsonParser object
I'd suggest 2 things:
Add the NSZombieEnabled flag to see if you deallocated an object by error
Post the code where you're using SBJsonParser, hoping it is not created inside an external source code or library

SIGABRT crash on __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__

I have a SIGABRT crash log that is unfamiliar to me. Looks like it's throwing an exception, but I can't see where the exception is listed or the root cause of it.
This is running on a customer's iPad 2 / iOS 4.3.
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x33ed3a1c __pthread_kill + 8
1 libsystem_c.dylib 0x354d83b4 pthread_kill + 52
2 libsystem_c.dylib 0x354d0bf8 abort + 72
3 libstdc++.6.dylib 0x33671a64 __gnu_cxx::__verbose_terminate_handler() + 376
4 libobjc.A.dylib 0x3636906c _objc_terminate + 104
5 libstdc++.6.dylib 0x3366fe36 __cxxabiv1::__terminate(void (*)()) + 46
6 libstdc++.6.dylib 0x3366fe8a std::terminate() + 10
7 libstdc++.6.dylib 0x3366ff5a __cxa_throw + 78
8 libobjc.A.dylib 0x36367c84 objc_exception_throw + 64
9 Foundation 0x33f69924 __NSThreadPerformPerform + 648
10 CoreFoundation 0x33e4ba72 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
11 CoreFoundation 0x33e4d758 __CFRunLoopDoSources0 + 376
12 CoreFoundation 0x33e4e4e4 __CFRunLoopRun + 224
13 CoreFoundation 0x33ddeebc CFRunLoopRunSpecific + 224
14 CoreFoundation 0x33ddedc4 CFRunLoopRunInMode + 52
15 GraphicsServices 0x33544418 GSEventRunModal + 108
16 GraphicsServices 0x335444c4 GSEventRun + 56
17 UIKit 0x34416d62 -[UIApplication _run] + 398
18 UIKit 0x34414800 UIApplicationMain + 664
19 MyApp 0x000190c4 main (main.m:14)
20 MyApp 0x0001907c 0x18000 + 4220
Where would I start looking to diagnose this?
The program should print information about the exception to the device console (viewable in the Xcode organizer when the device is connected). It would be very, very helpful to see this information.
_NSThreadPerformPerform is used by the performSelector... family of methods. So look at your use of those methods. In particular, figure out if it's possible that you're asking an object to perform a selector that it doesn't support. That would throw an exception.

Crash on [NSURLConnection releaseDelegate] in a function without NSURLConnections, how do I culprit?

Hullo,
I am experimenting a very vicious crash that shows up in the following way in the device logs:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x50000008
Crashed Thread: 0`
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x33b24c98 objc_msgSend + 16
1 Foundation 0x3429465a _NSURLConnectionReleaseClient + 30
2 CFNetwork 0x355ac608 ClientContextHolder<CFURLConnectionClient_V4>::forget() + 20
3 CFNetwork 0x355ac5ea URLConnectionClient::releaseClientLocked() + 34
4 CFNetwork 0x355a0e9a URLConnectionClient::processEvents() + 170
5 CFNetwork 0x355a0de2 URLConnection::multiplexerClientPerform(RunLoopMultiplexer*) + 30
6 CFNetwork 0x355a0d54 MultiplexerSource::perform() + 120
7 CFNetwork 0x355a0cd2 MultiplexerSource::_perform(void*) + 2
8 CoreFoundation 0x3039ca72 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
9 CoreFoundation 0x3039e758 __CFRunLoopDoSources0 + 376
10 CoreFoundation 0x3039f4e4 __CFRunLoopRun + 224
11 CoreFoundation 0x3032febc CFRunLoopRunSpecific + 224
12 CoreFoundation 0x3032fdc4 CFRunLoopRunInMode + 52
13 GraphicsServices 0x35571418 GSEventRunModal + 108
14 GraphicsServices 0x355714c4 GSEventRun + 56
15 UIKit 0x358c7d62 -[UIApplication _run] + 398
16 UIKit 0x358c5800 UIApplicationMain + 664
17 inArrivo 0x000023ca main (main.m:14)
18 inArrivo 0x00002394 start + 32
After having enabled NSZombie I also have a crash on the compiler log of the following form:
2011-05-09 16:12:24.400 inArrivo[5019:707] * -[NSURLConnection releaseDelegate]: message sent to deallocated instance 0x5d61670
appearing on the app main with the last NSLog comeing from a function with no url connections. Also if I remove some pieces of very innocent code from that function, no crash occurs, and the same happens when I run the complete application on the simulator.
Could someone give me some hints about what I may do to locate the piece of code producing the crash? Normal debugging of course is of little help here.
Thanks,
Fabrizio Bartolomucci
The message indicates that the delegate for NSURLConnection was deallocated. I would suggest you check the delegate object to see if you are doing an extra release on it.

Rejected iPhone app has strange crash logs

My app was rejected from the app store due to a crash that produced the crash log below. What is even more strange than the crash is that the steps given to reproduce it don't happen to me or any of 10+ beta testers (on differing iOS devices). Can anyone help explain this more? I know the exception codes are some sort of memory thing, but is that the only reason that could cause this crash log? For instance, I don't even get a line number.
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0
Thread 0 Crashed:
0 libSystem.B.dylib 0x33bd52d4 __kill + 8
1 libSystem.B.dylib 0x33bd52c4 kill + 4
2 libSystem.B.dylib 0x33bd52b6 raise + 10
3 libSystem.B.dylib 0x33be9d72 abort + 50
4 libstdc++.6.dylib 0x31bdba20 __gnu_cxx::__verbose_terminate_handler() + 376
5 libobjc.A.dylib 0x3347c594 _objc_terminate + 104
6 libstdc++.6.dylib 0x31bd9df2 __cxxabiv1::__terminate(void (*)()) + 46
7 libstdc++.6.dylib 0x31bd9e46 std::terminate() + 10
8 libstdc++.6.dylib 0x31bd9f16 __cxa_throw + 78
9 libobjc.A.dylib 0x3347b4c4 objc_exception_throw + 64
10 Foundation 0x33639910 __NSThreadPerformPerform + 648
11 CoreFoundation 0x33a767d6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
12 CoreFoundation 0x33a485b0 __CFRunLoopDoSources0 + 376
13 CoreFoundation 0x33a47e54 __CFRunLoopRun + 224
14 CoreFoundation 0x33a47c80 CFRunLoopRunSpecific + 224
15 CoreFoundation 0x33a47b88 CFRunLoopRunInMode + 52
16 GraphicsServices 0x33b0e4a4 GSEventRunModal + 108
17 GraphicsServices 0x33b0e550 GSEventRun + 56
18 UIKit 0x32099322 -[UIApplication _run] + 406
19 UIKit 0x32096e8c UIApplicationMain + 664
20 AppName 0x00002172 main (main.m:14)
21 AppName 0x0000213c start + 32
Your code threw an un-handled exception somewhere or called abort() for some reason. It looks like it's happening in a dispatch to the main thread (so somewhere you are calling something like [obj performSelectorOnMainThread:#selector(something:) withObject:nil] or something similar. My best guess is that the selector you're choosing doesn't exist on the object (either due to memory management issues, like the object was replaced by something else) or due to some dynamic assignment you're doing.