$ ./hphp/hhvm/hhvm --version
HipHop VM 3.18.0-dev (dbg)
Compiler: remotes/upstream/master-0-g3d10a730fa95e4175cfd998fb9192a243b378257
Repo schema: 573cc0c926bf07f914e6394b5fe41b37f158a906
./hphp/hhvm/hhvm --info
Normally show info
Segmentation Fault
gdb ./hphp/hhvm/hhvm core.18615
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-94.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-redhat-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /home/amcc/hhvm/hphp/hhvm/hhvm...done.
[New LWP 18615]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `./hphp/hhvm/hhvm --info'.
Program terminated with signal 11, Segmentation fault.
36 assert(!ret || isValidVMStackAddress(ar) ||
Missing separate debuginfos, use: debuginfo-install ImageMagick-6.7.8.9-15.el7_2.aarch64 bzip2-libs-1.0.6-13.el7.aarch64 cyrus-sasl-lib-2.1.26-20.el7.aarch64 elfutils-libelf-0.166-2.el7.aarch64 expat-2.1.0-10.el7_3.aarch64 fontconfig-2.10.95-10.el7.aarch64 freetype-2.4.11-12.el7.aarch64 fribidi-0.19.4-6.el7.aarch64 glibc-2.17-157.el7_3.1.aarch64 gmp-6.0.0-12.el7.aarch64 jbigkit-libs-2.0-11.el7.aarch64 keyutils-libs-1.5.8-3.el7.aarch64 krb5-libs-1.14.1-27.el7_3.aarch64 libICE-1.0.9-2.el7.aarch64 libSM-1.2.2-2.el7.aarch64 libX11-1.6.3-3.el7.aarch64 libXau-1.0.8-2.1.el7.aarch64 libXext-1.3.3-3.el7.aarch64 libXt-1.1.4-6.1.el7.aarch64 libattr-2.4.46-12.el7.aarch64 libcap-2.22-8.el7.aarch64 libcom_err-1.42.9-9.el7.aarch64 libcurl-7.29.0-35.el7.centos.aarch64 libdwarf-20130207-4.el7.aarch64 libedit-3.0-12.20121213cvs.el7.aarch64 libgcc-4.8.5-11.el7.centos.aarch64 libgcrypt-1.5.3-13.el7_3.1.aarch64 libgomp-4.8.5-11.el7.centos.aarch64 libgpg-error-1.12-3.el7.aarch64 libicu-50.1.2-15.el7.aarch64 libidn-1.28-4.el7.aarch64 libjpeg-turbo-1.2.90-5.el7.aarch64 libmemcached-1.0.16-5.el7.aarch64 libpng-1.5.13-7.el7.aarch64 libselinux-2.5-6.el7.aarch64 libssh2-1.4.3-10.el7_2.1.aarch64 libstdc++-4.8.5-11.el7.centos.aarch64 libtiff-4.0.3-27.el7_3.aarch64 libuuid-2.23.2-33.el7.aarch64 libvpx-1.3.0-5.el7.aarch64 libxcb-1.11-4.el7.aarch64 libxml2-2.9.1-6.el7_2.3.aarch64 libxslt-1.1.28-5.el7.aarch64 libyaml-0.1.4-11.el7.aarch64 ncurses-libs-5.9-13.20130511.el7.aarch64 nspr-4.11.0-1.el7_2.aarch64 nss-3.21.3-2.el7_3.aarch64 nss-softokn-freebl-3.16.2.3-14.4.el7.aarch64 nss-util-3.21.3-1.1.el7_3.aarch64 numactl-libs-2.0.9-6.el7.aarch64 openldap-2.4.40-13.el7.aarch64 openssl-libs-1.0.1e-60.el7_3.1.aarch64 pcre-8.32-15.el7_2.1.aarch64 sqlite-3.7.17-8.el7.aarch64 tbb-4.1-9.20130314.el7.aarch64 unixODBC-2.3.1-11.el7.aarch64 xz-libs-5.2.2-1.el7.aarch64 zlib-1.2.7-17.el7.aarch64
(gdb) bt
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) q
I got this problem on Centos 7.3
$ uname -a
Linux centos7-aarch64 4.5.0-23.el7.aarch64 #1 SMP Fri Mar 17 21:46:33 CDT 2017 aarch64 aarch64 aarch64 GNU/Linux
I have tried to clean build several times but does not help. can anyone suggest a way to address this issue?
Thanks
Uy
See pull request #7701 .
Thanks apinski
I already added patch manually, but HHVM still crash
$ git diff hphp/hack/src/heap/hh_shared.c
diff --git a/hphp/hack/src/heap/hh_shared.c b/hphp/hack/src/heap/hh_shared.c
index a681bb4..f5199f4 100644
--- a/hphp/hack/src/heap/hh_shared.c
+++ b/hphp/hack/src/heap/hh_shared.c
@@ -239,8 +239,13 @@ typedef struct {
#ifdef _WIN32
/* We have to set differently our shared memory location on Windows. */
#define SHARED_MEM_INIT ((char *) 0x48047e00000ll)
+#elif defined __aarch64__
+/* CentOS 7.3.1611 kernel does not support a full 48-bit VA space, so choose a
+ * value low enough that the 21 GB's mmapped in do not interfere with anything
+ * growing down from the top. 1 << 36 works. */
+#define SHARED_MEM_INIT ((char *) 0x1000000000ll)
#else
-#define SHARED_MEM_INIT ((char *)0x500000000000ll)
+#define SHARED_MEM_INIT ((char *) 0x500000000000ll)
#endif
/* As a sanity check when loading from a file */
]$ gdb ./hphp/hhvm/hhvm core.8611
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-94.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/amcc/hhvm/hphp/hhvm/hhvm...done.
[New LWP 8611]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `./hphp/hhvm/hhvm --info'.
Program terminated with signal 11, Segmentation fault.
#0 0x000000000598a1a4 in HPHP::isVMFrame (ar=0x2) at /home/amcc/hhvm/hphp/runtime/vm/jit/fixup.cpp:36
36 assert(!ret || isValidVMStackAddress(ar) ||
Update:
tested on Ubuntu 16.10 and all work fine
amcc@ubuntu-aarch64:~/hhvm$ uname -a
Linux ubuntu-aarch64 4.8.0-44-generic #47~16.04.1-Ubuntu SMP Wed Mar 22 18:48:27 UTC 2017 aarch64 aarch64 aarch64 GNU/Linux
amcc@ubuntu-aarch64:~/hhvm$ ./hphp/hhvm/hhvm --version
HipHop VM 3.18.0-dev (dbg)
Compiler: heads/master-0-g1f65327b2bb9199743738f143c99269e569ea994
Repo schema: 46464796e04afc5335ae487e7dcf960530eb9676
amcc@ubuntu-aarch64:~/hhvm$ ./hphp/hhvm/hhvm --info
HHVM Version => 3.18.0-dev
Version
Version => 3.18.0-dev
Version ID => 31800
Debug => 1
Compiler ID => heads/master-0-g1f65327b2bb9199743738f143c99269e569ea994
Repo Schema => 46464796e04afc5335ae487e7dcf960530eb9676
PHP Version => 5.6.99-hhvm
Zend Version => 2.4.99
uname => Linux ubuntu-aarch64 4.8.0-44-generic #47~16.04.1-Ubuntu SMP Wed Mar 22 18:48:27 UTC 2017 aarch64
INI
allow_url_fopen => 1
apc.enable_cli => 1
apc.enabled => 1
apc.stat => 1
curl.namedPools =>
doc_root => /home/amcc/hhvm/
Checked Ubuntu config and see
CONFIG_ARM64_4K_PAGES=y
# CONFIG_ARM64_16K_PAGES is not set
# CONFIG_ARM64_64K_PAGES is not set
# CONFIG_ARM64_VA_BITS_39 is not set
CONFIG_ARM64_VA_BITS_48=y
CONFIG_ARM64_VA_BITS=48
so problem as Pull request #7701 is make sense, but don't know still not work when applied
Will enable CONFIG_ARM64_VA_BITS_48=y CONFIG_ARM64_VA_BITS=48 to CentOS7.3 kernel and test again
@vducuy I will try and replicate this issue. I'm suspecting a libjemalloc issue between 4K and 64K pages (at least that's what I've run into before).
We had to move to a later version of jemalloc because of crashing. I think the cmake
files need to be updated to the configuration string in alloc.cpp can be #ifdef'd. It's referencing
a selection not present in recent version of the jemalloc source.
This was on a ubuntu machine.
I already enable CentOS kernel as the same with Ubuntu, and clean build HHVM but it still the same crash.
CONFIG_ARM64_4K_PAGES=y
# CONFIG_ARM64_16K_PAGES is not set
# CONFIG_ARM64_64K_PAGES is not set
# CONFIG_ARM64_VA_BITS_39 is not set
CONFIG_ARM64_VA_BITS_48=y
CONFIG_ARM64_VA_BITS=48
Already built newest release jemalloc-4.5.0 but also does not help.
$ ldd ./hphp/hhvm/hhvm | grep jemalloc
libjemalloc.so.2 => /home/amcc/tools/jemalloc-4.5.0/lib/libjemalloc.so.2 (0x0000ffffa67c1000)
some more strace info
fcntl(6, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0
clock_gettime(CLOCK_REALTIME, {1491210247, 254755504}) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x3da00020} ---
rt_sigaction(SIGSEGV, {SIG_DFL, [SEGV], SA_RESTART}, {0x4edbd68, [], SA_STACK}, 8) = 0
openat(AT_FDCWD, "/tmp/stacktrace.17564.log", O_WRONLY|O_CREAT|O_TRUNC, 0600) = 7
...
write(7, "00000000046e0e6c", 16) = 16
write(7, "\n", 1) = 1
fsync(7) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x12} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault
If running at server mode i can access to server from Web browser, but when refresh page server also crash
./hphp/hhvm/hhvm -m server -p 8818 -vAdminServer.Port=9918 -vServer.DefaultDocument=info.php -vEval.Jit=1
Server crash when refresh page
Assertion failure: /home/amcc/hhvm/hphp/runtime/vm/jit/fixup.cpp:176: void HPHP::jit::FixupMap::fixupWork(HPHP::ExecutionContext*, HPHP::ActRec*): assertion `nextRbp && nextRbp != rbp && "Missing fixup for native call"' failed.
Aborted (core dumped)
Has anyone working on ARM been able to reproduce this? It seems like more information may be needed to figure out what is going on here.
@mofarrell There was some instability in the ARM branch back in March when this issue was reported, not so much in the unit tests but when running OSS. Everything is rock solid on the HHVM-3.19.1 tag, so perhaps @vducuy could retry using that baseline...
Just back to this issue and verified on clean centos 7.3, HHVM-3.19.1, still failed. but difference crash point
$ ./hphp/hhvm/hhvm --info
* Error in `./hphp/hhvm/hhvm': free(): invalid next size (fast): 0x000000005b13a0e0 *
======= Backtrace: =========
/lib64/libc.so.6(+0x79ef8)[0x3ff96e59ef8]
/lib64/libstdc++.so.6(_ZNSsD1Ev+0x5c)[0x3ff9711ccbc]
./hphp/hhvm/hhvm(_ZNK4HPHP18ConstantExpression8isScalarEv+0xf8)[0x4908878]
./hphp/hhvm/hhvm(_ZNK4HPHP19ArrayPairExpression17isScalarArrayPairEv+0x34)[0x48f5a30]
./hphp/hhvm/hhvm(_ZNK4HPHP14ExpressionList18isScalarArrayPairsEv+0xa4)[0x491d0a8]
./hphp/hhvm/hhvm(_ZNK4HPHP14ExpressionList8isScalarEv+0x28)[0x491cd1c]
./hphp/hhvm/hhvm(_ZNK4HPHP17UnaryOpExpression8isScalarEv+0xe8)[0x4949150]
./hphp/hhvm/hhvm(_ZNK4HPHP19ArrayPairExpression17isScalarArrayPairEv+0x34)[0x48f5a30]
./hphp/hhvm/hhvm(_ZNK4HPHP14ExpressionList18isScalarArrayPairsEv+0xa4)[0x491d0a8]
./hphp/hhvm/hhvm(_ZNK4HPHP14ExpressionList8isScalarEv+0x28)[0x491cd1c]
./hphp/hhvm/hhvm(_ZN4HPHP8Compiler14EmitterVisitor13emitArrayInitERNS0_7EmitterESt10shared_ptrINS_14ExpressionListEEN5folly8OptionalINS_10HeaderKindEEE+0x2c8)[0x47cb1ec]
./hphp/hhvm/hhvm(_ZN4HPHP8Compiler14EmitterVisitor5visitESt10shared_ptrINS_9ConstructEE+0x4f90)[0x47a46f0]
./hphp/hhvm/hhvm(_ZN4HPHP8Compiler14EmitterVisitor5visitESt10shared_ptrINS_9ConstructEE+0xf930)[0x47af090]
./hphp/hhvm/hhvm(_ZN4HPHP8Compiler14EmitterVisitor5visitESt10shared_ptrINS_9ConstructEE+0xfd74)[0x47af4d4]
./hphp/hhvm/hhvm(_ZN4HPHP8Compiler14EmitterVisitor13emitArrayInitERNS0_7EmitterESt10shared_ptrINS_14ExpressionListEEN5folly8OptionalINS_10HeaderKindEEE+0x930)[0x47cb854]
./hphp/hhvm/hhvm(_ZN4HPHP8Compiler14EmitterVisitor5visitESt10shared_ptrINS_9ConstructEE+0x4f90)[0x47a46f0]
./hphp/hhvm/hhvm(_ZN4HPHP8Compiler14EmitterVisitor19emitPostponedPSinitERNS1_19PostponedNonScalarsEb+0x2b8)[0x47c387c]
./hphp/hhvm/hhvm(_ZN4HPHP8Compiler14EmitterVisitor19emitPostponedSinitsEv+0x30)[0x47c39f0]
./hphp/hhvm/hhvm(_ZN4HPHP8Compiler14EmitterVisitor5visitESt10shared_ptrINS_9FileScopeEE+0x18c0)[0x479d260]
./hphp/hhvm/hhvm[0x47ce2ac]
./hphp/hhvm/hhvm(hphp_compiler_parse+0x514)[0x47d0fb0]
./hphp/hhvm/hhvm(_ZN4HPHP14compile_stringEPKcmS1_PPNS_4UnitE+0x128)[0x57cfb44]
./hphp/hhvm/hhvm(_ZN4HPHP24compile_systemlib_stringEPKcmS1_+0x1b8)[0x57cfd54]
./hphp/hhvm/hhvm(_ZN4HPHP11ProcessInitEv+0x1c4)[0x46d1318]
./hphp/hhvm/hhvm(_ZN4HPHP17hphp_process_initEv+0x314)[0x50650ac]
./hphp/hhvm/hhvm[0x5062ca0]
./hphp/hhvm/hhvm(_ZN4HPHP15execute_programEiPPc+0x2c)[0x505fb44]
./hphp/hhvm/hhvm(_ZN4HPHP12emulate_zendEiPPc+0x1168)[0x4ef4b08]
./hphp/hhvm/hhvm(main+0x2c4)[0x46c8c0c]
/lib64/libc.so.6(__libc_start_main+0xf0)[0x3ff96e00c94]
./hphp/hhvm/hhvm[0x46c81dc]
======= Memory map: ========
00400000-0d6e0000 r-xp 00000000 fd:02 67335547
]$ ./hphp/hhvm/hhvm --version
HipHop VM 3.19.1 (dbg)
Compiler: tags/HHVM-3.19.1-0-g6129094b1b61e1ae32245a583db0283e645384c1
Repo schema: 062f6c54b49727e83a10a43cdbb861741076e51d
Following is ldd info, please help to check if any library on CentOS not compatible with current HHVM version?
Thanks
$ ./hphp/hhvm/hhvm --version
HipHop VM 3.19.1 (dbg)
Compiler: tags/HHVM-3.19.1-0-g6129094b1b61e1ae32245a583db0283e645384c1
Repo schema: 062f6c54b49727e83a10a43cdbb861741076e51d
[amcc@dhcp-10-38-6-192 hhvm]$ ldd ./hphp/hhvm/hhvm
linux-vdso.so.1 => (0x000003ff8fce0000)
libyaml-0.so.2 => /lib64/libyaml-0.so.2 (0x000003ff8fc80000)
libonig.so.4 => /usr/local/lib/libonig.so.4 (0x000003ff8fbc0000)
libdl.so.2 => /lib64/libdl.so.2 (0x000003ff8fb90000)
libicudata.so.50 => /lib64/libicudata.so.50 (0x000003ff8e790000)
libicui18n.so.50 => /lib64/libicui18n.so.50 (0x000003ff8e580000)
libicuuc.so.50 => /lib64/libicuuc.so.50 (0x000003ff8e3f0000)
libevent-2.0.so.5 => /lib64/libevent-2.0.so.5 (0x000003ff8e380000)
libcurl.so.4 => /lib64/libcurl.so.4 (0x000003ff8e2f0000)
libglog.so.0 => /usr/local/lib/libglog.so.0 (0x000003ff8e2a0000)
libcap.so.2 => /lib64/libcap.so.2 (0x000003ff8e270000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x000003ff8e230000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x000003ff8e1f0000)
libtbb.so.2 => /lib64/libtbb.so.2 (0x000003ff8e1b0000)
libssl.so.10 => /lib64/libssl.so.10 (0x000003ff8e120000)
libcrypto.so.10 => /lib64/libcrypto.so.10 (0x000003ff8df30000)
libz.so.1 => /lib64/libz.so.1 (0x000003ff8def0000)
libxml2.so.2 => /lib64/libxml2.so.2 (0x000003ff8dd80000)
liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x000003ff8dd50000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x000003ff8dd00000)
librt.so.1 => /lib64/librt.so.1 (0x000003ff8dcd0000)
libreadline.so.6 => /lib64/libreadline.so.6 (0x000003ff8dc70000)
libdwarf.so.0 => /lib64/libdwarf.so.0 (0x000003ff8dc20000)
libelf.so.1 => /lib64/libelf.so.1 (0x000003ff8dbe0000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x000003ff8dbc0000)
libfribidi.so.0 => /lib64/libfribidi.so.0 (0x000003ff8db80000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x000003ff8dac0000)
libjpeg.so.62 => /lib64/libjpeg.so.62 (0x000003ff8da50000)
libpng15.so.15 => /lib64/libpng15.so.15 (0x000003ff8da00000)
libvpx.so.1 => /lib64/libvpx.so.1 (0x000003ff8d8e0000)
libgmp.so.10 => /lib64/libgmp.so.10 (0x000003ff8d860000)
libMagickWand.so.5 => /lib64/libMagickWand.so.5 (0x000003ff8d740000)
libMagickCore.so.5 => /lib64/libMagickCore.so.5 (0x000003ff8d4c0000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x000003ff8d440000)
libmcrypt.so.4 => /usr/local/lib/libmcrypt.so.4 (0x000003ff8d3f0000)
libmemcached.so.11 => /lib64/libmemcached.so.11 (0x000003ff8d3a0000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x000003ff8d350000)
libxslt.so.1 => /lib64/libxslt.so.1 (0x000003ff8d2f0000)
libexslt.so.0 => /lib64/libexslt.so.0 (0x000003ff8d2b0000)
libboost_context.so.1.60.0 => /usr/local/lib/libboost_context.so.1.60.0 (0x000003ff8d280000)
libboost_filesystem.so.1.60.0 => /usr/local/lib/libboost_filesystem.so.1.60.0 (0x000003ff8d240000)
libboost_program_options.so.1.60.0 => /usr/local/lib/libboost_program_options.so.1.60.0 (0x000003ff8d1a0000)
libboost_regex.so.1.60.0 => /usr/local/lib/libboost_regex.so.1.60.0 (0x000003ff8d060000)
libboost_system.so.1.60.0 => /usr/local/lib/libboost_system.so.1.60.0 (0x000003ff8d030000)
libboost_thread.so.1.60.0 => /usr/local/lib/libboost_thread.so.1.60.0 (0x000003ff8cfe0000)
libboost_chrono.so.1.60.0 => /usr/local/lib/libboost_chrono.so.1.60.0 (0x000003ff8cfb0000)
libboost_date_time.so.1.60.0 => /usr/local/lib/libboost_date_time.so.1.60.0 (0x000003ff8cf60000)
libboost_atomic.so.1.60.0 => /usr/local/lib/libboost_atomic.so.1.60.0 (0x000003ff8cf30000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x000003ff8ce10000)
libm.so.6 => /lib64/libm.so.6 (0x000003ff8cd50000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000003ff8cd10000)
libc.so.6 => /lib64/libc.so.6 (0x000003ff8cb90000)
/lib/ld-linux-aarch64.so.1 (0x000002aae0410000)
libidn.so.11 => /lib64/libidn.so.11 (0x000003ff8cb30000)
libssh2.so.1 => /lib64/libssh2.so.1 (0x000003ff8cae0000)
libssl3.so => /lib64/libssl3.so (0x000003ff8ca70000)
libsmime3.so => /lib64/libsmime3.so (0x000003ff8ca20000)
libnss3.so => /lib64/libnss3.so (0x000003ff8c8f0000)
libnssutil3.so => /lib64/libnssutil3.so (0x000003ff8c8a0000)
libplds4.so => /lib64/libplds4.so (0x000003ff8c870000)
libplc4.so => /lib64/libplc4.so (0x000003ff8c840000)
libnspr4.so => /lib64/libnspr4.so (0x000003ff8c7e0000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x000003ff8c770000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x000003ff8c670000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x000003ff8c620000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x000003ff8c5f0000)
libattr.so.1 => /lib64/libattr.so.1 (0x000003ff8c5c0000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x000003ff8c570000)
libfreebl3.so => /lib64/libfreebl3.so (0x000003ff8c540000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x000003ff8c4f0000)
libtiff.so.5 => /lib64/libtiff.so.5 (0x000003ff8c460000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x000003ff8c400000)
libXext.so.6 => /lib64/libXext.so.6 (0x000003ff8c3c0000)
libXt.so.6 => /lib64/libXt.so.6 (0x000003ff8c340000)
libltdl.so.7 => /usr/local/lib/libltdl.so.7 (0x000003ff8c310000)
libSM.so.6 => /lib64/libSM.so.6 (0x000003ff8c2e0000)
libICE.so.6 => /lib64/libICE.so.6 (0x000003ff8c2a0000)
libX11.so.6 => /lib64/libX11.so.6 (0x000003ff8c140000)
libgomp.so.1 => /lib64/libgomp.so.1 (0x000003ff8c0f0000)
libsasl2.so.3 => /lib64/libsasl2.so.3 (0x000003ff8c0b0000)
libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x000003ff8c010000)
libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x000003ff8bfe0000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x000003ff8bfb0000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x000003ff8bf90000)
libjbig.so.2.0 => /lib64/libjbig.so.2.0 (0x000003ff8bf70000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x000003ff8bf40000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x000003ff8bf00000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x000003ff8beb0000)
libXau.so.6 => /lib64/libXau.so.6 (0x000003ff8be80000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x000003ff8be20000)
Have you disabled SELINUX? HHVM maps some memory as R/W/X which is against some SELInux policy.
Have you disabled SELINUX? HHVM maps some memory as R/W/X which is against some SELInux policy.
Hmm, that seems bad for security. I can understand why HHVM does that but maybe it should remap when writing ... Most JITs don't need RWX all at the same time ...
@apinski-cavium Agreed.
@vducuy I don't see a libjemalloc anywhere in your ldd output. Aarch64 CentOS build instructions could help get you going.
Thanks for all of you, problem exactly is SELinux.
After disable SELinux, add libjemalloc, and recompile HHVM-3.19.1, all are worked fine.
$ ./hphp/hhvm/hhvm --version
HipHop VM 3.19.1 (dbg)
Compiler: tags/HHVM-3.19.1-0-g6129094b1b61e1ae32245a583db0283e645384c1
Repo schema: 062f6c54b49727e83a10a43cdbb861741076e51d
$ ./hphp/hhvm/hhvm hphp/test/run quick
Running 1115 tests in 8 threads (0 in serial)
All tests passed.
| | |
)_) )_) )_)
)___))___))___)\
)____)____)_____)\
_____|____|____|____\\__
---------\ SHIP IT /---------
^^^^^ ^^^^^^^^^^^^^^^^^^^^^
^^^^ ^^^^ ^^^ ^^
^^^^ ^^^
Total time for all executed tests as run: 530.63s
Total time for all executed tests if run serially: 4031.01s
$ sestatus
SELinux status: disabled
$ uname -a
Linux dhcp-10-38 4.5.0-23.el7.aarch64 #1 SMP Fri Mar 17 21:46:33 CDT 2017 aarch64 aarch64 aarch64 GNU/Linux
Most helpful comment
See pull request #7701 .