I have been playing a bit more and tried a dirty hack to convince mmap to not
ignore the hint, I just substracted random(), e.g.:

ret = mmap(addr-random(), size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, 
-1, 0);

in memory/mozjemalloc/jemalloc.c in pages_map().

This actually fixes the crash in xpcshell for me, although it's not reliable
on more complex code:

(sid)root@deb4g:/build/firefox-ORgwZM/firefox-46.0.1# 
./build-browser/dist/bin/xpcshell

(process:201760): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.
js> print("Hello World!");
Hello World!
js>

(sid)root@deb4g:/build/firefox-ORgwZM/firefox-46.0.1/build-browser# 
/build/firefox-ORgwZM/firefox-46.0.1/build-browser/dist/bin/xpcshell -g
/build/firefox-ORgwZM/firefox-46.0.1/build-browser/dist/bin/ -a 
/build/firefox-ORgwZM/firefox-46.0.1/build-browser/dist/bin/ -f
/build/firefox-ORgwZM/firefox-46.0.1/toolkit/mozapps/installer/precompile_cache.js
 -e precompile_startupcache\("resource://gre/"\);

(process:201945): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.
Segmentation fault
(sid)root@deb4g:/build/firefox-ORgwZM/firefox-46.0.1/build-browser#

So, while we have now verified this is actually a problem with the memory region
being used, i.e. the same problem as on NetBSD, we don't have a proper fix for
it yet, unfortunately.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

Reply via email to