Re: [iOS 6.2.1] Crash in + [GADMRAIDInterceptor shouldRedirectForMRAID:]

303 views
Skip to first unread message

Rajkumar Parameswaran

unread,
Mar 18, 2013, 6:05:58 PM3/18/13
to google-adm...@googlegroups.com
Hey guys,

Thanks for bringing this up, it looks like it's a different issue from the initial GADMRAIDInterceptor crash. Any chancee you know what kind of request is going out when this crash occurs. Specifically, we are are trying to use isEqualToString: on the request.URL.absoluteString from NSURLRequest when this crash occurs so I'm wondering if this is being weird for a certain type of request.

I will keep you updated on what we find from our end on this thread.


On Tue, Mar 12, 2013 at 3:50 PM, Todd Huss <th...@twobitlabs.com> wrote:
The same crash for us is the number one crash in our app (reported by Crashlytics). We're using the 6.3.0 iOS SDK and getting hundreds of these crashes per day. We also had this bug when we were using the 6.2 SDK and I thought based on the release notes it was fixed in 6.3.0 but it doesn't appear to be.

-Todd


On Sunday, November 18, 2012 6:26:18 PM UTC-8, Sean Woodhouse wrote:
Hi All, 

We're seeing the following crash with the iOS 6.2.1 SDK across various iOS devices and OS versions (5 & 6).

Any ideas?

Thanks

Sean

Thread 8 Crashed:
0   libobjc.A.dylib                     0x000035b0 objc_msgSend + 16
1   CoreFoundation                      0x000096ff -[__NSCFString isEqualToString:] + 207
2   realestate.com.au                   0x001699f4 +[GADMRAIDInterceptor shouldRedirectForMRAID:] (GADMRAIDInterceptor.m:108)
3   realestate.com.au                   0x00169afc +[GADMRAIDInterceptor canInitWithRequest:] (GADMRAIDInterceptor.m:127)
4   Foundation                          0x00017379 +[NSURLProtocol(NSURLProtocolPrivate) _protocolClassForRequest:allowCF:] + 201
5   Foundation                          0x0001727b nsProtCanHandleRequest + 187
6   CFNetwork                           0x0001339f ImplAdaptor::_canHandleRequestCallback(_CFURLRequest const*, void const*) + 23
7   CFNetwork                           0x000132e3 URLProtocolRegistry::findProtocolImplForRequestAndSetIntoRequest(_CFURLRequest const*) + 75
8   CFNetwork                           0x0005fb95 URLProtocolRegistry::newProtocolForRequest(__CFAllocator const*, _CFURLRequest const*, URLProtocolClient*) + 21
9   CFNetwork                           0x0008acb3 URLConnectionLoader::ensureLoaderHasProtocolNoLock(_CFURLRequest const*) + 343
10  CFNetwork                           0x0008b077 URLConnectionLoader::createProtocolAndCopyCanonicalRequestBeforeLoadHasStarted(_CFURLRequest const*) + 11
11  CFNetwork                           0x00086173 URLConnectionClient::_internalEvent_WillSendRequest() + 55
12  CFNetwork                           0x0005e903 __start_block_invoke_0 + 39
13  CFNetwork                           0x0005f2f3 ___withClientAsync_block_invoke_0 + 23
14  CFNetwork                           0x000855b9 ___withWorkQueueAsync_block_invoke_0 + 13
15  CFNetwork                           0x000aff9f ___performAsync_block_invoke_0 + 27
16  libdispatch.dylib                   0x0000211f _dispatch_call_block_and_release + 11
17  libdispatch.dylib                   0x0000199b _dispatch_queue_drain$VARIANT$up + 147
18  libdispatch.dylib                   0x00001895 _dispatch_queue_invoke$VARIANT$up + 37
19  libdispatch.dylib                   0x00010215 _dispatch_root_queue_drain + 193
20  libdispatch.dylib                   0x000103b9 _dispatch_worker_thread2 + 85
21  libsystem_c.dylib                   0x00006a11 _pthread_wqthread + 361

--
 
---
You received this message because you are subscribed to the Google Groups "Google AdMob Ads Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-admob-ads...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Todd Huss

unread,
Mar 18, 2013, 6:52:32 PM3/18/13
to google-adm...@googlegroups.com
We've looked through crashlytics analyzing the activities on the various threads and we're not seeing any common pattern to the crashes. Sometimes they happen when a webview is making url requests, sometimes when our own code is making web service requests, sometimes when our analytics library is uploading data. There doesn't appear to be one specific type of request triggering the crash.

Would it be possible to share line 121 and 122 of GADMRAIDInterceptor.m? It might help give us some insight into different test cases we might setup to try to reproduce.

Thanks,
Todd

On Monday, March 18, 2013 at 3:19 PM, Todd Huss wrote:

We embed webviews to display articles from around the web (like an RSS reader) and so the variety of url requests we encounter that go through the registered NSURLProtocol subclasses (like GADMRAIDInterceptor) are many. We also use other SDK's (like Flurry) that make regular requests so it's very difficult to isolate since we only see the problem sporadically out in the wild, not on our own devices or those of our QA engineers. 

We're seeing the bad access on isEqualToString in GADMRAIDInteceptor but if all you're doing is calling request.URL.absoluteString and then calling isEqualToString on that it seems like perhaps the the request object getting passed in is already released. In which case it might not be an AdMob SDK bug, it might be some other SDK we're using that's perhaps over-releasing the url request. 

-Todd
You received this message because you are subscribed to a topic in the Google Groups "Google AdMob Ads Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/2rtyszmgVhQ/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to google-admob-ads...@googlegroups.com.

Rajkumar Parameswaran

unread,
Mar 22, 2013, 2:14:39 PM3/22/13
to google-adm...@googlegroups.com
Hey Todd,

So essentially what we're doing is that in shouldRedirectForMRAID: we access the absoluteString of the requestURL (request.URL.absoluteString) but when we try to check if its equal to another string using isEqualToString: the crash occurs (looks like some garbage collection has occurred on that within the span of a line). I'm not sure if garbage collection was somehow prematurely happening because of another request coming in but I'd imagine Apple is handling this case already.

Rajkumar Parameswaran

unread,
Apr 5, 2013, 7:51:59 PM4/5/13
to google-adm...@googlegroups.com
Hey Christoper,

Sorry for the delay, but we think we figured out what the issue was here. Looks to be threading related. We will have an updated SDK released very soon.

Raj


On Fri, Mar 22, 2013 at 2:50 PM, Christopher Pickslay <cpic...@twobitlabs.com> wrote:
Raj-

I don't think the problem is the string you're getting from the call to absoluteString. In the stack trace, the receiver of the isEqualToString: message is not a zombie--it's getting into the isEqualToString: call just fine. The crash is inside isEqualToString:, so I believe the culprit is the string you're trying to compare it to. You can easily reproduce the top of this stack like this:

    NSMutableString *foo = [@"foo" mutableCopy];

    [foo release];

    NSLog(@""); // make sure the free() completes

    [@"bar" isEqualToString:foo]; // crashes with EXC_BAD_ACCESS inside isEqualToString:


What is the source of the string you're comparing the URL to? If your call is indeed [absoluteString isEqualTo:someOtherString], then it seems the problem is someOtherString has been over-released.
To unsubscribe from this group and stop receiving emails from it, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to a topic in the Google Groups "Google AdMob Ads Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/2rtyszmgVhQ/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to the Google Groups "Google AdMob Ads Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

Rajkumar Parameswaran

unread,
Apr 19, 2013, 5:45:37 PM4/19/13
to google-adm...@googlegroups.com
Hey Marco,

Thanks for bringing this up, can you provide us some more info.

What is the frequency of these reports? Also what devices and version of iOS are you seeing it on?


On Fri, Apr 19, 2013 at 7:58 AM, Marco Muccinelli <mucc...@gmail.com> wrote:
I can see this bug again with SDK 6.4.0 on Crashlytics:

0 libobjc.A.dylib objc_msgSend + 21
1 CoreFoundation -[__NSCFString isEqualToString:] + 44
2 LaLazioSiamoNoi
GADMRAIDInterceptor.m line 134
+[GADMRAIDInterceptor shouldRedirectForMRAID:]
3 LaLazioSiamoNoi
GADMRAIDInterceptor.m line 155
+[GADMRAIDInterceptor canInitWithRequest:]
4 Foundation +[NSURLProtocol(NSURLProtocolPrivate) _protocolClassForRequest:allowCF:] + 200


To unsubscribe from this group and stop receiving emails from it, send an email to google-admob-ads-sdk+unsubscrib...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to a topic in the Google Groups "Google AdMob Ads Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/2rtyszmgVhQ/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to google-admob-ads-sdk+unsubscrib...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to the Google Groups "Google AdMob Ads Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-admob-ads-sdk+unsubscrib...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to the Google Groups "Google AdMob Ads Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Rajkumar Parameswaran

unread,
Apr 19, 2013, 5:49:37 PM4/19/13
to google-adm...@googlegroups.com
To add to that, is there any way for you to know if the crashes from 6.4.0 are coming form the same devices as the old ones?

Rajkumar Parameswaran

unread,
Apr 29, 2013, 1:30:54 PM4/29/13
to google-adm...@googlegroups.com
Hey Eric,

We've been trying to narrow down this issue and have been having a hard time. Can you reproduce the issue on your end?  If you're seeing it that often, I wonder if you have an app we can try to use for a bit to see if we can get the crash to occur. 

Raj


On Fri, Apr 26, 2013 at 10:38 AM, Eric Jensen <er...@cheezburger.com> wrote:
Hi Raj,

I'm also seeing this crash in the iOS SDK v6.4.0 fairly frequently (a couple crash reports per hour). It's crashing regardless of whether the app was freshly installed or upgraded from a version with an older SDK.

Can we expect to see this crash fixed anytime soon?

Rajkumar Parameswaran

unread,
May 2, 2013, 5:03:26 PM5/2/13
to google-adm...@googlegroups.com
Hey Eric,

I'm going to try to use the app to reproduce. In the meantime are there any reproducible steps that helped you make the crash occur?

Our engineers are all looking into this and I will definitely ping this thread once I have an answer for all of you.

Raj


On Mon, Apr 29, 2013 at 1:12 PM, Eric Jensen <er...@cheezburger.com> wrote:
"Can you reproduce the issue on your end?" 
 
I am able to reproduce it. But, not in a consistent manner. Here's a crashlog of a recent crash I encountered while testing: http://cl.ly/OdbS/o


"I wonder if you have an app we can try to use for a bit to see if we can get the crash to occur."
 
You can install the app at http://appstore.com/cheezburger It uses DPF with AdMob SDK 6.4
The app currently only shows in-house ads to avoid a separate issue where a 3rd party ad automatically opening the App Store app without any interaction by the user.

Eric

Raj Parameswaran

unread,
May 9, 2013, 12:26:06 PM5/9/13
to google-adm...@googlegroups.com
Hey all,

We've identified the issue as a variable that was being prematurely deallocated. We've put a fix in place and will release a hotfix to address this issue next week. Thanks.

Raj

On Tuesday, May 7, 2013 11:33:15 AM UTC-7, Todd Huss wrote:
We just released an update to our app a few hours ago with the (current as of today) 6.4.1 SDK and we're seeing a number of crashes from:

GADMRAIDInterceptor.m line 134 +[GADMRAIDInterceptor shouldRedirectForMRAID:]

Screenshot from Crashlytics here: http://cl.ly/image/2B1m3X1p0C1q

We can't reliably reproduce, it just seems to happen occasionally which makes me think maybe it's a race condition of some sort or another.

-Todd
To unsubscribe from this group and stop receiving emails from it, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.

Rajkumar Parameswaran

unread,
May 20, 2013, 6:31:57 PM5/20/13
to google-adm...@googlegroups.com
Hey folks,

Just wanted to let everyone on this thread know that we just released a version of the SDK that addresses this issue. Please take a look at https://developers.google.com/mobile-ads-sdk/download.

Raj

Rajkumar Parameswaran

unread,
May 22, 2013, 12:18:25 PM5/22/13
to google-adm...@googlegroups.com
Hey Eli,

We released a hotfix (6.4.2). Can you try it out and let us know if this issue comes up again?

Raj


On Fri, May 17, 2013 at 11:03 AM, Eli Thompson <e...@cheezburger.com> wrote:
Raj, 

Were you able to make some progress on that hotfix? Any ETA?
To unsubscribe from this group and stop receiving emails from it, send an email to google-admob-ads...@googlegroups.com.

Eli Thompson

unread,
May 22, 2013, 1:01:33 PM5/22/13
to google-adm...@googlegroups.com
Yes, we'll get this update included in our next release. Thank you!


You received this message because you are subscribed to a topic in the Google Groups "Google AdMob Ads Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/2rtyszmgVhQ/unsubscribe?hl=en-US.
To unsubscribe from this group and all its topics, send an email to google-admob-ads...@googlegroups.com.

Nguyen Tung

unread,
Oct 21, 2015, 3:04:27 AM10/21/15
to Google Mobile Ads SDK Developers, raj...@google.com
I saw this problem in GoogleAds SDK ver 7.5.0
maybe due to xcode 7.0 (iOS 9) ?

Vào 05:05:58 UTC+7 Thứ Ba, ngày 19 tháng 3 năm 2013, Rajkumar Parameswaran đã viết:
To unsubscribe from this group and stop receiving emails from it, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages