iOS App Crashes with the Latest Google AdMob iOS SDK

739 views
Skip to first unread message

kura

unread,
Jun 26, 2011, 2:49:01 AM6/26/11
to Google AdMob Ads Developers
Hello,

After I updated my AdMob library to the latest Google AdMob iOS SDK, I
started to get claim from my user saying that the app crashes when the
screen with the ads opens.

So far I couldn't have reproduce the crash by myself, but it seems
that it's a very rare case but it almost always happens for the users
who are experiencing this crash, and it happens even after the user
rebooted the App or even rebooted iOS.

I could get the crash report from one of my users as follows:

Hardware Model: iPod4,1
OS Version: iPhone OS 4.3.3 (8J2)

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0

Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x332a7a1c __pthread_kill + 8
1 libsystem_c.dylib 0x32c953b4 pthread_kill + 52
2 libsystem_c.dylib 0x32c8dbf8 abort + 72
3 libstdc++.6.dylib 0x329eca64
__gnu_cxx::__verbose_terminate_handler() + 376
4 libobjc.A.dylib 0x32da506c _objc_terminate + 104
5 libstdc++.6.dylib 0x329eae36
__cxxabiv1::__terminate(void (*)()) + 46
6 libstdc++.6.dylib 0x329eae8a std::terminate() + 10
7 libstdc++.6.dylib 0x329eaf5a __cxa_throw + 78
8 libobjc.A.dylib 0x32da3c84 objc_exception_throw +
64
9 CoreFoundation 0x3296048a +[NSException
raise:format:arguments:] + 62
10 CoreFoundation 0x329604c4 +[NSException
raise:format:] + 28
11 Foundation 0x338651f6 mutateError + 114
12 Foundation 0x33825234 -[NSCFString
appendString:] + 40
13 [MyiPhoneAppName] 0x0004dd20 -[GADObjectPrivate
buildAdUrl] (GADObjectPrivate.m:474)
14 [MyiPhoneAppName] 0x0004d788 -[GADObjectPrivate
cachedFileDownloadDidEnd:] (GADObjectPrivate.m:835)
15 [MyiPhoneAppName] 0x0003a5a8 -[GADCachedFile
connection:didReceiveResponse:] (GADCachedFile.m:200)
16 Foundation 0x3382d230 -
[NSURLConnection(NSURLConnectionReallyInternal)
sendDidReceiveResponse:] + 84
17 Foundation 0x3382d138
_NSURLConnectionDidReceiveResponse + 80
18 CFNetwork 0x35647576
URLConnectionClient::_clientSendDidReceiveResponse(_CFURLResponse*,
URLConnectionClient::ClientConnectionEventQueue*) + 46
19 CFNetwork 0x3563cfae
URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent,
XClientEventParams>*, long) + 206
20 CFNetwork 0x3563d0c6
URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent,
XClientEventParams>*, long) + 486
21 CFNetwork 0x3563ce30
URLConnectionClient::processEvents() + 64
22 CFNetwork 0x3563cde2
URLConnection::multiplexerClientPerform(RunLoopMultiplexer*) + 30
23 CFNetwork 0x3563cd54
MultiplexerSource::perform() + 120
24 CFNetwork 0x3563ccd2
MultiplexerSource::_perform(void*) + 2
25 CoreFoundation 0x32937a72
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
26 CoreFoundation 0x32939758 __CFRunLoopDoSources0 +
376
27 CoreFoundation 0x3293a4e4 __CFRunLoopRun + 224
28 CoreFoundation 0x328caebc CFRunLoopRunSpecific +
224
29 CoreFoundation 0x328cadc4 CFRunLoopRunInMode + 52
30 GraphicsServices 0x33433418 GSEventRunModal + 108
31 GraphicsServices 0x334334c4 GSEventRun + 56
32 UIKit 0x32417d62 -[UIApplication
_run] + 398
33 UIKit 0x32415800
UIApplicationMain + 664
34 [MyiPhoneAppName] 0x00002a2e main (main.m:14)
35 [MyiPhoneAppName] 0x000029f8 0x1000 + 6648



Another case is:



Hardware Model: iPod4,1
OS Version: iPhone OS 4.3.3 (8J2)

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0

Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x332a7a1c __pthread_kill + 8
1 libsystem_c.dylib 0x32c953b4 pthread_kill + 52
2 libsystem_c.dylib 0x32c8dbf8 abort + 72
3 libstdc++.6.dylib 0x329eca64
__gnu_cxx::__verbose_terminate_handler() + 376
4 libobjc.A.dylib 0x32da506c _objc_terminate + 104
5 libstdc++.6.dylib 0x329eae36
__cxxabiv1::__terminate(void (*)()) + 46
6 libstdc++.6.dylib 0x329eae8a std::terminate() + 10
7 libstdc++.6.dylib 0x329eaf5a __cxa_throw + 78
8 libobjc.A.dylib 0x32da3c84 objc_exception_throw +
64
9 CoreFoundation 0x3296048a +[NSException
raise:format:arguments:] + 62
10 CoreFoundation 0x329604c4 +[NSException
raise:format:] + 28
11 Foundation 0x338651f6 mutateError + 114
12 Foundation 0x33825234 -[NSCFString
appendString:] + 40
13 [MyiPhoneAppName] 0x0004de90 -[GADObjectPrivate
buildAdUrl] (GADObjectPrivate.m:474)
14 [MyiPhoneAppName] 0x0004e2e8 -[GADObjectPrivate
failedToDownloadJavaScriptWithError:] (GADObjectPrivate.m:282)
15 [MyiPhoneAppName] 0x0004d88c -[GADObjectPrivate
cachedFile:downloadDidFail:] (GADObjectPrivate.m:844)
16 [MyiPhoneAppName] 0x00039b30 -[GADCachedFile
connection:didFailWithError:] (GADCachedFile.m:279)
17 Foundation 0x3385ac42 -
[NSURLConnection(NSURLConnectionReallyInternal) sendDidFail:] + 130
18 Foundation 0x3385ab7c _NSURLConnectionDidFail
+ 80
19 CFNetwork 0x356d0968
URLConnectionClient::_clientDidFailWithError(__CFError*,
URLConnectionClient::ClientConnectionEventQueue*) + 416
20 CFNetwork 0x3563cfae
URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent,
XClientEventParams>*, long) + 206
21 CFNetwork 0x3563ce30
URLConnectionClient::processEvents() + 64
22 CFNetwork 0x3563cde2
URLConnection::multiplexerClientPerform(RunLoopMultiplexer*) + 30
23 CFNetwork 0x3563cd54
MultiplexerSource::perform() + 120
24 CFNetwork 0x3563ccd2
MultiplexerSource::_perform(void*) + 2
25 CoreFoundation 0x32937a72
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
26 CoreFoundation 0x32939758 __CFRunLoopDoSources0 +
376
27 CoreFoundation 0x3293a4e4 __CFRunLoopRun + 224
28 CoreFoundation 0x328caebc CFRunLoopRunSpecific +
224
29 CoreFoundation 0x328cadc4 CFRunLoopRunInMode + 52
30 GraphicsServices 0x33433418 GSEventRunModal + 108
31 GraphicsServices 0x334334c4 GSEventRun + 56
32 UIKit 0x32417d62 -[UIApplication
_run] + 398
33 UIKit 0x32415800
UIApplicationMain + 664
34 [MyiPhoneAppName] 0x00002ee6 main (main.m:14)
35 [MyiPhoneAppName] 0x00002eb0 0x1000 + 7856


Is anyone having the same problem?

What could cause this problem? Or how can I avoid this?

Thanks.


P.S.
I can't find any version info of the Google AdMob SDK, but it's the
latest version available at the AdMob website as of today (June 26th,
2011) and its file name is googleadmobadssdkios.zip, file size is
1,983,508 bytes.

David

unread,
Jun 26, 2011, 3:02:41 AM6/26/11
to google-adm...@googlegroups.com
oh no my friends. this is not an isolated incident.  There are more problems than that.

I am going through adMob HELL too.

David

unread,
Jun 26, 2011, 3:06:12 AM6/26/11
to google-adm...@googlegroups.com
Here's what happens for us on any iOS ipad device.

We are running a game in cocos2d.

We are running Moblix.

We are using AdMob via Open Allocation.

We get an adMob BLUE banner with say, LogMeIn.com or Netflix 728x90 banners or BLUE 300x250 ads.

We click the ad, and get a UIWebview like controller but it's a BLACK BOTTOMED navigational bar instead of the typical grey one you get in a UIWebview.

Takes us out to the App Store.

Return to game.

The UI controller that delivered the stutter step into the App store is STILL PRESENT ON THE SCREEN and will NOT AUTO release like it should have.

IT IS EMPTY WITH WHITE and the BLACK BOTTOMED NAV bar is on the bottom with the DONE button on the lower right..

We must manually touch the DONE button and low and behold we instantly get a BLACK SCREEN and are locked out of the game.  We have to go back out to app switcher and force quit the game and restart.  

We further get an endless stream of 

these errors:

OpenGL error 0x0506 in -[EAGLView swapBuffers]
OpenGL error 0x0506 in -[EAGLView swapBuffers]
OpenGL error 0x0506 in -[EAGLView swapBuffers]
OpenGL error 0x0506 in -[EAGLView swapBuffers]
OpenGL error 0x0506 in -[EAGLView swapBuffers]

I love adMob's 100% fill rate but these BLACK BOTTOMED UIcontrollers are freezing our games and make it fatal for us, we have to turn off admob.

WHAT IS THIS black bottomed UI contoller? 
WHY WON'T IT AUTO DISMISS?
WHY WOULD IT CAUSE AN OPENGL ERROR?

Since no other ad networks of the 9 others we have integrated in do this, method it is clearly and adMob SDK issue.

GOOGLE/ADMOB PEOPLE, PLEASE SHOW US THE LIGHT!!!  how do we stop this and the problem below:




kura

unread,
Jun 26, 2011, 10:46:13 PM6/26/11
to Google AdMob Ads Developers
David,

I'm afraid you are having quite different symptom than mine.
I'm not using OpenGL, I'm not experiencing black screen.

You may want to post in another discussion thread.

Kura

Dean Browne

unread,
Jun 27, 2011, 4:28:16 PM6/27/11
to google-adm...@googlegroups.com
There are two issues at play.  The first is the type of ad created by the advertiser causing that in-app browser when returning to the app.

The second is the swapBuffers logs you are seeing.  That means OpenGL is trying to render to something that isn't on the screen.  When the ad takes over pause animations ([[CCDirector sharedDirector] stopAnimation]) and start them when the ad is dismissed.  I'm not sure how to do that for MobClix, but for AdMob it would require listening to - (void)adViewWillPresentScreen:(GADBannerView *)adView and - (void)adViewDidDismissScreen:(GADBannerView *)adView

--
Dean Browne | Software Engineer | Mobile Advertising | deanb...@google.com

wes

unread,
Jun 27, 2011, 5:11:52 PM6/27/11
to google-adm...@googlegroups.com
Kura,

Thanks for the report.  We're wondering if this could be a symptom of the cached JS getting corrupted (or just nil'd out) for some reason.  Hopefully this is something we can address for the next release.

Cheers,
Wes

kura

unread,
Jun 27, 2011, 11:04:32 PM6/27/11
to Google AdMob Ads Developers
Dean,

Thanks for your reply. Yes, it makes sense that the crash is the ad
content dependent, since it's very rare case but once the user
experienced it doesn't recover for a while (may be because it caches
the malicious ad data)...

