larsacus / LARSAdController

Lightweight ad mediation for iOS to properly manage multiple ad networks dynamically including iAd and Google ads.
http://theonlylars.com/blog/2013/01/10/stupid-easy-ads-with-larsadcontroller-3-dot-0/
MIT License
269 stars 60 forks source link

Crash on iPhone 5 iOS 6.0.2 ADBannerView was deallocated #26

Closed walsht closed 11 years ago

walsht commented 11 years ago

Crash on iPhone 5 iOS 6.0.2

An instance 0x229033a0 of class ADBannerView was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object. Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger. Here's the current observation info: <NSKeyValueObservationInfo 0x229020b0> ( <NSKeyValueObservance 0x22902070: Observer: 0x229041c0, Key path: bannerLoaded, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x22902030>

Logs:

2013-01-18 09:43:00.895 MyApp[6169:907] LARSAdController [line 182]: View is portrait 2013-01-18 09:43:00.896 MyApp[6169:907] LARSAdController [line 205]: Container frame: {{0, 454}, {320, 50}} 2013-01-18 09:43:00.897 MyApp[6169:907] LARSAdController [line 494]: Creating new instance of adapter class "TOLAdAdapterGoogleAds" 2013-01-18 09:43:01.046 MyApp[6169:907] LARSAdController [line 534]: Successfully created instance of "TOLAdAdapterGoogleAds" 2013-01-18 09:43:01.047 MyApp[6169:907] LARSAdController [line 445]: Initial banner frame : {{0, 50}, {320, 50}} 2013-01-18 09:43:01.048 MyApp[6169:907] LARSAdController [line 470]: Final banner frame : {{0, 0}, {320, 50}} 2013-01-18 09:43:01.049 MyApp[6169:907] LARSAdController [line 667]: Registering for orientation notifications 2013-01-18 09:43:01.050 MyApp[6169:907] LARSAdController [line 182]: View is portrait 2013-01-18 09:43:01.051 MyApp[6169:907] LARSAdController [line 205]: Container frame: {{0, 454}, {320, 50}} 2013-01-18 09:43:01.052 MyApp[6169:907] LARSAdController [line 470]: Final banner frame : {{0, 0}, {320, 50}} 2013-01-18 09:43:01.082 MyApp[6169:907] LARSAdController [line 688]: Handling orientation change 2013-01-18 09:43:01.883 MyApp[6169:907] LARSAdController [line 182]: View is portrait 2013-01-18 09:43:01.884 MyApp[6169:907] LARSAdController [line 205]: Container frame: {{0, 454}, {320, 50}} 2013-01-18 09:43:01.885 MyApp[6169:907] LARSAdController [line 470]: Final banner frame : {{0, 0}, {320, 50}} 2013-01-18 09:43:01.888 MyApp[6169:907] LARSAdController [line 688]: Handling orientation change 2013-01-18 09:43:01.901 MyApp[6169:907] LARSAdController [line 182]: View is portrait 2013-01-18 09:43:01.902 MyApp[6169:907] LARSAdController [line 205]: Container frame: {{0, 454}, {320, 50}} 2013-01-18 09:43:01.903 MyApp[6169:907] LARSAdController [line 470]: Final banner frame : {{0, 0}, {320, 50}} 2013-01-18 09:43:02.944 MyApp[6169:907] TOLAdAdapterGoogleAds [line 110]: Google ad did receive ad 2013-01-18 09:43:05.972 MyApp[6169:907] LARSAdController [line 182]: View is portrait 2013-01-18 09:43:05.973 MyApp[6169:907] LARSAdController [line 205]: Container frame: {{0, 454}, {320, 50}} 2013-01-18 09:43:05.974 MyApp[6169:907] LARSAdController [line 470]: Final banner frame : {{0, 0}, {320, 50}} 2013-01-18 09:43:19.326 MyApp[6169:907] LARSAdController [line 445]: Initial banner frame : {{0, 50}, {320, 50}} 2013-01-18 09:43:19.327 MyApp[6169:907] LARSAdController [line 494]: Creating new instance of adapter class "TOLAdAdapteriAds" 2013-01-18 09:43:19.328 MyApp[6169:907] LARSAdController [line 534]: Successfully created instance of "TOLAdAdapteriAds" 2013-01-18 09:43:19.331 MyApp[6169:907] LARSAdController [line 445]: Initial banner frame : {{0, 50}, {320, 50}} 2013-01-18 09:43:19.332 MyApp[6169:907] TOLAdAdapterGoogleAds [line 119]: Google ad did fail to receive ad 2013-01-18 09:43:27.711 MyApp[6169:907] LARSAdController [line 620]: Attempting to halt iAds ad network 2013-01-18 09:43:27.711 MyApp[6169:907] LARSAdController [line 657]: iAds ad network allocated, but not visible (no ad loaded) 2013-01-18 09:43:27.712 MyApp[6169:907] LARSAdController [line 470]: Final banner frame : {{0, 0}, {320, 50}} 2013-01-18 09:43:27.713 MyApp[6169:907] TOLAdAdapterGoogleAds [line 110]: Google ad did receive ad 2013-01-18 09:43:29.199 MyApp[6169:907] LARSAdController [line 593]: Ad loaded for iAds! 2013-01-18 09:43:29.200 MyApp[6169:907] LARSAdController [line 470]: Final banner frame : {{0, 0}, {320, 50}} 2013-01-18 09:43:29.202 MyApp[6169:907] TOLAdAdapteriAds [line 108]: iAd did load ad 2013-01-18 09:43:39.055 MyApp[6169:907] LARSAdController [line 620]: Attempting to halt iAds ad network 2013-01-18 09:43:39.056 MyApp[6169:907] LARSAdController [line 623]: Hiding iAds ad network 2013-01-18 09:43:39.057 MyApp[6169:907] LARSAdController [line 445]: Initial banner frame : {{0, 50}, {320, 50}} 2013-01-18 09:43:39.058 MyApp[6169:907] TOLAdAdapterGoogleAds [line 110]: Google ad did receive ad 2013-01-18 09:43:39.320 MyApp[6169:907] LARSAdController [line 634]: Destroying iAds ad network instance 2013-01-18 09:43:39.324 MyApp[6169:907] An instance 0x229033a0 of class ADBannerView was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object. Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger. Here's the current observation info: <NSKeyValueObservationInfo 0x229020b0> ( <NSKeyValueObservance 0x22902070: Observer: 0x229041c0, Key path: bannerLoaded, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x22902030> ) (lldb)

larsacus commented 11 years ago

Ha wow. I can't believe I just made that mistake. I just committed bbcabfccbb4c068eda91bc9ee8738d6a6035f5d5 to master to fix this issue. Take a look at the commit to see what fixed it.

walsht commented 11 years ago

Nice, thanks for the quick turn around.