Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wasm][windows] v8 doesn't seem to exit sometimes causing helix test run to time out #64227

Closed
radical opened this issue Jan 24, 2022 · 11 comments
Assignees
Labels
Milestone

Comments

@radical
Copy link
Member

radical commented Jan 24, 2022

Two recent instances of this seen on rolling builds:

System.Text.RegularExpressions.Generators.Tests

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]

Microsoft.Extensions.Logging.Generators.Roslyn3.11.Tests

[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]

cc @pavelsavara @radekdoulik

@radical radical added the arch-wasm WebAssembly architecture label Jan 24, 2022
@ghost
Copy link

ghost commented Jan 24, 2022

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Two recent instances of this seen on rolling builds:

System.Text.RegularExpressions.Generators.Tests

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]

Microsoft.Extensions.Logging.Generators.Roslyn3.11.Tests

[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]

cc @pavelsavara

Author: radical
Assignees: -
Labels:

arch-wasm

Milestone: -

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Jan 24, 2022
@lewing
Copy link
Member

lewing commented Jan 25, 2022

That sounds like the task queue isn't empty, @maraf could you take a look at this.

@lewing lewing added this to the 7.0.0 milestone Jan 25, 2022
@lewing lewing removed the untriaged New issue has not been triaged by the area owner label Jan 25, 2022
@ghost
Copy link

ghost commented Jan 25, 2022

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

Two recent instances of this seen on rolling builds:

System.Text.RegularExpressions.Generators.Tests

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]

Microsoft.Extensions.Logging.Generators.Roslyn3.11.Tests

[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]

cc @pavelsavara @radekdoulik

Author: radical
Assignees: maraf
Labels:

arch-wasm, area-Infrastructure-mono

Milestone: 7.0.0

@maraf
Copy link
Member

maraf commented Jan 26, 2022

Some findings

  • 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.

@pavelsavara
Copy link
Member

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
Copy link
Member

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?

@maraf
Copy link
Member

maraf commented Jun 29, 2022

@maraf maraf closed this as completed Jun 29, 2022
@maraf
Copy link
Member

maraf commented Jun 30, 2022

Sorry for closing, probably I should still look why this happens on empty test unit.

@maraf maraf reopened this Jun 30, 2022
@maraf
Copy link
Member

maraf commented Jul 21, 2022

Moving to 8.0 as this isn't currently blocking us.

@github-actions github-actions bot locked and limited conversation to collaborators May 27, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

6 participants