Wes,

Thanks for your reply. I would really appreciate if you could release
the fixed version as soon as possible. This is really a rare case but
a really serious problem, because if a user experience the crash, he/
she thinks they lost all the data they've put in and gets really
disappointed with my app, and gives me 1 star on the app store
review... caused the dramatic decrease of the number of downloads. I
would still like to use AdMob.

Thanks!

Kura
> > URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsume Payload(XConnectionEventInfo<XClientEvent,
> > XClientEventParams>*, long) + 206
> > 20  CFNetwork                           0x3563d0c6
>
> > URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsume Payload(XConnectionEventInfo<XClientEvent,
> > URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsume Payload(XConnectionEventInfo<XClientEvent,

Kathy Fung

unread,
Jun 28, 2011, 5:06:18 AM6/28/11
to Google AdMob Ads Developers
We are also getting this crash in VegasTowers with the latest Admob
sdk, just retrieved this crash log from iTunes Connect today.

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xe0000000
Crashed Thread: 0

Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x3317dc9a objc_msgSend + 18
1 VegasTowers-iPhone 0x000a57f0 -[GADObjectPrivate
cachedFile:downloadDidFail:] + 60
2 VegasTowers-iPhone 0x00091a80 -[GADCachedFile
connection:didFailWithError:] + 52
3 Foundation 0x31032c42 -
[NSURLConnection(NSURLConnectionReallyInternal) sendDidFail:]
4 Foundation 0x31032b7c _NSURLConnectionDidFail
5 CFNetwork 0x36dbe968
URLConnectionClient::_clientDidFailWithError(__CFError*,
URLConnectionClient::ClientConnectionEventQueue*)
6 CFNetwork 0x36d2afae
URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent,
XClientEventParams>*, long)
7 CFNetwork 0x36d2ae30
URLConnectionClient::processEvents()
8 CFNetwork 0x36d2ade2
URLConnection::multiplexerClientPerform(RunLoopMultiplexer*)
9 CFNetwork 0x36d2ad54
MultiplexerSource::perform()
10 CFNetwork 0x36d2acd2
MultiplexerSource::_perform(void*)
11 CoreFoundation 0x32c97a72
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
12 CoreFoundation 0x32c99758 __CFRunLoopDoSources0
13 CoreFoundation 0x32c9a4e4 __CFRunLoopRun
14 CoreFoundation 0x32c2aebc CFRunLoopRunSpecific
15 CoreFoundation 0x32c2adc4 CFRunLoopRunInMode
16 GraphicsServices 0x321ad418 0x321a9000 + 17432
17 GraphicsServices 0x321ad4c4 0x321a9000 + 17604
18 UIKit 0x31accd62 -[UIApplication _run]
19 UIKit 0x31aca800 UIApplicationMain
20 VegasTowers-iPhone 0x00079350 main + 64
21 VegasTowers-iPhone 0x00003070 start + 32
> > URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsume Payload(XConnectionEventInfo<XClientEvent,
> > XClientEventParams>*, long) + 206
> > 20  CFNetwork                           0x3563d0c6
>
> > URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsume Payload(XConnectionEventInfo<XClientEvent,
> > URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsume Payload(XConnectionEventInfo<XClientEvent,

wes

unread,
Jun 28, 2011, 5:36:55 PM6/28/11
to google-adm...@googlegroups.com
Kathy,

Are you sure you're using v4.1 of the iOS SDK?  Also, are you correctly nil'ing out delegates when you dealloc the GADBannerView?

Cheers,
Wes

Kathy Fung

unread,
Jun 28, 2011, 9:11:34 PM6/28/11
to Google AdMob Ads Developers
We are using v4.1 (AdMob version afma-sdk-i-v4.1.0)
I didn't nil out the delegate when deallocating GADBannerView - I will
correct this in the code and see if it helps.
> ...
>
> read more »
Reply all
Reply to author
Forward
0 new messages