DynamoRIO / DynamoRIO/dynamorio

drx-test fails to set up job flags on GA Server2016

Open
#4,619 0 comments 0 reactions 0 assignees View on GitHub
Bug-AppFail Component-Tests Hotlist-ContinuousIntegration OpSys-Windows
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 18h
Merged PRs (30d)
30

Description

drx-test:
```
2020-12-05T20:35:30.7960247Z CreateProcess failure
2020-12-05T20:35:30.7960827Z Function AssignProcessToJobObject() failed!
2020-12-05T20:35:30.7961514Z Error code 0x6.
```
More info:
```
2020-12-05T22:10:28.9127958Z Start 136: code_api|client.drx-test
2020-12-05T22:10:28.9128300Z
2020-12-05T22:10:28.9130476Z 136: Test command: D:\a\dynamorio\dynamorio\build_debug-internal-64\bin64\drrun.exe "-s" "90" "-quiet" "-debug" "-use_dll" "D:/a/dynamorio/dynamorio/build_debug-internal-64/lib64/debug/dynamorio.dll" "-exit0" "-stderr_mask" "0xC" "-msgbox_mask" "0" "-dumpcore_mask" "0x7d" "-staged" "-code_api" "-c" "D:/a/dynamorio/dynamorio/build_debug-internal-64/suite/tests/bin/client.drx-test.dll.dll" "--" "D:/a/dynamorio/dynamorio/build_debug-internal-64/suite/tests/bin/client.drx-test.exe"
<...>
2020-12-05T22:10:32.2311021Z 136: CreateProcess |D:/a/dynamorio/dynamorio/build_debug-internal-64/suite/tests/bin/client.drx-test.exe| |D:/a/dynamorio/dynamorio/build_debug-internal-64/suite/tests/bin/client.drx-test.exe 000000000000009C| failure: 0x5
2020-12-05T22:10:32.2313912Z 136: Function AssignProcessToJobObject() failed!
2020-12-05T22:10:32.2314660Z 136: Error code 0x6.
```
5 == ERROR_ACCESS_DENIED
Could it be b/c of forward slashes?? That would be a not-found error
though right?
Wait: it's on child #2! The 1st one worked.
So likely it is the CREATE_BREAKAWAY_FROM_JOB, which will fail if the job
wasn't created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.
So we'd expect AssignProcessToJobObject() to fail too: should try it.
If so: not much we can do? Is this from however GA sets up the shell to launch our tests?
Some OS config?

For now drx-test is on the ignore list.

Contributor guide

Open the contributing guide

Research direction

Start with the drx-test failure on GA Server2016 and inspect the Windows job setup around CREATE_BREAKAWAY_FROM_JOB and AssignProcessToJobObject(). Compare the first and second child-process behavior, then determine whether the GitHub Actions environment or the test setup causes the failure; done means drx-test no longer fails unexpectedly or the ignore-list decision is clearly documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
ci-cd, operating-systems, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.