Bug#894774: meson fails it's autopkg tests on i386

2018-11-06 Thread Dimitri John Ledkov
On Wed, 4 Apr 2018 21:13:43 +0300 Jussi Pakkanen  wrote:
> On Wed, Apr 4, 2018 at 10:25 AM, Matthias Klose  wrote:
>
> > meson fails it's autopkg tests on i386.  simd is not in the base
architecture of
> > the i386 target, so you probably should skip that test.
>
> There are two things to note here:
>
> 1) the test is written so that it compiles all the things that the
> compiler supports but then, at runtime, checks what the current
> processor supports and runs that. If the current processor does not
> have any SIMD support then it falls back to plain C code. The test
> should run on every platform and CPU regardless of whether they have
> SIMD or not.
>
> 2) as part of Meson's release gating, I run the full package build and
> tests for Debian using a sid i386 pbuilder (under VMware currently).
> The tests have passed on my machine. It does work as expected, at
> least under some circumstances.
>

is it just i386 pbuilder, or actually an i686 kernel? because it segfaults
for us when running on an i686 kernel, in an openstack cloud VM.

it appears to be an alignment issue, as identified by mwhudson, and affects
most simd implementation in the test.

https://patch-diff.githubusercontent.com/raw/mesonbuild/meson/pull/4482.patch

fixes it for us, and tests that all simd variants can correctly execute on
an i686 kernel.

Regards,

Dimitri.


Bug#894774: meson fails it's autopkg tests on i386

2018-04-04 Thread Jussi Pakkanen
On Wed, Apr 4, 2018 at 10:25 AM, Matthias Klose  wrote:

> meson fails it's autopkg tests on i386.  simd is not in the base architecture 
> of
> the i386 target, so you probably should skip that test.

There are two things to note here:

1) the test is written so that it compiles all the things that the
compiler supports but then, at runtime, checks what the current
processor supports and runs that. If the current processor does not
have any SIMD support then it falls back to plain C code. The test
should run on every platform and CPU regardless of whether they have
SIMD or not.

2) as part of Meson's release gating, I run the full package build and
tests for Debian using a sid i386 pbuilder (under VMware currently).
The tests have passed on my machine. It does work as expected, at
least under some circumstances.

The question here is why is it failing in Ubuntu. This requires
debugging on the machine in question, roughly:

- install Meson
- cd into meson source root
- meson test\ cases/common/155\ simd builddir
- ninja -C builddir test

And then catting the log file that the test suite runner prints.
(which IIRC we should print in cases of error but for some reason
don't in this case)

You can also try running the test binary directly to see what it does,
it's in builddir/simdtest.



Bug#894774: meson fails it's autopkg tests on i386

2018-04-04 Thread Matthias Klose
Package: src:meson
Version: 0.45.1-2
Severity: important
Tags: sid buster

meson fails it's autopkg tests on i386.  simd is not in the base architecture of
the i386 target, so you probably should skip that test.

https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic/bionic/i386/m/meson/20180404_053513_ad166@/log.gz

Total passed tests: 343
Total failed tests: 1
Total skipped tests: 28

Mesonlogs of failing tests

The Meson build system
Version: 0.45.1
Source dir: /tmp/autopkgtest.zfgDnr/build.O7H/src/test cases/common/155 simd
Build dir: /tmp/autopkgtest.zfgDnr/build.O7H/src/b 4729d60069
Build type: native build
Project name: simd
Native C compiler: cc (gcc 7.3.0 "cc (Ubuntu 7.3.0-14ubuntu1) 7.3.0")
Build machine cpu family: x86
Build machine cpu: i686
meson.build:3: WARNING: Module unstable-simd has no backwards or forwards
compatibility and might not exist in future releases.
Compiler supports mmx: YES
Compiler supports sse: YES
Compiler supports sse2: YES
Compiler supports sse3: YES
Compiler supports ssse3: YES
Compiler supports sse41: YES
Compiler supports sse42: YES
Compiler supports avx: YES
Compiler supports avx2: YES
Compiler supports neon: NO
Configuring simdconfig.h using configuration
Build targets in project: 10
Found ninja-1.8.2 at /usr/bin/ninja
[0/1] Regenerating build files.
The Meson build system
Version: 0.45.1
Source dir: /tmp/autopkgtest.zfgDnr/build.O7H/src/test cases/common/155 simd
Build dir: /tmp/autopkgtest.zfgDnr/build.O7H/src/b 4729d60069
Build type: native build
Project name: simd
Native C compiler: cc (gcc 7.3.0 "cc (Ubuntu 7.3.0-14ubuntu1) 7.3.0")
Build machine cpu family: x86
Build machine cpu: i686
meson.build:3: WARNING: Module unstable-simd has no backwards or forwards
compatibility and might not exist in future releases.
Compiler supports mmx: YES
Compiler supports sse: YES
Compiler supports sse2: YES
Compiler supports sse3: YES
Compiler supports ssse3: YES
Compiler supports sse41: YES
Compiler supports sse42: YES
Compiler supports avx: YES
Compiler supports avx2: YES
Compiler supports neon: NO
Configuring simdconfig.h using configuration
Build targets in project: 10
Found ninja-1.8.2 at /usr/bin/ninja
[1/21] Compiling C object 'mysimds_sse3@sta/simd_sse3.c.o'.
[2/21] Compiling C object 'mysimds_sse2@sta/simd_sse2.c.o'.
[3/21] Linking static target libmysimds_sse3.a.
[4/21] Linking static target libmysimds_sse2.a.
[5/21] Compiling C object 'mysimds_mmx@sta/simd_mmx.c.o'.
[6/21] Linking static target libmysimds_mmx.a.
[7/21] Compiling C object 'mysimds_ssse3@sta/simd_ssse3.c.o'.
[8/21] Linking static target libmysimds_ssse3.a.
[9/21] Compiling C object 'mysimds_sse@sta/simd_sse.c.o'.
[10/21] Linking static target libmysimds_sse.a.
[11/21] Compiling C object 'mysimds_sse41@sta/simd_sse41.c.o'.
[12/21] Linking static target libmysimds_sse41.a.
[13/21] Compiling C object 'mysimds_sse42@sta/simd_sse42.c.o'.
[14/21] Linking static target libmysimds_sse42.a.
[15/21] Compiling C object 'mysimds_avx@sta/simd_avx.c.o'.
[16/21] Linking static target libmysimds_avx.a.
[17/21] Compiling C object 'mysimds_avx2@sta/simd_avx2.c.o'.
[18/21] Linking static target libmysimds_avx2.a.
[19/21] Compiling C object 'simdtest@exe/simdchecker.c.o'.
[20/21] Compiling C object 'simdtest@exe/fallback.c.o'.
[21/21] Linking target simdtest.
1/1 simdtestFAIL 0.27 s

OK: 0
FAIL:   1
SKIP:   0
TIMEOUT:0

Full log written to /tmp/autopkgtest.zfgDnr/build.O7H/src/b
4729d60069/meson-logs/testlog.txt
No tests defined.


ninja explain: output build.ninja older than most recent input ../test
cases/common/155 simd/meson.build (1522819473 vs 1522819474)
ninja explain: deps for 'mysimds_mmx@sta/simd_mmx.c.o' are missing
ninja explain: mysimds_mmx@sta/simd_mmx.c.o is dirty
ninja explain: libmysimds_mmx.a is dirty
ninja explain: deps for 'mysimds_sse@sta/simd_sse.c.o' are missing
ninja explain: mysimds_sse@sta/simd_sse.c.o is dirty
ninja explain: libmysimds_sse.a is dirty
ninja explain: deps for 'mysimds_sse2@sta/simd_sse2.c.o' are missing
ninja explain: mysimds_sse2@sta/simd_sse2.c.o is dirty
ninja explain: libmysimds_sse2.a is dirty
ninja explain: deps for 'mysimds_sse3@sta/simd_sse3.c.o' are missing
ninja explain: mysimds_sse3@sta/simd_sse3.c.o is dirty
ninja explain: libmysimds_sse3.a is dirty
ninja explain: deps for 'mysimds_ssse3@sta/simd_ssse3.c.o' are missing
ninja explain: mysimds_ssse3@sta/simd_ssse3.c.o is dirty
ninja explain: libmysimds_ssse3.a is dirty
ninja explain: deps for 'mysimds_sse41@sta/simd_sse41.c.o' are missing
ninja explain: mysimds_sse41@sta/simd_sse41.c.o is dirty
ninja explain: libmysimds_sse41.a is dirty
ninja explain: deps for 'mysimds_sse42@sta/simd_sse42.c.o' are missing
ninja explain: mysimds_sse42@sta/simd_sse42.c.o is dirty
ninja explain: libmysimds_sse42.a is dirty
ninja explain: deps for 'mysimds_avx@sta/simd_avx.c.o' are missing
ninja explain: