iOS will reboot on iPhone XS when play video streaming(iOS 12.0.1)

1

I'm a newbie iOS developer, recently there is a strange issue happened in iOS 12.0.1, our app is a video streaming app and codec protocol using h.264. We using VideoToolBox to decode the streaming, and get the decode buffer to display on screen, but sometimes the console log will show some error log like below

    default 15:08:51.621355     kernel  APPLEAVD:
    default 15:08:51.621497     kernel  [CAVDAvcDecErr] skip to keyframe
    default 15:08:51.621585     kernel  APPLEAVD:
    default 15:08:51.621652     kernel  processHWResponse(): clientID 1 frameNumber 1257 error 315
    default 15:08:51.622054     mediaserverd    AppleAVDDecodeFrameInternal(): failed - error: 305
    default 15:08:51.622260     mediaserverd    AppleAVDDecodeFrameResponse(): Received frameNum 1257, errorCode 315, index 9
    default 15:08:51.622515     mediaserverd    AppleAVDDecodeFrameResponse(): Frame# 1257 DecodeFrame failed with error 0x00000131

and run the streaming for a while, my phone will reboot and the latest log before reboot is in following section, I taught iOS application is running into sandbox, and the system won't effect by application, I have no idea about this bug, could any body explain the relative issue to me:

    default 15:08:51.855266     kernel  APPLEAVD:
    default 15:08:51.855347     kernel  APPLEAVD:
    default 15:08:51.855467     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6080
    default 15:08:51.855565     kernel  avdOutbox0ISR(): FRM DONE (cid:  1, fno:     1263, codecT: 0) ACK = 3 (FATAL)
    default 15:08:51.855649     kernel  APPLEAVD:
    default 15:08:51.855696     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0xf80
    default 15:08:51.855723     kernel  APPLEAVD:
    default 15:08:51.855807     kernel  DARTErrorHandler(): return OK
    default 15:08:51.856039     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x00000000 (TTBR 0 SEG 0x0 PTE 0x0)
    default 15:08:51.856079     kernel  APPLEAVD:
    default 15:08:51.856109     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6089
    default 15:08:51.856140     kernel  APPLEAVD:
    default 15:08:51.856212     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0x2d80
    default 15:08:51.856245     kernel  APPLEAVD:
    default 15:08:51.856440     kernel  DARTErrorHandler(): Dart Error AXIId = 0x608f
    default 15:08:51.856508     kernel  DARTErrorHandler(): Dart Error AXIId = 0x608a
    default 15:08:51.856600     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6192
    default 15:08:51.856648     kernel  APPLEAVD:
    default 15:08:51.856679     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6187
    default 15:08:51.856729     kernel  APPLEAVD:
    default 15:08:51.856777     kernel  CheckDartStatus(): dartStatus 0x0 dartAddr 0x3000
    default 15:08:51.856811     kernel  APPLEAVD:
    default 15:08:51.856859     kernel  DARTErrorHandler(): return OK
    default 15:08:51.856910     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x00003000 (TTBR 0 SEG 0x0 PTE 0x0)
    default 15:08:51.856955     kernel  APPLEAVD:
    default 15:08:51.857076     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6088
    default 15:08:51.857262     kernel  APPLEAVD:
    default 15:08:51.857291     kernel  DARTErrorHandler(): Dart Error AXIId = 0x608d
    default 15:08:51.857425     kernel  APPLEAVD:
    default 15:08:51.857470     kernel  APPLEAVD:
    default 15:08:51.857506     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6090
    default 15:08:51.857531     kernel  APPLEAVD:
    default 15:08:51.857557     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0x9900
    default 15:08:51.857612     kernel  APPLEAVD:
    default 15:08:51.857670     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x00009780 (TTBR 0 SEG 0x0 PTE 0x2)
    default 15:08:51.857696     kernel  APPLEAVD:
    default 15:08:51.857724     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0x4c80
    default 15:08:51.857769     kernel  APPLEAVD:
    default 15:08:51.857805     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0x5880
    default 15:08:51.857841     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6096
    default 15:08:51.857877     kernel  APPLEAVD:
    default 15:08:51.857912     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0x5080
    default 15:08:51.857944     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6092
    default 15:08:51.857979     kernel  APPLEAVD:
    default 15:08:51.858025     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0x6480
    default 15:08:51.858059     kernel  APPLEAVD:
    default 15:08:51.858114     kernel  DARTErrorHandler(): return OK
    default 15:08:51.858179     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x0000b580 (TTBR 0 SEG 0x0 PTE 0x2)
    default 15:08:51.858245     kernel  APPLEAVD:
    default 15:08:51.858313     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6186
    default 15:08:51.858347     kernel  APPLEAVD:
    default 15:08:51.858395     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0x6c00
    default 15:08:51.858420     kernel  APPLEAVD:
    default 15:08:51.858446     kernel  DARTErrorHandler(): return OK
    default 15:08:51.858479     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x00006a00 (TTBR 0 SEG 0x0 PTE 0x1)
    default 15:08:51.858512     kernel  APPLEAVD:
    default 15:08:51.858572     kernel  DARTErrorHandler(): Dart Error AXIId = 0x619a
    default 15:08:51.858639     kernel  APPLEAVD:
    default 15:08:51.858676     kernel  CheckDartStatus(): dartStatus 0x0 dartAddr 0x7480
    default 15:08:51.858703     kernel  APPLEAVD:
    default 15:08:51.858730     kernel  DARTErrorHandler(): return OK
    default 15:08:51.858762     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x00007480 (TTBR 0 SEG 0x0 PTE 0x1)
    default 15:08:51.858794     kernel  APPLEAVD:
    default 15:08:51.858832     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6092
    default 15:08:51.858885     kernel  APPLEAVD:
    default 15:08:51.858921     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0xe300
    default 15:08:51.858948     kernel  APPLEAVD:
    default 15:08:51.859096     kernel  DARTErrorHandler(): return OK
    default 15:08:51.859160     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x0000d380 (TTBR 0 SEG 0x0 PTE 0x3)
    default 15:08:51.859197     kernel  APPLEAVD:
    default 15:08:51.859283     kernel  DARTErrorHandler(): Dart Error AXIId = 0x609e
    default 15:08:51.859329     kernel  APPLEAVD:
    default 15:08:51.859357     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0xe880
    default 15:08:51.859409     kernel  APPLEAVD:
    default 15:08:51.859457     kernel  DARTErrorHandler(): return OK
    default 15:08:51.859501     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x0000e980 (TTBR 0 SEG 0x0 PTE 0x3)
    default 15:08:51.859536     kernel  APPLEAVD:
    default 15:08:51.859563     kernel  DARTErrorHandler(): Dart Error AXIId = 0x609a
    default 15:08:51.859589     kernel  APPLEAVD:
    default 15:08:51.859614     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0xf200
    default 15:08:51.859638     kernel  APPLEAVD:
    default 15:08:51.859729     kernel  DARTErrorHandler(): return OK
    default 15:08:51.859813     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x0000ee80 (TTBR 0 SEG 0x0 PTE 0x3)
    default 15:08:51.859850     kernel  APPLEAVD:
    default 15:08:51.859944     kernel  DARTErrorHandler(): Dart Error AXIId = 0x609f
    default 15:08:51.859978     kernel  APPLEAVD:
    default 15:08:51.860003     kernel  CheckDartStatus(): dartStatus 0x80000004 dartAddr 0xf480
    default 15:08:51.860029     kernel  APPLEAVD:
    default 15:08:51.860055     kernel  DARTErrorHandler(): return OK
    default 15:08:51.860127     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x0000f800 (TTBR 0 SEG 0x0 PTE 0x3)
    default 15:08:51.860160     kernel  APPLEAVD:
    default 15:08:51.860195     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6086
    default 15:08:51.860224     kernel  APPLEAVD:
    default 15:08:51.860258     kernel  CheckDartStatus(): dartStatus 0x0 dartAddr 0xfb00
    default 15:08:51.860329     kernel  APPLEAVD:
    default 15:08:51.860379     kernel  DARTErrorHandler(): return OK
    default 15:08:51.860423     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x0000fb00 (TTBR 0 SEG 0x0 PTE 0x3)
    default 15:08:51.860450     kernel  APPLEAVD:
    default 15:08:51.860475     kernel  DARTErrorHandler(): Dart Error AXIId = 0x6098
    default 15:08:51.860522     kernel  APPLEAVD:
    default 15:08:51.860568     kernel  CheckDartStatus(): dartStatus 0x0 dartAddr 0x10180
    default 15:08:51.860603     kernel  APPLEAVD:
    default 15:08:51.860658     kernel  DARTErrorHandler(): return OK
    default 15:08:51.860699     kernel  dart-avd: DART(DART) SID 0 PTE invalid soft exception on read with device DVA 0x00010180 (TTBR 0 SEG 0x0 PTE 0x4)
    default 15:08:51.956455     kernel  APPLEAVD:
    default 15:08:51.956719     kernel  StatusLogging(): [DmaTop] 00000000 00000000 00000003 00000001
    default 15:08:51.956795     kernel  APPLEAVD:
    default 15:08:51.956859     kernel  StatusLogging(): [AvpCfg] 00000000 00043077 0000003f 00000274
    default 15:08:51.956917     kernel  APPLEAVD:
    default 15:08:51.957101     kernel  StatusLogging(): [Hv0Cfg] 00000000 00000000 00000000 00000000
    default 15:08:51.957273     kernel  APPLEAVD:
    default 15:08:51.957409     kernel  StatusLogging(): [Hv1Cfg] 00000000 00000000 00000000 00000000
    default 15:08:51.957586     kernel  APPLEAVD:
    default 15:08:51.957862     kernel  StatusLogging(): [DmaIRQ] 00000001
    default 15:08:51.957972     kernel  APPLEAVD:
    default 15:08:51.958127     kernel  HardReset(): Reset AVD HW
    default 15:08:51.958266     kernel  APPLEAVD:
    default 15:08:51.958356     kernel  virtual void CAvdWrapCtrlClover::PwmReset()(): Enter
    default 15:08:51.958420     kernel  APPLEAVD:
    default 15:08:51.958520     kernel  PwmReset(): calling avd_resetFunct 0xffffffe000eff680 next
ios
iphone
video-streaming
ios12
asked on Stack Overflow Oct 29, 2018 by Porco

1 Answer

1

Note APPLEAVD in the logs: h.264 (AVC) being decoded by AppleAVD is new on A12. On A11, AppleAVD only handled HEVC and AVC was handled by AppleD5500. So, compatibility and robustness could use some work. Please report this to https://developer.apple.com/bug-reporting/ and if you want to help the community also to https://openradar.appspot.com/page/1 and here.

Can you get a file version of the stream and play it with the TV app (or the higher level AVFoundation APIs) to check actual bitstream vs. packaging & transport issues? If you do have trouble playing the file, please attach it to the Radar and/or put a Dropbox link here.

answered on Stack Overflow Nov 7, 2018 by Morgan

User contributions licensed under CC BY-SA 3.0