[alsa-devel] alsa-jack issues

Radoslaw Szkodzinski astralstorm at gmail.com
Sat Sep 20 00:59:58 CEST 2014


On Thu, Sep 11, 2014 at 11:02 AM, Radoslaw Szkodzinski
<astralstorm at gmail.com> wrote:
> On Thu, Sep 11, 2014 at 1:33 AM, Sergey <sergemp at mail.ru> wrote:
>> Sat, 6 Sep 2014 Radoslaw Szkodzinski wrote:
>>
>>>A recent change in alsa-plugins 1.0.28 alsa-jack has changed the poll semantics.
>>>This breaks audacious and mpv, perhaps more applications.
>>>
>>>The regression is caused by:
>>>Commit: 9217377337cdceb62abeb5969112b738bb5cd551
>>>jack: fix polling and recovering
>>
>> I'm initial author of this commit and I'd love to fix the issue,
>> but it never happens to me. I need your help to fix it.
>>
>> Can you provide some steps to reproduce this bug? How much time it
>> takes to reproduce it? Can you reproduce it with alsa 1.0.27 and
>> alsa-jack plugin 1.0.28? You can download that plugin separately:
>
> I'll test this during the weekend. 1.0.27.x was fine with alsa 1.0.27.

Sorry it took this long, the following version is fine:
media-plugins/alsa-plugins-1.0.27-r3 was built with the following:
USE="ffmpeg jack libsamplerate speex -debug -pulseaudio" ABI_X86="32 64 -x32"

It takes between 1 and 10 minutes to reproduce the bug with alsa-plugins-1.0.28.

Alsa-lib info is in both cases:
media-libs/alsa-lib-1.0.28 was built with the following:
USE="python -alisp -debug -doc" ABI_X86="32 64 -x32"
PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7"

I'm somewhat suspicious is it caused by a wrong Jack buffer size, and
only masked by incorrect handling of buffer fill in the older version.
Verbose log from aplay is attached (w/ alsa-jack 1.0.27.x).
Note the discrepancy between JackClient period size (not divisible by
actual period size) and ALSA min_avail.

Best regards,
-- 
Radosław Szkodziński
-------------- next part --------------
jack_client_new: deprecated
Jack: JackClient::SetupDriverSync driver sem in flush mode
Jack: JackPosixSemaphore::Connect name = jack_sem.1000_default_alsa-jack.jackP.21511.0
Jack: JackPosixSemaphore::Connect sem_getvalue 0
Jack: Clock source : unknown
Jack: JackLibClient::Open name = alsa-jack.jackP.21511.0 refnum = 6
Playing WAVE '/usr/share/sounds/login.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Jack: JackClient::PortRegister ref = 6 name = alsa-jack.jackP.21511.0:out_000 type = 32 bit float mono audio port_index = 34
Jack: JackClient::PortRegister ref = 6 name = alsa-jack.jackP.21511.0:out_001 type = 32 bit float mono audio port_index = 35
Plug PCM: Linear Integer <-> Linear Float conversion PCM (FLOAT_LE)
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 44100
  exact rate   : 44100 (44100/1)
  msbits       : 16
  buffer_size  : 22050
  period_size  : 5512
  period_time  : 125000
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 5512
  period_event : 0
  start_threshold  : 22050
  stop_threshold   : 22050
  silence_threshold: 0
  silence_size : 0
  boundary     : 6206523236469964800
Slave: ALSA <-> JACK PCM I/O Plugin
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : FLOAT_LE
  subformat    : STD
  channels     : 2
  rate         : 44100
  exact rate   : 44100 (44100/1)
  msbits       : 32
  buffer_size  : 22050
  period_size  : 5512
  period_time  : 125000
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 5512
  period_event : 0
  start_threshold  : 22050
  stop_threshold   : 22050
  silence_threshold: 0
  silence_size : 0
  boundary     : 6206523236469964800
Max peak (11024 samples): 0x00001fe1 #####                24%
Max peak (11024 samples): 0x00002fc5 ########             37%
Max peak (11024 samples): 0x000032e2 ########             39%
Max peak (11024 samples): 0x000042e2 ###########          52%
Jack: JackClient::Activate
Jack: JackPosixThread::StartImp : create non RT thread
Jack: JackPosixThread::ThreadHandler : start
Jack: JackClient::kBufferSizeCallback buffer_size = 256
Jack: JackClient::Init : period = 5804 computation = 100 constraint = 5804
Jack: JackPosixThread::AcquireRealTimeImp priority = 10
Jack: JackClient::ClientNotify ref = 6 name = alsa-jack.jackP.21511.0 notify = 2
Jack: JackClient::kActivateClient name = alsa-jack.jackP.21511.0 ref = 6 
Jack: JackClient::Connect src = alsa-jack.jackP.21511.0:out_000 dst = Carla:Advanced Crossfeed:in0
Jack: JackClient::ClientNotify ref = 6 name = alsa-jack.jackP.21511.0 notify = 18
Jack: JackClient::ClientNotify ref = 6 name = alsa-jack.jackP.21511.0 notify = 18
Jack: JackClient::Connect src = alsa-jack.jackP.21511.0:out_001 dst = Carla:Advanced Crossfeed:in1
Jack: JackClient::ClientNotify ref = 6 name = alsa-jack.jackP.21511.0 notify = 18
Jack: JackClient::ClientNotify ref = 6 name = alsa-jack.jackP.21511.0 notify = 18
Max peak (11024 samples): 0x0000505a #############        62%
Max peak (11024 samples): 0x0000416b ###########          51%
Max peak (11024 samples): 0x00005235 #############        64%
Max peak (11024 samples): 0x000057a4 ##############       68%
Max peak (11024 samples): 0x00007fa8 #################### 99%
Max peak (11024 samples): 0x00006644 ################     79%
Max peak (11024 samples): 0x000062a7 ################     77%
Max peak (11024 samples): 0x00004615 ###########          54%
Max peak (11024 samples): 0x00005f0f ###############      74%
Max peak (11024 samples): 0x00006aa0 #################    83%
Max peak (11024 samples): 0x00005f61 ###############      74%
Max peak (11024 samples): 0x000051eb #############        63%
Max peak (11024 samples): 0x000069a5 #################    82%
Max peak (11024 samples): 0x00005a9b ###############      70%
Max peak (11024 samples): 0x00004599 ###########          54%
Max peak (11024 samples): 0x00003526 #########            41%
Max peak (11024 samples): 0x000034bc #########            41%
Max peak (11024 samples): 0x00002a6e #######              33%
Max peak (11024 samples): 0x00002d82 ########             35%
Max peak (11024 samples): 0x000023a9 ######               27%
Max peak (11024 samples): 0x000019c9 #####                20%
Max peak (11024 samples): 0x00001271 ###                  14%
Max peak (11024 samples): 0x0000126a ###                  14%
Max peak (11024 samples): 0x0000101b ###                  12%
Max peak (11024 samples): 0x00000936 ##                   7%
Max peak (11024 samples): 0x0000096e ##                   7%
Max peak (11024 samples): 0x00000711 ##                   5%
Max peak (11024 samples): 0x000006be ##                   5%
Max peak (11024 samples): 0x000004f9 #                    3%
Max peak (11024 samples): 0x000003b1 #                    2%
Max peak (11024 samples): 0x0000031f #                    2%
Max peak (11024 samples): 0x00000378 #                    2%
Max peak (11024 samples): 0x0000022a #                    1%
Max peak (11024 samples): 0x00000261 #                    1%
Max peak (11024 samples): 0x0000022b #                    1%
Max peak (11024 samples): 0x00000172 #                    1%
Max peak (11024 samples): 0x00000117 #                    0%
Jack: JackClient::Deactivate
Jack: JackClient::Deactivate res = 0
Jack: JackPosixThread::Kill
Jack: jack_client_close
Jack: JackClient::Close ref = 6
Jack: JackClient::Deactivate
Jack: JackSocketClientChannel::Stop
Jack: JackPosixThread::Kill
Jack: JackClientSocket::Close
Jack: JackClientSocket::Close
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_alsa-jack.jackP.21511.0
Jack: JackLibClient::~JackLibClient
Jack: JackShmReadWritePtr1::~JackShmReadWritePtr1 5
Jack: Succeeded in unlocking 422 byte memory area
Jack: JackLibGlobals Destroy ae6d9890
Jack: ~JackLibGlobals
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_system
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_freewheel
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_dbusapi
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_Carla
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_alsa-jack.jackP.14807.41
Jack: JackPosixSemaphore::Disconnect name = jack_sem.1000_default_alsa-jack.jackP.21274.0
Jack: no message buffer overruns
Jack: JackPosixThread::Stop
Jack: JackPosixThread::ThreadHandler : exit
Jack: JackShmReadWritePtr::~JackShmReadWritePtr 1
Jack: Succeeded in unlocking 1186 byte memory area
Jack: JackShmReadWritePtr::~JackShmReadWritePtr 0
Jack: Succeeded in unlocking 21701018 byte memory area
Jack: jack_client_close res = 0



More information about the Alsa-devel mailing list