Many thanks for the response, Steve. I had started to suspect that my email had not reached the list.
Since then, I have captured a backtrace of the stuck thread when the problem occurs. #0 0x00007ffff4d140bf in __GI___poll (fds=fds@entry=0x7fff96ffc700, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007fffd510101a in poll (__timeout=-1, __nfds=1, __fds=0x7fff96ffc700, __fds=<optimized out>, __nfds=<optimized out>, __timeout=<optimized out>) at /usr/include/bits/poll2.h:39 #2 snd1_pcm_wait_nocheck (pcm=pcm@entry=0x7fff84016d10, timeout=timeout@entry=-1) at pcm/pcm.c:2900 #3 0x00007fffd5114f8a in ioplug_drain_via_poll (pcm=0x7fff84016d10) at pcm/pcm_ioplug.c:525 #4 snd_pcm_ioplug_drain (pcm=0x7fff84016d10) at pcm/pcm_ioplug.c:568 #5 0x00007fffe803b56f in QAlsaAudioInput::suspend() (this=0x7fff84001b00) at /usr/src/debug/qtmultimedia/src/plugins/alsa/qalsaaudioinput.cpp:702 #6 QAlsaAudioInput::suspend() (this=0x7fff84001b00) at /usr/src/debug/qtmultimedia/src/plugins/alsa/qalsaaudioinput.cpp:699 #7 0x0000555555635774 in SoundInput::suspend() () #8 0x00007ffff58b0be0 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5 ... #20 0x00007ffff56e42ea in () at /usr/lib/libQt5Core.so.5 #21 0x00007ffff4c9f8fd in start_thread (arg=<optimized out>) at pthread_create.c:442 #22 0x00007ffff4d21a60 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 I have also found that the issue can be reproduced using the simple Qt5 audio input example application from: https://code.qt.io/cgit/qt/qtmultimedia.git/tree/examples/multimedia/audioinput?h=5.15 Using the example app, when I select the 'pulse' input device and toggle the 'suspend' button a few times, the same problem occurs (backtrace below), with the alsa-lib function 'snd_pcm_ioplug_drain' never returning. #0 __snd_pcm_lock (pcm=0x555555bf55a0) at pcm/pcm_local.h:1199 #1 snd1_pcm_wait_nocheck (pcm=pcm@entry=0x555555bf55a0, timeout=timeout@entry=-1) at pcm/pcm.c:2901 #2 0x00007fffea624f8a in ioplug_drain_via_poll (pcm=0x555555bf55a0) at pcm/pcm_ioplug.c:525 #3 snd_pcm_ioplug_drain (pcm=0x555555bf55a0) at pcm/pcm_ioplug.c:568 #4 0x00007fffeaf4756f in QAlsaAudioInput::suspend() (this=0x7fffe4005920) at /usr/src/debug/qtmultimedia/src/plugins/alsa/qalsaaudioinput.cpp:702 #5 QAlsaAudioInput::suspend() (this=0x7fffe4005920) at /usr/src/debug/qtmultimedia/src/plugins/alsa/qalsaaudioinput.cpp:699 Therefore, the bug is almost certainly in Qt, alsa-lib, or pulseaudio, and I shall submit a bug report in one of those places when I get the time. Of course, using the stop/start methods rather than suspend/resume as in my first email may still be a valid workaround for wsjtx, especially given that we are presumably not interested in any input samples buffered at the start of transmission or received during it. I can also confirm that, running unmodified wsjtx again, I only experience the problem when I have a pulseaudio source selected as the *input* device. This makes total sense now, but it never occurred to me to test that in the first place as the problem manifested as a failure of the output device. On Mon, Dec 12, 2022 at 10:16 PM Steve Platt via wsjt-devel < wsjt-devel@lists.sourceforge.net> wrote: > On 08/12/2022 18:33, Ryan Suchocki via wsjt-devel wrote: > > Hi, > > > > I'm having issues which resemble those described a couple of different > > posts I've seen online. Specifically, no PulseAudio playback streams > > appear when trying to transmit (either via 'tune' or otherwise) with > > any of the available pulse/audio devices, no sound is produced, and > > the process does not exit when all GUI windows are closed... > > > Hi Ryan, > > You have gone a lot deeper than I got but it seems to me that the > latch-up (spinning thread) is only produced when both input *and* output > devices are set to "pulse" ... it's almost like when the wrong > permissions are requested when opening a file first time, so that the > second open fails. > > This bug has been around and reported for a long time but no resolution > is found. I now have to specify exactly which device I want for at > least one of the two device choices.as i before running wsjtx. > > Steve > > > _______________________________________________ > wsjt-devel mailing list > wsjt-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wsjt-devel >
_______________________________________________ wsjt-devel mailing list wsjt-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wsjt-devel