Crash when going offline while playing Ad Pod with multiple ads

66 views
Skip to first unread message

totoro deka

unread,
Sep 5, 2019, 9:11:15 AM9/5/19
to Interactive Media Ads SDK
Hi, 

When playing Ad Pod with multiple ads, 
if it goes offline in the middle of the first ad in the pod, it crash when switching to the second ad in the pod.

Is there a way to prevent this behavior.   

I confirmed reproduction with SDK version 3.9.2 and iOS version 12.
Reproduction is possible with sample VMAP including Pod with multiple ads.


This behavior did not occur in SDK version 3.9.0.


Thanks,
Yuji.  


The error log is as follows.
```
Main Thread Checker: UI API called on a background thread: -[UIWebView stringByEvaluatingJavaScriptFromString:]
PID: 17330, TID: 3765123, Thread name: (none), Queue name: com.apple.avfoundation.avasset.completionsQueue, QoS: 0
Backtrace:
4   GoogleInteractiveMediaAds           0x000000010e2f6830 -[IMAUIWebView evaluateJavaScript:completionHandler:] + 92
5   GoogleInteractiveMediaAds           0x000000010e2f81b4 -[IMAWebViewDispatcher sendMessage:] + 549
6   GoogleInteractiveMediaAds           0x000000010e2f8d30 -[IMAJavaScriptSession sendMessage:] + 135
7   GoogleInteractiveMediaAds           0x000000010e2f179f -[IMAVideoDisplayWrapper sendMessageWithType:messageData:onChannel:] + 156
8   GoogleInteractiveMediaAds           0x000000010e2f1396 -[IMAVideoDisplayWrapper videoDisplay:didReceiveError:] + 271
9   GoogleInteractiveMediaAds           0x000000010e2e837a -[IMAAVPlayerVideoDisplay assetLoader:didReceiveError:] + 123
10  GoogleInteractiveMediaAds           0x000000010e2e5f5d __32-[IMAAVAssetLoader loadMetadata]_block_invoke + 776
11  libdispatch.dylib                   0x00000001144a2d7f _dispatch_call_block_and_release + 12
12  libdispatch.dylib                   0x00000001144a3db5 _dispatch_client_callout + 8
13  libdispatch.dylib                   0x00000001144ab225 _dispatch_lane_serial_drain + 778
14  libdispatch.dylib                   0x00000001144abe9c _dispatch_lane_invoke + 425
15  libdispatch.dylib                   0x00000001144b5ea3 _dispatch_workloop_worker_thread + 733
16  libsystem_pthread.dylib             0x000000011488c611 _pthread_wqthread + 421
17  libsystem_pthread.dylib             0x000000011488c3fd start_wqthread + 13
[reports] Main Thread Checker: UI API called on a background thread: -[UIWebView stringByEvaluatingJavaScriptFromString:]
PID: 17330, TID: 3765123, Thread name: (none), Queue name: com.apple.avfoundation.avasset.completionsQueue, QoS: 0
[BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C76.1:2][0x7fc12151ab70] get output frames failed, state 8196
e:
4   GoogleInteractiveMediaAds           0x000000010e2f6830 -[IMAUIWebView evaluateJavaScript:completionHandler:] + 92
5   GoogleInteractiveMediaAds           0x000000010e2f81b4 -[IMAWebViewDispatcher sendMessage:] + 549
6   GoogleInteractiveMediaAds           0x000000010e2f8d30 -[IMAJavaScriptSession sendMessage:] + 135
7   GoogleInteractiveMediaAds           0x000000010e2f179f -[IMAVideoDisplayWrapper sendMessageWithType:messageData:onChannel:] + 156
8   GoogleInteractiveMediaAds           0x000000010e2f1396 -[IMAVideoDisplayWrapper videoDisplay:didReceiveError:] + 271
9   GoogleInteractiveMediaAds           0x000000010e2e837a -[IMAAVPlayerVideoDisplay assetLoader:didReceiveError:] + 123
10  GoogleInteractiveMediaAds           0x000000010e2e5f5d __32-[IMAAVAssetLoader loadMetadata]_block_invoke + 776
11  libdispatch.dylib                   0x00000001144a2d7f _dispatch_call_block_and_release + 12
12  libdispatch.dylib                   0x00000001144a3db5 _dispatch_client_callout + 8
13  libdispatch.dylib                   0x00000001144ab225 _dispatch_lane_serial_drain + 778
14  libdispatch.dylib                   0x00000001144abe9c _dispatch_lane_invoke + 425
15  libdispatch.dylib                   0x00000001144b5ea3 _dispatch_workloop_worker_thread + 733
16  libsystem_pthread.dylib             0x000000011488c611 _pthread_wqthread + 421
17  libsystem_pthread.dylib             0x000000011488c3fd start_wqthread + 13
[BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C76.1:2][0x7fc12151ab70] get output frames failed, state 8196
void _WebThreadLock(), 0x138d3e0c0: Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread. Crashing now...
```

IMA SDK

unread,
Sep 5, 2019, 2:26:04 PM9/5/19
to dekat...@gmail.com, ima...@googlegroups.com
Hi Totoro,

Thank you for reaching out to us. We were not able to reproduce the behavior that you're seeing with the second ad crashing your app if the device went offline during the first ad (see screenshot attached). I turned off the internet during the pre-roll and turned it back on during the content playback, the mid-roll was still requested and displayed successfully by the SDK, no crash occurred at all. We've used the iOS BasicExample (IMA iOS v3.9.2) sample, a VMAP ad tag and the Network Link Conditioner to reproduce the behavior. Can you try reproducing the behavior using our iOS BasicExample and share a video recording show the crash?

Regards,
Arnaud Casame
IMA SDK Team

ref:_00D1U1174p._5001UHFnNu:ref

IMA SDK

unread,
Sep 5, 2019, 2:30:53 PM9/5/19
to dekat...@gmail.com, ima...@googlegroups.com
IMA SDK Team

ref:_00D1U1174p._5001UHFnNu:ref
Screen Shot 2019-09-05 at 1.13.55 PM.png

totoro deka

unread,
Sep 6, 2019, 4:12:26 AM9/6/19
to Interactive Media Ads SDK
Hi,

Thank you for your reply.

The case to reproduce is for pod ads.
In the case of pod ads containing multiple ads, crash when going offline during the first ad playback in the pod and switching to the second ad in the pod.

I confirmed reproduction with AdvancedExample VMAP Pods and SDK version 3.9.2 and iOS version 12.

totoro deka

unread,
Sep 8, 2019, 11:59:09 PM9/8/19
to Interactive Media Ads SDK
Hi

I reproduce the case in the pod ad.

1. Run VMAP Pods of AdvancedExample.
2. Preroll is played as it is.
3. Next, mid roll containing multiple ads is played.
4. Go offline while playing the first ad in the mid roll.
5. Crash when switching to the second ad in the mid roll.

Please check the attached gif for details.
screen_video.gif

IMA SDK

unread,
Sep 9, 2019, 1:54:55 PM9/9/19
to dekat...@gmail.com, ima...@googlegroups.com
Hi Yuji,

Thank you for providing additional details with regards to the issue. I was able to reproduce the crash that you're seeing when the device does offline during the first mid-roll video. Our team is going to review the issue. I will get back to you with more information as soon as possible.


Regards,
Arnaud Casame
IMA SDK Team

ref:_00D1U1174p._5001UHFnNu:ref
Reply all
Reply to author
Forward
0 new messages