flurry / flurry-adapter-admob-ios

Flurry Adapter for AdMob/DFP CocoaPods
Apache License 2.0
7 stars 5 forks source link

Crash in GADMAdapterFlurryAppCircle.m line 185 #10

Open hei9gag opened 6 years ago

hei9gag commented 6 years ago

Using version 7.9.2 and GoogleMobileAdsSDK 7.20 Fatal Exception: NSInvalidArgumentException *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]

lpbas commented 6 years ago

I'm facing the same issue, on iOS 11 devices, which made me disable Flurry mediation until this get fixed. Judging from my Podfile.lock, this adapter uses an old Google-Mobile-Ads-SDK (~> 7.12), which may be the cause of the crashes. Any updated would be greatly appreciated.

cujo30227 commented 6 years ago

I have the same issue. Very annoying, it is the largest crash in my app. I have the latest SDK and AdMob adaptor ..

cujo30227 commented 6 years ago

Here is a crash log

Application Specific Information: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: ' -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]'

Last Exception Backtrace: 0 CoreFoundation 0x000000018f0fafe0 exceptionPreprocess + 124 1 libobjc.A.dylib 0x000000018db5c538 objc_exception_throw + 52 2 CoreFoundation 0x000000018efe19b4 -[NSPlaceholderDictionary initWithObjects:forKeys:count:] + 360 3 CoreFoundation 0x000000018efe1824 +[NSDictionary dictionaryWithObjects:forKeys:count:] + 60 4 Xx 0x000000010022ba78 -[GADMAdapterFlurryAppCircle adBanner:adError:errorDescription:] (GADMAdapterFlurryAppCircle.m:185) 5 Xx. 0x00000001002e9904 -[FlurryAdBanner spaceClickActionDidFail:error:] + 148 6 Xx 0x00000001002ceec0 -[FlurryAd reportClickFailedWithError:] + 260 7 EasyMeasure 0x0000000100269d70 -[FlurryAdFullscreenController safariViewController:didCompleteInitialLoad:] + 548 8 SafariServices 0x000000019db1e4a0 -[SFSafariViewController remoteViewController:didFinishInitialLoad:] + 116 9 SafariServices 0x000000019db15eec -[SFBrowserRemoteViewController didFinishInitialLoad:] + 60 10 CoreFoundation 0x000000018f100e80 __invoking_ + 140 11 CoreFoundation 0x000000018eff62c4 -[NSInvocation invoke] + 288 12 FrontBoardServices 0x0000000190ca4884 FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 32 13 FrontBoardServices 0x0000000190ca46f0 -[FBSSerialQueue _performNext] + 172 14 FrontBoardServices 0x0000000190ca4aa0 -[FBSSerialQueue _performNextFromRunLoopSource] + 52 15 CoreFoundation 0x000000018f0a942c CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 20 16 CoreFoundation 0x000000018f0a8d9c CFRunLoopDoSources0 + 536 17 CoreFoundation 0x000000018f0a69a8 __CFRunLoopRun + 740 18 CoreFoundation 0x000000018efd6da4 CFRunLoopRunSpecific + 420 19 GraphicsServices 0x0000000190a41074 GSEventRunModal + 96 20 UIKit 0x0000000195291c9c UIApplicationMain + 204 21 xx 0x00000001000adf94 main (main.m:14) 22 libdyld.dylib 0x000000018dfe559c start + 0

hei9gag commented 6 years ago

@cujo30227 I don't think they are going to fix it. I have reported the issue 4 months ago and nobody follows up. Better remove the Flurry adapter if the ad revenue is low

cujo30227 commented 6 years ago

@hei9gag yeah, frustrating... it is a significant crash, and from the crash log it should be a pretty obvious one to fix... I have reported a bug at integration@flurry.com as well. For now, I'm removing Flurry from the mediation.

flurrydev commented 6 years ago

The current version of our adapter is 8.2.1. Note the highest version of iOS Flurry supports now is iOS 8. If you use adapter version 7.9.2 you will be forced to download an older Flurry sdk version that has the crash issue you refer to here.

To be clear you need Flurry adapter 8.2.1 and Flurry sdk version 8.3.4.

Please use the following in your Podfile:

platform :ios, '8.0'

target 'NativeAdvancedExample' do
  pod 'Google-Mobile-Ads-SDK'

  pod 'Flurry-iOS-SDK/FlurrySDK' #Analytics Pod
  pod 'Flurry-iOS-SDK/FlurryAds' #Advertising Pod (requires Analytics)

  pod 'AdMobMediationAdapterFlurry', '~> 8'
