Skip to content

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

Closed

Description

@radical

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

Activity

  1. ghost added
    untriagedNew issue has not been triaged by the area owner
    on Jan 24, 2022
  2. lewing commented on Jan 25, 2022

    @lewing
    Member

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

  3. added this to the 7.0.0 milestone on Jan 25, 2022
  4. removed
    untriagedNew issue has not been triaged by the area owner
    on Jan 25, 2022
  5. maraf commented on Jan 26, 2022

    @maraf
    Member

    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.
  6. pavelsavara commented on Feb 7, 2022

    @pavelsavara
    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.

  7. ilonatommy commented on Jun 22, 2022

    @ilonatommy
    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?

  8. maraf commented on Jun 29, 2022

    @maraf
    Member
  9. maraf commented on Jun 30, 2022

    @maraf
    Member

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

  10. reopened this on Jun 30, 2022
  11. maraf commented on Jul 21, 2022

    @maraf
    Member

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

  12. modified the milestones: 7.0.0, 8.0.0 on Jul 21, 2022
  13. modified the milestones: 8.0.0, 9.0.0 on Jul 26, 2023
  14. locked and limited conversation to collaborators on May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions