-
Notifications
You must be signed in to change notification settings - Fork 447
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 transmitting in SSB over pulseaudio RTP #1661
Comments
Well I also have quantity of issues related to |
@f4exb , I cannot reproduce this issue with RX, only when TX, it might be issue with QT/pulse corrupting memory, but under valgrind there is a number of invalid memory reads in other places, maybe it is consequence, but valgrind does not point to qt/pulse, for example
It does not happen with hardware audio input, only with pulse RTP when TX with SSB module, maybe underrun/overrun causes it, because if I add |
Indeed in this instruction (ssbmodsource.cpp:156): std::copy(&m_audioReadBuffer[0], &m_audioReadBuffer[nbSamplesAudio], &m_audioBuffer[0]); There is no guarantee that |
@f4exb , unfortunately this change did not fix issue for me as it is only for RX, but it also broke RX as receive stops working after clicking on STOP->START for the selected SDR receiver, it starts producing next lines, only app restart helps.
|
I don't think this is related to the change. If you look at the code what it does is just a sanity check: if (m_audioBufferFill >= m_audioBuffer.size())
{
if (m_audioBufferFill > m_audioBuffer.size()) {
qDebug("SSBDemodSink::processOneSample: dropping %d samples", (int) m_audioBufferFill - (int) m_audioBuffer.size());
} Normally Then in the rest of the code you are left with the |
Yes, sorry, there must be something wrong with pulse/qt5 in RPIs bullsye distro , restarted RPI and stop->play SDR is able to start audio again. But with TX app just completely freezes now after about 10 seconds of transmission. This setup worked for me in the past with previous RPI distro and older SDRAngel version (about 1 year old). Must be some regression in pulseaudio... will re-try when they will release updates. |
edit: Deleted - PC problem, not SDRangel |
Interesting, that this initial SSB transmit issue does not happen when there is only one way pulseaudio RTP stream from PC to RPI running SDRAngel (only tx-ing through ssb, not rx-ing anything). When there are two pulseaudio streams from PC to RPI and from RPI to PC (it is enough just to have null sink without actual stream attached) then this issue happens. Maybe as a workaround it is possible to transmit through pulse audio and receive through built-in RTP... |
I am sorry that this part (at least) is so badly written that this simple change causes issues. I will fallback but this does not encourages me to continue with development of this software. |
In case you missed it, I already deleted my earlier comments, as this change doesn't appear to have been the problem for me. Sorry about that. It just happened that my sound card stopped working properly at the same time as I pulled this update, and I was seeing the same buffer messages as above, so hasitly assumed it was the same thing. But seems fine after a reboot. |
@f4exb, we all like this software, code is readable, no problems, made a number of QSOs over QO-100 by using it and remote outdoors station... just something got broken in qt/pulse after taking dish with RPI from garage and upgrade :/ |
OK glad to hear that. I hate it when it goes brittle for no apparent reason. |
Maybe somebody will find it helpful, this workaround does not trigger crash:
Also other qt5 based software, e.g. wsjtx does not have this issue when operating over pulseaudio RTP. |
RPI4 (bullseye distro), sdrangel master version, when using SSB transmit plugin to transmit from microphone through pulseaudio rtp module, after a while application is freezing and then crashes with
corrupted double-linked list
Happens in
libqtmedia_pulse.so
, so might be issue with qt and/or pulse?Also, compared to older version (~1 year ago), app started consuming lot of CPU when idling, no processing is done sinks and sources are stopped.
Tried to run with soapy remote, but there is also crash in SoapyRPCPacker when soapy server drops connection:
There is also crash when selecting output audio device
The text was updated successfully, but these errors were encountered: