Skip to content

Failed test on Windows 10 after running hcttest on fresh enlistment with git clone and hctbuilld #1464

Description

@test2020dev2020

Tested on two systems with different OS, both failed with same error during hcttest.
Repro steps: (following the build document at: https://github.com/Microsoft/DirectXShaderCompiler)

  1. On a new system, installed Windows 10 Pro version 10.0.16299 or 10.0.17134 (RS4 Windows 10 version 1803: https://changewindows.org/milestone/redstone4)
  2. Installed Git for Windows from https://git-scm.com/download/win (64bit Git-2.18.0-64-bit.exe)
  3. Installed Visual Studio 2017 community edition from https://visualstudio.microsoft.com/downloads/
  4. Installed Python 2.7.15 from https://www.python.org/downloads/release/python-2715/
  5. On the system, did: git clone https://github.com/Microsoft/DirectXShaderCompiler.git
  6. After clone, set up a build environment shortcut by double-clicking the utils\hct\hctshortcut.js file, which created a shortcut on my desktop with a default configuration.
  7. click that shortcut on my desktop, it started a HLSL console
  8. From the HLSL console, ran the script at utils\hct\hctgettaef.py as python hctgettaef.py, it works fine
  9. From the HLSL console, ran: hctbuild, build successful
  10. From the HLSL console, ran: hcttest, encountered following error:

shadertestfailure

  1. Tried clicking "Retry" or "Ignore", there were no effects, the build continues, and here is the output:

shadertestoutput

  1. Here is the failed test error:

FileName: C:\Users\admin\AppData\Local\Temp\Tfm-13068-0\te.processhost.exe-20180729-084148.dmp
Error: TAEF: [HRESULT 0x800706BE] A failure occurred while running a test operation: 'CompilerTest::CompileWhenNoMemThenOOM'. (The process hosting the test code dropped the connection with the TAEF engine while invoking a test operation. It terminated with an exit code of 0x80000003.)

Command Line Usage Warnings:

The /labMode switch is being ignored as this setting is no longer supported.

EndGroup: CompilerTest::CompileWhenNoMemThenOOM [Failed]
TestSkipped: TAEF: The cleanup method 'TestModuleCleanup' will not be run as TAEF has stopped communicating with the test host process due to a previous failure.

Non-passing Tests:

CompilerTest::CompileWhenNoMemThenOOM [Failed]

Summary: Total=1203, Passed=1202, Failed=1, Blocked=0, Not Run=0, Skipped=0
You can debug the test with the following command line.
start devenv /debugexe TE.exe /inproc C:\github\hlsl.bin\Debug\test\clang-hlsl-tests.dll /p:"HlslDataDir=C:\github\DirectXShaderCompiler\tools\clang\test\HLSL" /select: "Peter G (@priority)<1"

Use this te.exe for out-of-proc, or pick the correct one for the target arch, currently x64.
C:\Program Files (x86)\windows kits\10\Testing\Runtimes\TAEF\TE.exe
C:\github\DirectXShaderCompiler\external\taef\build\Binaries\amd64\TE.exe

Use /name:TestClass* or /name:TestClass::MethodName to filter and /breakOnError to catch the failure.
1 file(s) copied.
Testing command line programs at C:\github\hlsl.bin\Debug\test ...
Smoke test for dxr command line program ...
warning: DXIL.dll not found. Resulting DXIL will not be signed for use in release environments.

shadertesterror

  1. Tried using above repro command to debug, changed little bit according to my system settings:
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe" /debugexe "C:\github\DirectXShaderCompiler\external\taef\build\Binaries\amd64\TE.exe" /inproc "C:\github\hlsl.bin\Debug\test\clang-hlsl-tests.dll" /p:"HlslDataDir=C:\github\DirectXShaderCompiler\tools\clang\test\HLSL" /select: "Peter G (@priority)<1"

shadertestdebugcommand

  1. Te.exe triggers a breakpoint, and it is because of ptr is null pointer (looks like allocation error, my dev system has 16GB memory, so it should not be an memory issue, but DXC issue).

void * ptr = DxcGetThreadMallocNoRef()->Alloc(size);

shadertestdebug

This is a blocking bug,

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions