Hi, I want to remind you of this bug report, could you please react on this as we are able to reproduce. Ulrich Mueller : > Building of Emacs 22.2.92 (also 22.2) on Linux 2.6.25 (or later) > sometimes fails with a segmentation fault in dump-emacs / unexec. > > This was reported by Jan Hrabe as Gentoo bug 236579, > . > > I've investigated and found that indeed temacs fails in dump-emacs > intermittently. For my test, I have run "make; rm src/emacs" 250 times > in a loop, and in 3 cases a segmentation fault of temacs occured. > > The problem seems to be that heap_bss_diff is too large for unexec > to succeed (due to kernel heap randomisation, see > ). > > On the other hand, it is (in case of the 3 failures) not large enough > to fulfill the condition (heap_bss_diff > MAX_HEAP_BSS_DIFF) which > would trigger the correct behaviour, namely setting the personality > and calling execve of itself. > > In the 247 successful cases, heap_bss_diff first had a large value > (up to about 32 MiB), and in the exec'd temacs its value was constant, > namely 1887 bytes. > > The 3 failures had heap_bss_diff = 575327, 911199, and 268127, which > are all smaller than MAX_HEAP_BSS_DIFF (1024*1024), so execvp was > _not_ called. > > Where does that value of MAX_HEAP_BSS_DIFF = 1 MiB come from? Could it > be decreased, or could temacs execve itself unconditionally on Linux? > In my opinion, a failure rate of about 1 % is too high. > > (The problem doesn't exist for Linux 2.6.24, or if heap randomisation > is turned off, i.e. with /proc/sys/kernel/randomize_va_space < 2.) > > Ulrich -- Christian Faulhammer, Gentoo Lisp project , #gentoo-lisp on FreeNode