> On Jan. 7, 2017, 6:42 p.m., Jie Yu wrote:
> > 3rdparty/stout/include/stout/os/linux.hpp, line 72
> > <https://reviews.apache.org/r/54996/diff/4/?file=1596764#file1596764line72>
> >
> > Please use errno error so that errno are in the error string.
> >
> > `return ErrnoError("Memory allocation failed");`
>
> Aaron Wood wrote:
> `posix_memalign` never sets `errno`. Shouldn't we just return `Error`?
You can do this:
```
int err = posix_memalign(...);
if (err) {
return ErrnoError(err);
}
```
- James
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/54996/#review160821
-----------------------------------------------------------
On Jan. 9, 2017, 4:19 p.m., Aaron Wood wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54996/
> -----------------------------------------------------------
>
> (Updated Jan. 9, 2017, 4:19 p.m.)
>
>
> Review request for mesos and Jie Yu.
>
>
> Bugs: MESOS-6835
> https://issues.apache.org/jira/browse/MESOS-6835
>
>
> Repository: mesos
>
>
> Description
> -------
>
> 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
> http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055b/IHI0055B_aapcs64.pdf
> (specifically section 5.2.2.1 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. We
> should also net better performance from having the stack aligned.
>
>
> Diffs
> -----
>
> 3rdparty/stout/include/stout/os/linux.hpp 530f1a55b
> src/linux/ns.hpp 77789717e
>
> Diff: https://reviews.apache.org/r/54996/diff/
>
>
> Testing
> -------
>
> 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).
>
> `make check -j4` also passes with no errors.
>
>
> Thanks,
>
> Aaron Wood
>
>