Hi,

On 2026-06-05 02:06, Aron Xu wrote:
> Package: sndfile-tools
> Version: 1.5-4
> Severity: normal
> 
> Dear Maintainer,
> 
> While testing an update of src:fftw3 (sndfile-tools depends on
> libfftw3-double3), the sndfile-tools autopkgtest failed on riscv64.
> The failure looks like an architecture/valgrind support gap rather
> than a defect in sndfile-tools or fftw3.
> 
> The upstream-tests run all tools under valgrind. Only
> sndfile-spectrogram (the tool that uses FFTW) is affected, and it
> crashes with an illegal instruction *while running under valgrind*,
> then runs fine directly:
>     valgrind /usr/bin/sndfile-generate-chirp : ok
>     valgrind /usr/bin/sndfile-resample    : 1 errors, 0 bytes leaked
>     valgrind /usr/bin/sndfile-spectrogram : tests/test-wrapper.sh:
> line 15:  1759 Illegal instruction        $valgrind $@ > $logfile 2>&1
>     ok
>     valgrind /usr/bin/sndfile-waveform    : 0 errors, 432 bytes leaked
>     ...
>     upstream-tests       FAIL stderr: tests/test-wrapper.sh: line 15:
> 1759 Illegal instruction        $valgrind $@ > $logfile 2>&1
> 
> Note the "ok" line immediately after: the spectrogram binary itself
> completes successfully when run outside valgrind; it is valgrind that
> aborts with SIGILL. The other tools pass under valgrind on the same
> run.
> 
> This probably suggests valgrind on riscv64 does not implement an
> instruction reached only via the spectrogram (FFT) code path, rather
> than a bug in sndfile-tools. Please reassign the bug if appropriate.

Yes, this is correct. FFTW 3.3.11 added support for getticks() in 
kernel/cycle.h using the rdtime instruction. Unfortunately it is not 
supported by valgrind, even in the current git.

At this stage I think it's better to just disable the autopkgtest on 
riscv64, just like it's done on armhf. Alternatively maybe just disable 
that specific test on riscv64.

Regards
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                     http://aurel32.net

Reply via email to