Open myj420 opened 3 years ago
From the stack trace, it appears that the AAudio MMAP server is not responding to a Binder request to open a stream. The service is probably stuck in a deadlock. It is very important that we fix this. Thank you for reporting this.
Has the service gotten stuck like this more than once? Can you reproduce it?
It would be a very big help if you could capture a bugreport the next time it gets stuck. Hopefully very soon after the problem occurs before the logs get flushed. A bugreport file will have tombstones that we can use to identify the stuck service threads.
@myj420 - Please file a new bug here and attach the bugreport:
https://issuetracker.google.com/issues/new?component=898361&template=1458029
Then let me know the bug number. Do not attach a bugreport file to a public GitHub issue.
thanks for your reply, it often sticks on this phone, but I couldn't find a way to reproduce it. I will capture a bugreport when it appears again
@philburk I also met this issue in our product, using oboe latest release version. The stuck happens when calling oboe::AudioStreamBuilder.openStream(stream_), but I can't reproduce it, I often suggest our user restart the App, all things works well again.
Do you know how we can provide more information about the issue? such as some android log? we can request use export android log, but can't request user try special debug version.
may the root cause is I am using SharingMode::Exclusive mode?
may the root cause is I am using SharingMode::Exclusive mode?
That should not cause a hang. There is not much we can do without a bugreport.
Android version(s): android 11 Android device(s):Samsung galaxy s10+ SM-G9750 Oboe version:1.5 stable App name used for testing: (Please try to reproduce the issue using the OboeTester or an Oboe sample.)
Short description (Please only report one bug per Issue. Do not combine multiple bugs.) we are using the oboe 1.5-stable on the android 11, and when we open a stream with the API AAudio, the thread is stuck, but it not stuck when we use the API OpenSLES. We tried all samples of oboe, and they are in the same situation. After we reboot the device, it works correctly again. we print the stack information when stuck:
__ioctl + 4 frame #1: 0x000000734ccae14c libc.so
ioctl + 160 frame #2: 0x000000734c7d7424 libbinder.soandroid::IPCThreadState::talkWithDriver(bool) + 252 frame #3: 0x000000734c7d879c libbinder.so
android::IPCThreadState::waitForResponse(android::Parcel, int) + 64 frame #4: 0x000000734c7d8514 libbinder.soandroid::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int) + 188 frame #5: 0x000000734c7d0048 libbinder.so
android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int) + 156 frame #6: 0x00000070b1795c90 libaaudio_internal.so___lldb_unnamed_symbol140$$libaaudio_internal.so + 348 frame #7: 0x00000070b1791b38 libaaudio_internal.so
aaudio::AAudioBinderClient::openStream(aaudio::AAudioStreamRequest const&, aaudio::AAudioStreamConfiguration&) + 172 frame #8: 0x00000070b1786058 libaaudio_internal.soaaudio::AudioStreamInternal::open(aaudio::AudioStreamBuilder const&) + 1268 frame #9: 0x00000070b178b8e0 libaaudio_internal.so
aaudio::AudioStreamInternalPlay::open(aaudio::AudioStreamBuilder const&) + 92 frame #10: 0x00000070b1777f88 libaaudio_internal.soaaudio::AudioStreamBuilder::build(aaudio::AudioStream**) + 904 frame #11: 0x00000070b17f6754 libaaudio.so
___lldb_unnamed_symbol25$$libaaudio.so + 148 frame #12: 0x000000703b725ac0 librtcEngineNative.sooboe::AudioStreamAAudio::open(this=0xb40000715b09af30) at AudioStreamAAudio.cpp:262 frame #13: 0x000000703b71ced8 librtcEngineNative.so
oboe::AudioStreamBuilder::openStream(this=0x0000007fd4ff6538, streamPP=0x0000007fd4ff64d0) at AudioStreamBuilder.cpp:159 frame #14: 0x000000703b71cd94 librtcEngineNative.sooboe::AudioStreamBuilder::openStream(this=0x0000007fd4ff66d8, streamPP=0x0000007fd4ff65e0) at AudioStreamBuilder.cpp:113 frame #15: 0x000000703b71d3c4 librtcEngineNative.so
oboe::AudioStreamBuilder::openStream(this=0x0000007fd4ff66d8, sharedStream=nullptr) at AudioStreamBuilder.cpp:208 frame #16: 0x000000703b70cd68 librtcEngineNative.soRTCEngineNative::openStreams(this=0xb40000719b083530) at RTCEngineNative.cpp:120 frame #17: 0x000000703b70cb4c librtcEngineNative.so
RTCEngineNative::setEffectOn(this=0xb40000719b083530, isOn=true) at RTCEngineNative.cpp:87 frame #18: 0x000000703b71c124 librtcEngineNative.so`::Java_com_livedata_rtc_RTCEngine_setEffectOn(env=0xb40000717b055d90, (null)=0x0000007fd4ff68c4, isEffectOn=1 true) at jni_bridge.cpp:84