end

Here is the expected output:

Installing AdMobMediationAdapterFlurry (8.2.1)
Installing Flurry-iOS-SDK (8.3.4)
Installing Google-Mobile-Ads-SDK (7.28.0)
cujo30227 commented 6 years ago

Hello, Yes, I have that all. In my live build I have the Flurry SDK 8.3.4. I have the latest adaptor from Github (there is no version number mentioned). When running the exact Podfile you description, it downloads lower versions than you mentioned. The adaptor I have in my build, however, is exactly the same date stamp and size, so I'm really using the last versions of both the adaptor and the SDK....!

Installing AdMobMediationAdapterFlurry (8.2.1)

Installing Flurry-iOS-SDK (8.3.1)

Installing Google-Mobile-Ads-SDK (7.25.0)

The crash is 75% of my crashes in the app...

On Mon, Feb 5, 2018 at 11:51 PM, Flurry Bot notifications@github.com wrote:

The current version of our adapter is 8.2.1. Note the highest version of iOS Flurry supports now is iOS 8. If you use adapter version 7.9.2 you will be forced to download an older Flurry sdk version that has the crash issue you refer to here.

To be clear you need Flurry adapter 8.2.1 and Flurry sdk version 8.3.4.

Please use the following in your Podfile:

platform :ios, '8.0'

target 'NativeAdvancedExample' do pod 'Google-Mobile-Ads-SDK'

pod 'Flurry-iOS-SDK/FlurrySDK' #Analytics Pod pod 'Flurry-iOS-SDK/FlurryAds' #Advertising Pod (requires Analytics)

pod 'AdMobMediationAdapterFlurry', '~> 8' end

Here is the expected output:

Installing AdMobMediationAdapterFlurry (8.2.1) Installing Flurry-iOS-SDK (8.3.4) Installing Google-Mobile-Ads-SDK (7.28.0)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/flurry/flurry-adapter-admob-ios/issues/10#issuecomment-363248586, or mute the thread https://github.com/notifications/unsubscribe-auth/AExmJHt5nH5zvvcAK2hHgEALMjw6hqYNks5tR4XkgaJpZM4PlGZT .

flurrydev commented 6 years ago

Run 'pod update' instead of 'pod install'. I expect this to pull in Flurry 8.3.4

But if that doesn't work for you use this:

pod 'Flurry-iOS-SDK/FlurrySDK', '~>8.3.4' #Analytics Pod
pod 'Flurry-iOS-SDK/FlurryAds', '~>8.3.4'  #Advertising Pod (requires Analytics)

Let me know if you get an error.

We have spent some hours testing apps today using the adapter. I have not yet been able to reproduce any crash. To be clear I believe the older sdk is causing the crash, and not the adapter.

flurrydev commented 6 years ago

@cujo30227 Can you send over these details to integration@flurry.com?

-Flurry api key -Flurry ad unit name -AdMob ad unit

I'll do some further testing.

cujo30227 commented 6 years ago

5 months after the initial issue was posted, there is still no resolution. From the crash log, it should be a pretty straightforward crash to solve ?! Even the line number in the code is mentioned! Still, a couple of hundreds of users per day are experiencing a crash due to Flurry ads.

flurrydev commented 6 years ago

the crash pertains to the banner ad serving - we are in the process of rebuilding this offering (instead of fixing the broken parts). apologies for the inconvenience

cujo30227 commented 6 years ago

Hello Thanks for the response and update ! When do you expect this new build to become available to us?

walsht commented 6 years ago

+1

cujo30227 commented 6 years ago

+1

cujo30227 commented 6 years ago

+1

cujo30227 commented 6 years ago

Hello, we are waiting on a fix since months now. Is there any info on the ETA of the promised update? Thanks

walsht commented 6 years ago

I was told that 8.6.0 resolves this issue. https://github.com/flurry/flurry-adapter-admob-ios/pull/13

cujo30227 commented 6 years ago

It doesn't :( it is crashing even more than the previous version. I now see two major crashes, first one is the same as before:

+[FlurryiOSUtil getIdentifierForVendor] SIGSEGV

Very disappointed..

cujo30227 commented 6 years ago

And a third one even:

-[FlurryAdCache fetchAdUnitsFromServer:] SIGSEGV - objc_msgSend() selector name: retain

We're going to remove Flurry again, this is not acceptable.

cujo30227 commented 6 years ago

+1, any resolution to the increased crash behavior of the last version?

cujo30227 commented 6 years ago

+1