Skip to content

Helix machines should reboot post-workitem when exit code is STATUS_DLL_INIT_FAILED (-1073741502) #10013

Closed

Description

@MattGal

As noted in dotnet/runtime#72142, sometimes Windows ARM64 machines get into a state where every process started by the Helix client gets STATUS_DLL_INIT_FAILED (-1073741502)

To make things better for our users we should

  • Introduce a final "exit code" message by default in the work item
  • If the machine is a windows machine and the exit code is -1073741502, we should use existing functionality to cause a machine reboot post test- this seems to unblock the problem immediately.

Activity

  1. self-assigned this
    on Jul 19, 2022
  2. MattGal commented on Jul 19, 2022

    @MattGal
    MemberAuthor

    I'll do this work next week when I'm on FR, assigning to self for dibs.

  3. MattGal commented on Jul 25, 2022

    @MattGal
    MemberAuthor

    Merged https://dnceng.visualstudio.com/internal/_git/dotnet-helix-machines/pullrequest/24367, will do some testing when this finishes deploying to staging.

  4. MattGal commented on Jul 26, 2022

    @MattGal
    MemberAuthor

    Changes went in but I missed something; the exit code is treated as unsigned int inside the helix client (and magically becomes signed somewhere downstream) so I've changed:

    • Print code that puts exit code at end of log now converts to signed (to prevent confusion)
    • Use unsigned value (added comment) when checking for infra retry / reboot behavior

    New PR: https://dnceng.visualstudio.com/internal/_git/dotnet-helix-machines/pullrequest/24389?_a=files

  5. MattGal commented on Jul 26, 2022

    @MattGal
    MemberAuthor

    Latest changes solve the problem and make the logs look good, moving to rollout.

    See this job in staging for an example (the work item hard-codes always returning a bad value, so deadletter is inevitable)

    WorkItems
    | where JobName == "75f6de78-ec56-45f8-92dc-76e047212954"
    
  6. MattGal commented on Jul 27, 2022

    @MattGal
    MemberAuthor

    These changes are now live and haven't caused trouble, so closing this issue.

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

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions