Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

SIGSEGV and after AudioPolicyService server died! #1099

Closed
abhiguru opened this issue Jan 2, 2016 · 5 comments
Closed

SIGSEGV and after AudioPolicyService server died! #1099

abhiguru opened this issue Jan 2, 2016 · 5 comments

Comments

@abhiguru
Copy link

abhiguru commented Jan 2, 2016

When trying to playback MPD

Found this http://seclists.org/fulldisclosure/2015/Mar/96 but not sure where I can plug it in

Any suggestions pointers ?

Full logcat output - https://gist.github.com/abhiguru/2adb9a86c7cc3daf8715

? A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 20219 (Binder_1)
system_process W/NativeCrashListener: Couldn't find ProcessRecord for pid 20099
? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
? I/DEBUG: Build fingerprint: 'Android/rk3288_box/rk3288_box:5.1.1/LMY47V/yao11071522:userdebug/test-keys'
? E/DEBUG: AM write failure (32 / Broken pipe)
? I/DEBUG: Revision: '0'
? I/DEBUG: ABI: 'arm'
? I/DEBUG: pid: 20099, tid: 20219, name: Binder_1  >>> /system/bin/mediaserver <<<
? I/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
? I/DEBUG:     r0 b89553c0  r1 00000000  r2 000082dc  r3 b302ecb4
? I/DEBUG:     r4 b89a36a0  r5 b638a024  r6 b88e60c0  r7 00000500
? I/DEBUG:     r8 b89a36a0  r9 b660c215  sl 00000358  fp b89a3660
? I/DEBUG:     ip b638a004  sp b302ecb0  lr 00000000  pc b6381d2c  cpsr 20070010
? I/DEBUG:     #00 pc 00003d2c  /system/lib/libvpu.so (VPUMemLink+60)
? I/DEBUG:     #01 pc 00007330  /system/lib/libomxvpu_dec.so (Rkvpu_Post_OutputFrame+936)
? I/DEBUG:     #02 pc 00007acc  /system/lib/libomxvpu_dec.so (Rkvpu_OMX_OutputBufferProcess+208)
? I/DEBUG:     #03 pc 00007b28  /system/lib/libomxvpu_dec.so
? I/DEBUG:     #04 pc 0001659b  /system/lib/libc.so (__pthread_start(void*)+30)
? I/DEBUG:     #05 pc 000144c3  /system/lib/libc.so (__start_thread+6)
? I/ServiceManager: service 'media.audio_policy' died
com.google.android.exoplayer.demo I/SoftAAC2: Reconfiguring decoder: 0->48000 Hz, 0->2 channels
com.google.android.exoplayer.demo E/AudioTrack: Unable to query output sample rate for stream type -1; status -1
com.google.android.exoplayer.demo E/AudioTrack-JNI: AudioTrack::getMinFrameCount() for sample rate 48000 failed with status -1
com.google.android.exoplayer.demo E/android.media.AudioTrack: getMinBufferSize(): error querying hardware
? I/ServiceManager: service 'media.audio_policy' died
com.google.android.exoplayer.demo W/AudioSystem: AudioPolicyService server died!
com.example.aguru.myapplication7 W/AudioSystem: AudioFlinger server died!
system_process W/AudioSystem: AudioPolicyService server died!
system_process W/AudioSystem: AudioFlinger server died!
@ojw28
Copy link
Contributor

ojw28 commented Jan 3, 2016

The native crash is happening in platform code. I think in the platform's HEVC video decoder, but I'm not certain about that. You should report the issue to the device manufacturer. The video plays correctly on my Nexus 5X.

Does playback work correctly if you blacklist the HEVC decoder, which you can do by adding the following code block here:

if ("OMX.rk.video_decoder.hevc".equals(name)) {
  return false;
}

This is likely dependent on whether the device ships with Google's HEVC software decoder in addition to the one being blacklisted. If this does fix the issue then we might consider a more targeted version of this fix (i.e. targeted at the specific device / api level in addition to the decoder name) as a workaround.

@abhiguru
Copy link
Author

abhiguru commented Jan 3, 2016

Added the code snippet, Audio works okay now without crash but no Video, logs in the GIST
https://gist.github.com/abhiguru/1ceba37f04398870b397

Other HEVC videos that DO NOT work on the same device and player config

Other HEVC videos that DO work on the same device and player config

Thanks for looking at it!

@ojw28
Copy link
Contributor

ojw28 commented Jan 3, 2016

That implies the device does not ship with Google's HEVC decoder in addition to the blacklisted one. You'll need to report the issue to the device manufacturer.

@abhiguru
Copy link
Author

abhiguru commented Jan 3, 2016

Will do, Just so I understand it a little better it has a hardware decoder for HEVC would it still need one in Software ? And also any reason why some HEVC video's work and some don't ? Thanks!

@ojw28
Copy link
Contributor

ojw28 commented Jan 4, 2016

A device only needs one decoder, however if there are two then blacklisting one can result in the other one being used (i.e. there's more redundancy there in case one of them is broken). I don't know why some work and others don't. It could be related to profiles/levels/resolutions, however regardless the failure shouldn't be in the form of a native crash. Please ask the device manufacturer.

@ojw28 ojw28 closed this as completed Jan 4, 2016
@google google locked and limited conversation to collaborators Jun 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants