-
-
Notifications
You must be signed in to change notification settings - Fork 20.8k
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
Invalid read in audio demo #34494
Comments
My guess this push_back is the trouble maker:
It is asking to grow memory, and if it cannot grow in-place, it has to move to the new place, while memory is moving to the new place, the pointer to the size of the array may become 0 from the view of the main thread. |
Hi there, I'm trying to build a voip addon for godot, and I've been facing some CRASH_BAD_INDEX at cowdata.h:152 randomly when using AudioEffectRecord::get_recording(). Here is the merge request I'm working on (some more work is needed, like the format 8bit is not tested and adpcm is not implemeted as I never got it working in the first place (I've a pain story with it u_u), but some review would be cool): So, I don't know if it is linked, I'll try it later. Edit: after some tries, I can't reproduce the crash of the OP, but seeing the code of it, it's based on get_recording(), so my pseudo MR should work here. Edit2: Just saw your MR, It does use the base AudioEffectRecord architecture which should be remorked I think, as encoding should happen in a threaded way, and we shouldn't trigger 2 sample duplications (both in get_recording(), one to encode and the other to set_data on the AudioStreamSample.) in the main thread, as audio samples are heavy (44100 iteration / second). I encode the PoolVector<uint8_t> on the thread asit's more thread safe (it throws errors when badly manipulated but not crashes), sorry to overlap your work and not seeing the already made MR 200 pixels away from the answer button. And the MR request should not be on master as this is a hard crash/bug, it should at least be aimed on 3.2 as it would rot any audio recording for 3.x. |
Pull requests should be opened against the Of course, if a pull request doesn't apply to |
@Calinou Ok =) Sorry, I'm a bit new to godot's contributions, thank you for the info. |
Still happens with 3.2.4 beta, but Record and stop buttons must be clicked very fast
|
Godot version:
Godot 3.2 beta 4
OS/device including version:
Ubuntu 19.10
Issue description:
Sanitizer Log(asan)
Steps to reproduce:
Minimal reproduction project:
https://github.com/godotengine/godot-demo-projects/tree/master/audio/mic_record
The text was updated successfully, but these errors were encountered: