Skip to content

SIGABRT on 32bit armhf in [batch]<xsimd::batch<float>> #1375

Description

@drew-parsons

Building xsimd 14.2.0 on debian patched with PR #1374 fails on 32-bit armhf:

test 1
    Start 1: test_xsimd

1: Test command: /build/reproducible-path/xsimd-14.2.0/obj-arm-linux-gnueabihf/test/test_xsimd
1: Working Directory: /build/reproducible-path/xsimd-14.2.0/obj-arm-linux-gnueabihf/test
1: Test timeout computed to be: 10000000
1: test_xsimd: ./include/xsimd/types/xsimd_batch.hpp:603: void xsimd::batch<T, A>::store_aligned(U*) const [with U = float; T = float; A = xsimd::neon]: Assertion `((reinterpret_cast<uintptr_t>(mem) % A::alignment()) == 0) && "store location is not properly aligned"' failed.
1: [doctest] doctest version is "2.4.12"
1: [doctest] run with "--help" for options
1: ===============================================================================
1: ./test/test_complex_power.cpp:211:
1: TEST CASE:  [complex power]<xsimd::batch<std::complex<float> >>
1:   pow real complex
1: 
1: ./test/test_complex_power.cpp:211: FATAL ERROR: test case CRASHED: SIGABRT - Abort (abnormal termination) signal
1: 
1: ===============================================================================
1: ./test/test_complex_power.cpp:211:
1: TEST CASE:  [complex power]<xsimd::batch<std::complex<float> >>
1: 
1: DEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):
1:   pow real complex
1: 
1: ===============================================================================
1: [doctest] test cases:   83 |   82 passed | 1 failed | 229 skipped
1: [doctest] assertions: 3380 | 3380 passed | 0 failed |
1: [doctest] Status: FAILURE!
1/1 Test #1: test_xsimd .......................Subprocess aborted***Exception:   0.14 sec
test_xsimd: ./include/xsimd/types/xsimd_batch.hpp:603: void xsimd::batch<T, A>::store_aligned(U*) const [with U = float; T = float; A = xsimd::neon]: Assertion `((reinterpret_cast<uintptr_t>(mem) % A::alignment()) == 0) && "store location is not properly aligned"' failed.
[doctest] doctest version is "2.4.12"
[doctest] run with "--help" for options
===============================================================================
./test/test_complex_power.cpp:211:
TEST CASE:  [complex power]<xsimd::batch<std::complex<float> >>
  pow real complex

./test/test_complex_power.cpp:211: FATAL ERROR: test case CRASHED: SIGABRT - Abort (abnormal termination) signal

===============================================================================
./test/test_complex_power.cpp:211:
TEST CASE:  [complex power]<xsimd::batch<std::complex<float> >>

DEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):
  pow real complex

===============================================================================
[doctest] test cases:   83 |   82 passed | 1 failed | 229 skipped
[doctest] assertions: 3380 | 3380 passed | 0 failed |
[doctest] Status: FAILURE!

Full log at https://buildd.debian.org/status/fetch.php?pkg=xsimd&arch=armhf&ver=14.2.0-3&stamp=1783530919&raw=0

The build is performed without the compile option -march=armv7-a+fp (which works around the error).

This is essentially the same problem reported in Issue #1260, except that it refers to U = float rather than U = unsigned char. It's occuring after applying PR #1374 to 14.2.0. I don't have permissions to reopen #1260, hence filing this new issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions