Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

On iOS 9, video projection app is terminated right after video streaming is started #904

Closed
shoamano83 opened this issue Mar 20, 2018 · 1 comment
Labels
bug A defect in the library
Milestone

Comments

@shoamano83
Copy link
Contributor

Bug Report

On iOS 9 device, a video projection app receives SIGABRT once video streaming is started.

Reproduction Steps
  1. Create a video projection app with proxy code of commit 6cb1b26 (develop branch)
  2. Connect to Core (version 4.4.1)
  3. Launch the app from HMI
Expected Behavior

The app starts video streaming.

Observed Behavior

The app terminates with SIGABRT.

OS & Version Information
  • iOS Version: iOS 9.0.2
  • SDL iOS Version: commit 6cb1b26 (develop branch)
  • Testing Against: Proprietary HMI implementation, with Core 4.4.1.
Test Case, Sample Code, and / or Example App

Following log is observed on Xcode:

2018-03-20 10:48:26.681 |I| ProxyManager start() #69: Connecting...(iAP)
2018-03-20 10:48:27.022 |I| AudioDataManager stopStream() #205: Stop audio streaming
2018-03-20 10:48:27.120 |I| ProxyManager connect() #152: Successfully connected with the SDL Core. resultCode Optional(__C.SDLResult(_rawValue: WRONG_LANGUAGE))
2018-03-20 10:48:27.120 |I| ProxyManager hmiLevel(_:didChangeToLevel:) #346: Went from HMI level NONE to NONE
2018-03-20 10:48:27.120 |I| ProxyManager audioStreamingState(_:didChangeToState:) #357: Went from audio streaming state Optional(NOT_AUDIBLE) to NOT_AUDIBLE
2018-03-20 10:48:27.399 |I| ProxyManager hmiLevel(_:didChangeToLevel:) #346: Went from HMI level NONE to FULL
2018-03-20 10:48:27.400 |I| ProxyManager audioStreamingState(_:didChangeToState:) #357: Went from audio streaming state Optional(NOT_AUDIBLE) to AUDIBLE
2018-03-20 10:48:27.440 |I| ProxyManager onAudioStreamingStarted() #173: AudioStreaming started
2018-03-20 10:48:27.723 |I| ProxyManager onVideoStreamingStarted() #163: VideoStreaming started
2018-03-20 10:48:27.762 (app name removed)[376:15012] -[CADisplayLink targetTimestamp]: unrecognized selector sent to instance 0x13cf3e950
2018-03-20 10:48:27.763 (app name removed)[376:15012] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CADisplayLink targetTimestamp]: unrecognized selector sent to instance 0x13cf3e950'
*** First throw call stack:
(0x1835d8f5c 0x1981cff80 0x1835dfc6c 0x1835dcc14 0x1834e0dcc 0x100c29880 0x100417700 0x18837eba4 0x18837ea58 0x184866018 0x18357a8e0 0x183590cdc 0x183590414 0x18358e16c 0x1834bcdc0 0x18e610088 0x188b96f44 0x100101c48 0x1989fa8b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
@shoamano83
Copy link
Contributor Author

CADisplayLink's targetTimestamp property is available on iOS 10.0+.
https://developer.apple.com/documentation/quartzcore/cadisplaylink/1648422-targettimestamp?language=objc

I am not sure whether iOS 9 devices are still supported. Since the fix seemed very simple, I created a PR anyway.

@joeljfischer joeljfischer mentioned this issue Mar 20, 2018
2 tasks
@joeljfischer joeljfischer added the bug A defect in the library label Mar 20, 2018
@joeljfischer joeljfischer added this to the 5.2.0 milestone Mar 20, 2018
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug A defect in the library
Projects
None yet
Development

No branches or pull requests

2 participants