mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Wood <>
Subject Re: Review Request 54996: Fix SIGBUS crash on ARM64/AArch64.
Date Thu, 22 Dec 2016 21:24:13 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated Dec. 22, 2016, 9:24 p.m.)

Review request for mesos and Jie Yu.


Referenced ARM documentation for the required stack alignment.

Bugs: MESOS-6835

Repository: mesos

Description (updated)

Currently in the Linux launcher when the stack is allocated and prepared for a call to clone()
it is not properly aligned. This is not an issue for x86 or x64 but for ARM64/AArch64 it is
because of the requirement of having the stack aligned to a 16 byte boundary. While x86 and
x64 also expect the stack to have a 16 byte aligned stack, it is not enforced. An explanation
of the stack and requirements for ARM64 can be found here
(specifically section that says SP mod 16 = 0. The stack must be quad-word aligned.)

Additionally, the way that the stack is currently allocated and passed to clone() accidentally
chops off one entry, making a stack overflow using those missing 8 bytes a possibility. Fixing
this while aligning the memory will fix both the issue of the stack overflow issue as well
as the SIGBUS crash.


  3rdparty/stout/include/stout/os/linux.hpp 530f1a55b 



Built Mesos from source and am currently running it in a test cluster. Launched both Docker
and Mesos tasks via Marathon without any resulting crash (initial crash only happened with
Mesos containerizer + linux_launcher, not with the posix_launcher).


Aaron Wood

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message