You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running the convolve_2d.cpp test module (Boost 1.81.0) on a 32-bit ARM target, there is an alignment
exception (fault) in the test_convolve_2d_with_image_using_float32_t() test case. The alignment exception
occurs when the convolve_2d_impl() function attempts to access the first pixel in the second row of
the src_view. The address computed for src_view(col_boundary, row_boundary)[0] is not a multiple of
the size of the gil::float32_t array element.
The apparent cause is that the test case creates the gil::interleaved_view() calls for the source and output
images use the number of columns in the row rather than the length in bytes of each row as the
last argument to gill::interleaved_view(). Likely
The test should not cause an alignment exception and should complete successfully.
C++ Minimal Working Example
Use the convolve_2d.cpp test case on a target that gives exceptions for misaligned accesses.
Environment
Compiler version:
Build settings:
Version (Git ref or <boost/version.hpp>):
The text was updated successfully, but these errors were encountered:
dkrejsa
changed the title
Running the convolve_2d.cpp test causes an alighment error on ARM
Running the convolve_2d.cpp test causes an alignment error on ARM
May 8, 2023
Actual behavior
When running the convolve_2d.cpp test module (Boost 1.81.0) on a 32-bit ARM target, there is an alignment
exception (fault) in the
test_convolve_2d_with_image_using_float32_t()
test case. The alignment exceptionoccurs when the
convolve_2d_impl()
function attempts to access the first pixel in the second row ofthe
src_view
. The address computed forsrc_view(col_boundary, row_boundary)[0]
is not a multiple ofthe size of the
gil::float32_t
array element.The apparent cause is that the test case creates the
gil::interleaved_view()
calls for the source and outputimages use the number of columns in the row rather than the length in bytes of each row as the
last argument to
gill::interleaved_view()
. Likelyshould be
Expected behavior
The test should not cause an alignment exception and should complete successfully.
C++ Minimal Working Example
Use the convolve_2d.cpp test case on a target that gives exceptions for misaligned accesses.
Environment
<boost/version.hpp>
):The text was updated successfully, but these errors were encountered: