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

when i openStream,it will crash some time in VectorImpl::_grow() #1001

Closed
jie545098983 opened this issue Sep 2, 2020 · 4 comments
Closed
Assignees
Labels
Milestone

Comments

@jie545098983
Copy link

jie545098983 commented Sep 2, 2020

Mycode:
bool Recorder::create(int sampleRate, AudioStreamCallback *callback) {
mSampleRate = sampleRate;
AudioStreamBuilder builder;
builder.setDeviceId(oboe::kUnspecified);
builder.setChannelCount(1);
builder.setSampleRate(sampleRate);
builder.setCallback(callback);
builder.setPerformanceMode(PerformanceMode::LowLatency);
builder.setSharingMode(SharingMode::Exclusive);
builder.setSampleRateConversionQuality(SampleRateConversionQuality::Medium);
builder.setFormat(oboe::AudioFormat::I16);
builder.setDirection(oboe::Direction::Input);
builder.setAudioApi(oboe::AudioApi::Unspecified);

Result result = builder.openStream(&mRecordingStream);
if (result != Result::OK) {
    return false;
}

auto setBufferSizeResult = mRecordingStream->setBufferSizeInFrames(
        mRecordingStream->getFramesPerBurst() * 2);
if (setBufferSizeResult != Result::OK) {
    return false;
}
return true;

}

when i createRecorder,it will crash like this:
Abort message: 'Assertion failed: editable == NULL'
2020-09-02 19:55:10.633 24157-24157/? A/DEBUG: x0 0000000000000000 x1 0000000000005e55 x2 0000000000000006 x3 0000000000000008
2020-09-02 19:55:10.633 24157-24157/? A/DEBUG: x4 00003139274e2410 x5 00003139274e2410 x6 00003139274e2410 x7 10244e273931ffff
2020-09-02 19:55:10.633 24157-24157/? A/DEBUG: x8 0000000000000083 x9 91e0aeda6152a39d x10 0000000000000000 x11 fffffffc7ffffbdf
2020-09-02 19:55:10.633 24157-24157/? A/DEBUG: x12 0000000000000001 x13 ffffffffffffffff x14 ffff000000000000 x15 ffffffffffffffff
2020-09-02 19:55:10.633 24157-24157/? A/DEBUG: x16 000000770a5e92b0 x17 000000770a508bd8 x18 0000000000000010 x19 0000000000005e1e
2020-09-02 19:55:10.633 24157-24157/? A/DEBUG: x20 0000000000005e55 x21 0000007669bfe3d8 x22 0000000000000001 x23 0000000000000001
2020-09-02 19:55:10.633 24157-24157/? A/DEBUG: x24 0000000000000000 x25 000000767f2d4728 x26 0000007709eab500 x27 000000000000dbd0
2020-09-02 19:55:10.633 24157-24157/? A/DEBUG: x28 0000007709eab500 x29 0000007669bfddf0
2020-09-02 19:55:10.633 24157-24157/? A/DEBUG: sp 0000007669bfddb0 lr 000000770a4fc04c pc 000000770a4fc074

2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: backtrace:
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #00 pc 0000000000022074 /system/lib64/libc.so (abort+116)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #1 pc 0000000000008644 /system/lib64/liblog.so (__android_log_assert+296)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #2 pc 0000000000011d9c /system/lib64/libutils.so (android::VectorImpl::editArrayImpl()+256)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #3 pc 00000000000120dc /system/lib64/libutils.so (android::VectorImpl::_grow(unsigned long, unsigned long)+244)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #4 pc 0000000000013410 /system/lib64/libutils.so (android::SortedVectorImpl::add(void const*)+116)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #5 pc 000000000006616c /system/lib64/libaudioclient.so (android::KeyedVector<int, android::Vector<android::wpandroid::AudioSystem::AudioDeviceCallback>>::replaceValueFor(int const&, android::Vector<android::wpandroid::AudioSystem::AudioDeviceCallback> const&)+196)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #6 pc 000000000006aac4 /system/lib64/libaudioclient.so (android::AudioSystem::AudioFlingerClient::addAudioDeviceCallback(android::wpandroid::AudioSystem::AudioDeviceCallback const&, int)+944)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #7 pc 000000000006f510 /system/lib64/libaudioclient.so (android::AudioSystem::addAudioDeviceCallback(android::wpandroid::AudioSystem::AudioDeviceCallback const&, int) [clone .cfi]+96)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #8 pc 00000000000639c0 /system/lib64/libaudioclient.so (android::AudioRecord::addAudioDeviceCallback(android::spandroid::AudioSystem::AudioDeviceCallback const&)+320)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #9 pc 0000000000032084 /system/lib64/libaaudio.so (aaudio::AudioStreamRecord::open(aaudio::AudioStreamBuilder const&)+4820)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #10 pc 000000000002a958 /system/lib64/libaaudio.so (aaudio::AudioStreamBuilder::build(aaudio::AudioStream**)+696)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #11 pc 000000000002be10 /system/lib64/libaaudio.so (AAudioStreamBuilder_openStream.cfi+144)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #12 pc 0000000000588e68 /data/app/com.score-y89533gfsSlx5BQ4B368PA==/lib/arm64/xxx.so (oboe::AudioStreamAAudio::open()+508)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #13 pc 000000000058ac38 /data/app/com.score-y89533gfsSlx5BQ4B368PA==/lib/arm64/xxx.so (oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)+380)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #14 pc 000000000058ab58 /data/app/com.score-y89533gfsSlx5BQ4B368PA==/lib/arm64/xxx.so (oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)+156)
2020-09-02 19:55:10.641 24157-24157/? A/DEBUG: #15 pc 0000000000207548 /data/app/com.score-y89533gfsSlx5BQ4B368PA==/lib/arm64/xxx.so (Recorder::create(int, oboe::AudioStreamCallback*)+108)

@philburk
Copy link
Collaborator

philburk commented Sep 2, 2020

It may be related to a memory allocation failure.

Does this happen after working OK, many times?

Are you closing the stream?

We need more information. Can you please fill in some of the information below.

Android version(s):
Android device(s):
Oboe version:
App name used for testing:
(Please try to reproduce the issue using the OboeTester or an Oboe sample.)

@philburk philburk changed the title when i openStream,it will crash some time when i openStream,it will crash some time in VectorImpl::_grow() Sep 2, 2020
@jie545098983
Copy link
Author

yes,it work ok at first time , i used the method mRecordingStream->stop() and mRecordingStream->close() to stop the stream. after some second i create the stream again,it will crash some time
Android version(s): 9
Android device(s): mi 6
Oboe version: 1.3.3

@ggfan ggfan self-assigned this Sep 9, 2020
@dturner dturner added this to the v1.5 milestone Sep 9, 2020
@ggfan
Copy link
Contributor

ggfan commented Sep 15, 2020

@jie545098983 by putting your code into a small app, I could not see it happening on Pixel 3a XL. if your app is simple one, could you post it somewhere or via email? if it is a big, please share the binary, we could try it out. The sample rate I used is 44100Hz ( device's native sample rate is 48000Hz ), what is the sample rate you are trying to convert? What happen if you do not let it re-sample ( do not set the sampleRate )?

Is your callback object for recording stream the same one for creating all recording streams?

if code or binary is not possible, probably file a bug in public issue tracker and upload a bugreport there? please update here with your created issue number here; you might also do a quick profile to check on memory usage with profiler tool in Android Studio.

thank you for file the issue, it is important one.

@dturner
Copy link
Collaborator

dturner commented Oct 14, 2020

Closing due to inactivity. Please comment here if you're still having issues and we can reopen.

@dturner dturner closed this as completed Oct 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants