hhvm / packaging

The sources for how we have built the HHVM packages.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Core dump when running a test from Docker image of successful build

Atry opened this issue · comments

Reproduction step

Allocate an EC2 instance from template, and select a Docker image of successful build snapshot

cd hphp && test/run test/slow/ext_hsl/ext_os_fork_execve.php
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.4417.log
Segmentation fault (core dumped)

I guess this issue might be due to missing files from the snapshot Docker image, not a general CMake build problem, because test/run would not core dump if I rebuilt the entire HHVM repository from source instead of from snapshot Docker image.

Do you have the stack trace or any information from the core dump?

I guess this issue might be due to missing files from the snapshot Docker image

Missing files shouldn't be a problem

Docker

Try setting these two environment variables:

https://github.com/hhvm/hhvm-docker/blob/c36523fe62c92f7cb2dd9f0db5842448835116af/hhvm-latest/Dockerfile#L5-L6

The core dump seems happen in VS Code's terminal only, and it can be suppressed by executing:

exec bash -l

However, even though it does not core dump any more, there are additional errors

cd hphp && test/run test/slow/ext_hsl/ext_os_fork_execve.php
Running 1 tests in 1 threads (0 in serial)

FAILED: test/slow/ext_hsl/ext_os_fork_execve.php
008+ STDERR: /bin/sh: 1: cat: not found
008- STDERR\: \/bin\/sh\: cat\: No such file or directory
015+ /bin/sh: 1: Syntax error: Bad fd number
016- FD 42\: Baz
017- \-\-\- Good STDIO
017+ FD 42: --- Good STDIO

1 tests failed
(╯°□°)╯︵ ┻━┻

Run test/slow/ext_hsl/ext_os_fork_execve.php by hand:
./hhvm/hhvm -c /tmp/hhvmpkg.Tc6oqbvT/hhvm-nightly-2022.02.07/hphp/test/slow/config.ini -vEval.EnableArgsInBacktraces=false -vEval.EnableIntrinsicsExtension=true -vEval.HHIRInliningIgnoreHints=false -vEval.HHIRAlwaysInterpIgnoreHint=false -vEval.FoldLazyClassKeys=false -vUnitFileCache.Path=/tmp/hphp-test-oqbXHf/unit-cache.sql -vEval.Jit=true  -vEval.ProfileHWEnable=false -vEval.EmbeddedDataExtractPath='/tmp/hhvmpkg.Tc6oqbvT/hhvm-nightly-2022.02.07/hphp/hhvm/hhvm_%{type}_%{buildid}' -vEval.JitWorkerThreads=1 -vEval.JitWorkerThreadsForSerdes=1  -vAutoload.DB.Path='/tmp/hphp-test-oqbXHf/test/slow/ext_hsl/ext_os_fork_execve.php.autoloadDB.0' -vResourceLimit.CoreFileSize=0     --file 'test/slow/ext_hsl/ext_os_fork_execve.php'

See failed test output and expectations:
cat /tmp/hphp-test-oqbXHf/test/slow/ext_hsl/ext_os_fork_execve.php.diff
cat /tmp/hphp-test-oqbXHf/test/slow/ext_hsl/ext_os_fork_execve.php.out
cat test/slow/ext_hsl/ext_os_fork_execve.php.expectf

For xargs, list of failures is available using:
cat /tmp/hphp-test-oqbXHf/test-failures

Re-run just the failing tests:
test/run  $(cat /tmp/hphp-test-oqbXHf/test-failures)

Total time for all executed tests as run: 0.91s
Total time for all executed tests if run serially: 0.86s

Try setting these two environment variables:

https://github.com/hhvm/hhvm-docker/blob/c36523fe62c92f7cb2dd9f0db5842448835116af/hhvm-latest/Dockerfile#L5-L6

The environment variables do not help

root@767b6104f82e:hhvm-nightly-2022.02.07# export HHVM_DISABLE_PERSONALITY=1
root@767b6104f82e:hhvm-nightly-2022.02.07# export HHVM_DISABLE_NUMA=1
root@767b6104f82e:hhvm-nightly-2022.02.07# cd hphp && test/run test/slow/ext_hsl/ext_os_fork_execve.php
Core dumped: Segmentation fault
Stack trace in /tmp/stacktrace.25086.log
Segmentation fault (core dumped)
cat /tmp/stacktrace.25086.log
Host: 767b6104f82e
ProcessID: 25086
ThreadID: 139931094951680
ThreadPID: 25086
Name: unknown program
CmdLine: test/../hhvm/hhvm test/run.php test/slow/ext_hsl/ext_os_fork_execve.php 
Type: Segmentation fault
Runtime: hhvm
Version: tags/nightly-2022.02.06-0-ga1530f6b57066e3e50fe65fea864ceb732afa838
DebuggerCount: 0



-------------------------------Treadmill Information----------------------------
OldestStartTime: 0
InflightRequestsSize: 0

# 0  000055e0a4c662d6
# 1  000055e0a4fcd4c3
# 2  00007f443d2ea980
# 3  00007f44372db1ed
# 4  000055e0a50451c1
# 5  000055e0a50457ac
# 6  000055e0a5046c63
# 7  000055e0a504727b
# 8  000055e0a50478f5
# 9  000055e0a5107d36
# 10 000055e0a652441d
# 11 000055e0a5f80479
# 12 000055e0a5072a43
# 13 000055e0a5078b02
# 14 000055e0a507b64f
# 15 000055e0a4befcca
# 16 00007f44372cdbf7
# 17 000055e0a4bec1ca

PHP Stacktrace:

This error is due to facebook/hhvm#8992, which is just fixed.