You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[wasm][windows] v8 doesn't seem to exit sometimes causing helix test run to time out #64227
01:04:48] info: Received expected 378 of C:\helix\work\workitem\uploads\xharness-output\testResults.xml
[01:04:48] info: Finished writing 378 bytes of RESULTXML
[01:04:48] info: Xml file was written to the provided writer.
[01:04:48] info: Tests run: 0 Passed: 0 Inconclusive: 0 Failed: 0 Ignored: 0 Skipped: 0
...
[EXECUTION TIMED OUT]
Exit Code:-3Executor timed out after 3600 seconds and was killed
['normal-System.Text.RegularExpressions.Generators.Tests' END OF WORK ITEM LOG: Command timed out, and was killed]
[23:13:33] info: Received expected 387 of C:\helix\work\workitem\uploads\xharness-output\testResults.xml
[23:13:33] info: Finished writing 387 bytes of RESULTXML
[23:13:33] info: Xml file was written to the provided writer.
[23:13:33] info: Tests run: 0 Passed: 0 Inconclusive: 0 Failed: 0 Ignored: 0 Skipped: 0
...
[EXECUTION TIMED OUT]
Exit Code:-3Executor timed out after 3600 seconds and was killed
['normal-Microsoft.Extensions.Logging.Generators.Roslyn3.11.Tests' END OF WORK ITEM LOG: Command timed out, and was killed]
Windows AOT and v8 only (other scenarios don't run on Windows AOT).
0 tests run in both projects.
I'm not able compile those tests locally with AOT, but when I pick a smaller assembly (like System.ValueTuple.Tests), it creates some delay (10-15s) after "Tests run: ..." and before XHarness actually exits.
It is a place where v8 (and wasm) exists and returns to XHarness cli.
It happens even locally
dotnet.wasm has 405MB for Microsoft.Extensions.Logging.Generators.Roslyn3.11.Tests.
It doesn't timeout, but takes few minutes to exit after tests are finished.
It is v8 specific, other scenarios don't have the delay.
Even when .NET main is not executed from javascript, the delay is still there.
I saw similar behavior on local build with broken wasm binary. I think some wasm code was running tight loop over some data.
I think in my case it was pointer to char* which pointed to DLL metadata instead of the string I wanted to convert from utf8. So the time was linear with size of the data.
I recommend to try to use profiler or attach debugger to see what is running.
Also allocation patter could be useful. If it's allocating something in JS, it means it's running JS. Otherwise it could be just wasm loop.
I saw similar behavior on local build with broken wasm binary. I think some wasm code was running tight loop over some data. I think in my case it was pointer to char* which pointed to DLL metadata instead of the string I wanted to convert from utf8. So the time was linear with size of the data. I recommend to try to use profiler or attach debugger to see what is running. Also allocation patter could be useful. If it's allocating something in JS, it means it's running JS. Otherwise it could be just wasm loop.
@maraf, this suggestion sounds helpful, have you tried it? What's the result?
Activity
lewing commentedon Jan 25, 2022
That sounds like the task queue isn't empty, @maraf could you take a look at this.
maraf commentedon Jan 26, 2022
Some findings
I'm not able compile those tests locally with AOT, butwhen I pick a smaller assembly (likeSystem.ValueTuple.Tests), it creates some delay (10-15s) after "Tests run: ..." and before XHarness actually exits.dotnet.wasmhas 405MB forMicrosoft.Extensions.Logging.Generators.Roslyn3.11.Tests.mainis not executed from javascript, the delay is still there.radical commentedon Feb 5, 2022
Hit again on a rolling build - https://helixre8s23ayyeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-06a2b5c99cde42688b/normal-System.Text.RegularExpressions.Generators.Tests.Attempt.3/1/console.4a785ba6.log?sv=2019-07-07&se=2022-02-23T22%3A27%3A38Z&sr=c&sp=rl&sig=X5CSYRGPDL3DzCbQ4y88vWxCAUcnwQoNydZLyQ4ReSg%3D
pavelsavara commentedon Feb 7, 2022
I saw similar behavior on local build with broken wasm binary. I think some wasm code was running tight loop over some data.
I think in my case it was pointer to char* which pointed to DLL metadata instead of the string I wanted to convert from utf8. So the time was linear with size of the data.
I recommend to try to use profiler or attach debugger to see what is running.
Also allocation patter could be useful. If it's allocating something in JS, it means it's running JS. Otherwise it could be just wasm loop.
ilonatommy commentedon Jun 22, 2022
@maraf, this suggestion sounds helpful, have you tried it? What's the result?
maraf commentedon Jun 29, 2022
System.Text.RegularExpressions.Generators.Testsis skipped on browser. Originally all tests were marked to be skipped on browser and then whole test unit was excluded [wasm] Disable System.Text.RegularExpressions.Generators.Tests #65238.Microsoft.Extensions.Logging.Generators.Roslyn3.11.Testshas been moved to "HighAOTResourceRequiringProject" in [wasm][aot] Run the high resource AOT tests on build machine itself #67017 and since then it doesn't fail.maraf commentedon Jun 30, 2022
Sorry for closing, probably I should still look why this happens on empty test unit.
maraf commentedon Jul 21, 2022
Moving to 8.0 as this isn't currently blocking us.