Subject: Re: Request for fixing randomize_va_space build issues

From: Philippe Vaucher <[email-masked]>
Date: Tue, 17 May 2016 18:38:07 +0200

On Fri, May 13, 2016 at 5:58 PM, Paul Eggert <[email-masked]> wrote:
> I am not observing the problem on Fedora 23 x86-64, even though
> /proc/sys/kernel/randomize_va_space is 2 on my platform.

Yes, because when building emacs it calls ./temacs which calls
"personality" like here
https://github.com/emacs-mirror/emacs/blob/master/src/emacs.c#L802-819
This basically does the same as disabling randomize_va_space.

Disallow the syscall to personality and you'll see emacs segfaults
while building.

Some information about why the personality syscall is disabled in my env:

https://github.com/docker/docker/blob/master/docs/security/seccomp.md

> Emacs has had bug fixes in this area. You don't mention which version of
> Emacs you're using, or which platform. I suggest trying the latest test
> version of Emacs, and if this doesn't work then please send details about
> your platform and how you configured and built Emacs.

I'm building on Ubuntu 16.04 Linux 4.4.0-22-generic x86_64 GNU/Linux
with Docker 1.11.1.

I tried to run "./temacs --batch --load loadup bootstrap" inside GDB
to get more insights about why it segfaults there, but somehow gdb
fails to catch it. Maybe because of spawned processes?

I run gdb like this: "gdb --args ./temacs --batch --load loadup
bootstrap" followed by "run"

I also tried to disable personalities alltogether by undefined
HAVE_PERSONALITY_LINUX32 but the only way I found was to mess with the
./configure detection... I'll investiguate. If you have any tricks to
have emacs be more verbose about its segfault it'd be appreciated.

Thanks,
Philippe