pcm.c:3236: snd_pcm_area_copy: Assertion `src < dst || src >= dst + bytes' failed.
Nicolas Pitre
nico at fluxnic.net
Thu Jul 7 02:26:51 CEST 2022
Anyone could tell me what's wrong with the attached code? I get a 100%
reproducible crash that ends in $subject and a core dump as soon as
snd_pcm_drain() is called.
This is a test case to reliably demonstrate the same issue I get when
using espeak-ng. It is somewhat harder to reproduce with espeak as it
happens more randomly, but still highly irritating.
Here's the output from the attached test case on my system using
alsalib v1.2.7.1:
PCM config dump:
Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
Converter: linear-interpolation
Protocol version: 10003
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 22050
exact rate : 22050 (22050/1)
msbits : 16
buffer_size : 1411
period_size : 470
period_time : 21333
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 470
period_event : 0
start_threshold : 1
stop_threshold : 1411
silence_threshold: 0
silence_size : 0
boundary : 3177289537109884928
Slave: Route conversion PCM (sformat=S16_LE)
Transformation table:
0 <- 0
1 <- 0
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 3072
period_size : 1024
period_time : 21333
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 1024
period_event : 0
start_threshold : 2
stop_threshold : 3072
silence_threshold: 0
silence_size : 0
boundary : 6917529027641081856
Slave: Direct Stream Mixing PCM
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 3072
period_size : 1024
period_time : 21333
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 1024
period_event : 0
start_threshold : 2
stop_threshold : 3072
silence_threshold: 0
silence_size : 0
boundary : 6917529027641081856
Hardware PCM card 1 'HDA Intel PCH' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 4096
period_size : 1024
period_time : 21333
tstamp_mode : ENABLE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 1024
period_event : 0
start_threshold : 1
stop_threshold : 0
silence_threshold: 0
silence_size : 0
boundary : 4611686018427387904
appl_ptr : 0
hw_ptr : 5121
frames = 1411
writing whole buffer
writing whole buffer
writing whole buffer minus 1 frame
draining audio
alsa_quickcrash: pcm.c:3236: snd_pcm_area_copy: Assertion `src < dst || src >= dst + bytes' failed.
Aborted (core dumped)
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: alsa_quickcrash.c
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20220706/408a2352/attachment-0001.c>
More information about the Alsa-devel
mailing list