New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problem running programs on RPi with 2018.08 #951
Comments
@dogbert17 can you bisect it? |
Not sure if I can bisect it. Building times on RPi are very long. I can add that 2018.06 works without any issues though. |
bisecting shows that the problem appears with rakudo commit a6edf511d8209, bisecting into the moar commits that this brought in indicates the problem is in 67a9afe. looking at that change, the only effective difference is the usage of MVM_ALIGN_SIZE in MVM_gc_allocate(), called by MVM_gc_allocate_zeroed(), which the new version does not have. this kinda fits the general symptom of this only happening on armhf, because that arch has strict alignment requirements. this is where my understanding ends though, I would understand a SIGBUS or so, but the stacktraces show memory corruption.... To test this theory I added a size = MVM_ALIGN_SIZE(size); at the top of MVM_gc_allocate_nursery(), and the problem goes away, the euler-4.pl6 case from above now works. |
Recent changes used a path to nursery allocation that are not aligned, leading to segfaults on e.g. armhf. Alignment is really a property of the nursery as it is also encoded in the collector, so doing the alignment within the allocator, not at the call site. Fixes MoarVM#951
Recent changes used a path to nursery allocation that are not aligned, leading to segfaults on e.g. armhf. Alignment is really a property of the nursery as it is also encoded in the collector, so doing the alignment within the allocator, not at the call site. Fixes #951
There seems to be a problem running Perl 6 programs on RPi (2) using 2018.08. Many small snippets and spectest files SEGV's and the only way to avoid this is to set MVM_SPESH_DISABLE=1. Neither MVM_SPESH_INLINE_DISABLE=1 nor MVM_SPESH_OSR_DISABLE=1 does resolve the problem. In fact, it wasn't even posssible to build 2018.08 unless MVM_SPESH_DISABLE=1 was set.
As far as I have seen, the SEGV backtrace, see below, always look the same.
The text was updated successfully, but these errors were encountered: