-
Notifications
You must be signed in to change notification settings - Fork 44
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
Crash when microphone is selected #104
Comments
This happen if no pulseaudio card profile is selected. |
Also im having crash if I use pulseaudio, , it seems mic cant be used with pulse. SOUNDIO works "fine", but on rx i notice some weird noises |
I'm having the same issue as well, ended up selling my ANON 7000 because of it. |
This is a problem about pulseaudio and buffer overflow. I must learn how to
use those libs to discover where exactly is the bug.
I think the problems is that buffer size isn't calculated correctly using
every current variables as sample rate.
…On Thu, Jul 22, 2021 at 3:42 PM daneenjah ***@***.***> wrote:
I'm having the same issue as well, ended up selling my ANON 7000 because
of it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#104 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABIZ5WYANCG4OOLHVZJC3FLTZBQ7PANCNFSM47ENYBEQ>
.
|
I have found the reason for this crash. When the mic is enabled, both data coming from the ANAN built-in mic port and from pulseaudio are processed. This of course is not only wrong, it also leads to a race condition, since processing protocol 2 data and processing audio data happens in the same thread. Thus, when process_mic_data is being run simultaneously in both threads, it can happen that one thread fills the buffer up, and before it can reset the buffer, the other thread adds to it overwriting the data. I'll propose a fix. |
BTW, to find the problem, I used clang as a compiler, and -fsanitize=address as build option. This pointed me to process_mic_data as the function overflowing its buffer. The rest was deduction. |
linhpsdr latest build crash if I enable my microphone,
fish: Job 1, 'linhpsdr' terminated by signal SIGSEGV (Address boundary error)
Maybe;
[690253:690253:0622/171735.325212:ERROR:gl_utils.cc(314)] [.RendererMainThread-0x3638f1822500] GL_INVALID_FRAMEBUFFER_OPERATION: Draw framebuffer is incomplete
`jun 22 17:38:49 arch systemd-coredump[2668084]: [🡕] Process 2648955 (linhpsdr) of user 1000 dumped core.
The text was updated successfully, but these errors were encountered: