Align the runner structures on a memory bound.
That fixes #395 (closed) for me.
I don't know whether what we had was a bug in the first place but a posix_memalign
there does not harm in any way.
Edited by Matthieu Schaller
Merge request reports
Activity
It did but it also worked as such both with gcc 5.4.1 and gcc 6.3.0. I ran with
--enable-debug CFLAGS="-fsanitize=undefined"
.But I am happy to replace
SWIFT_STRUCT_ALIGNMENT
bySWIFT_CACHE_ALIGNMENT
in the call to posix_memalign.Edited by Matthieu SchallerNow for the next related issue. If I use an MPI job instead. Now we get:
cell.c:175:13: runtime error: member access within misaligned address 0x000002d70610 for type 'struct pcell', which requires 32 byte alignment 0x000002d70610: note: pointer points here 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ .....
also:
cell.c:373:13: runtime error: store to misaligned address 0x00000444c090 for type 'struct gravity_tensors', which requires 32 byte alignment 0x00000444c090: note: pointer points here 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ .....
added 1 commit
- e3ef36a3 - Also align the proxy-cells and the proxy-multipoles.
added 1 commit
- 8f24ed26 - Add --enable-undefined-sanitizer as a configure option.
mentioned in commit 733dbc51
Please register or sign in to reply