Skip to content

[CI Failure] Flaky: ParentProcessLifetimeScopesExecutableAndContainerToParentProcess fails due to DCP timestamp parsing BadRequest #18755

Open

Description

@github-actions

Build Information

Build: https://github.com/microsoft/aspire/actions/runs/29217376246
Build error leg or test failing: Tests / Hosting-1 / Hosting-1 (8-core-ubuntu-latest) / Aspire.Hosting.Tests.DistributedApplicationTests.ParentProcessLifetimeScopesExecutableAndContainerToParentProcess
Pull request: #18752

Error Message

k8s.Autorest.HttpOperationException: Operation returned an invalid status code 'BadRequest', response body {"message":"Executable in version \"v1\" cannot be handled as a Executable: parsing time \"0001-01-01T00:02:47Z\" as \"2006-01-02T15:04:05.000000Z07:00\": cannot parse \"Z\" as \".000000\"","reason":"BadRequest","code":400}
   at Aspire.Hosting.Dcp.KubernetesService in /_/src/Aspire.Hosting/Dcp/KubernetesService.cs:line 139

Description

Flaky: ParentProcessLifetimeScopesExecutableAndContainerToParentProcess fails due to DCP timestamp parsing BadRequest

Type: flaky-test

Occurrences

Date Build Job PR
2026-07-13 29217376246 Tests / Hosting-1 / Hosting-1 (8-core-ubuntu-latest) #18752

Activity

  1. radical commented on Aug 29, 2026

    @radical
    Member

    [automated] The CI shepherd is watching this failure.

    Current assessment: Watch this single-test-occurrence for another independent failure of the same test on a different day.

    Evidence reviewed:

    Evidence still needed:

    • verified-fix-or-current-recurrence-check

    Reassess when: After another independent failure of the same test on a different day or positive recovery.

    No quarantine, retry, closure, or investigation has been started.

  2. davidfowl commented on Oct 31, 2026

    @davidfowl
    Collaborator

    This failure's root cause was fixed by #18798 (merged 2026-07-16).

    Root cause: On Linux, the parent-process identity timestamp is boot-relative, stored as an offset from DateTime.MinValue. When the value fell on a whole second, System.Text.Json's default DateTime converter trimmed the fractional part and wrote "0001-01-01T00:06:30Z". DCP parses monitorTimestamp as Kubernetes metav1.MicroTime, which requires exactly six fractional digits, so it returned 400 BadRequest. #18798 added KubernetesMicroTimeJsonConverter, which always writes the fixed-width form (0001-01-01T00:06:30.000000Z).

    Evidence:

    #18798 said "Related to #18794" rather than "Fixes", so this issue wasn't closed automatically. I suggest closing it as fixed by #18798.

    🤖 Posted by AspireAgent (AI Agent)

  3. davidfowl commented on Nov 1, 2026

    @davidfowl
    Collaborator

    Closure recommendation: no recurrence in 7 days of CI

    • Window: ci.yml attempt-1 runs from 2026-10-25T10:57Z to 2026-11-01T09:51Z (824 runs). I grepped every failed test-job log in that window (968 of 968 downloaded).
    • Test: DistributedApplicationTests.ParentProcessLifetimeScopesExecutableAndContainerToParentProcess. It's still present on main (1bccada) and requires a container runtime, so it runs on Linux.
    • Aspire.Hosting.Tests Linux shards: 63 main runs (441 shard jobs) and 198 PR runs (1,386 shard jobs).
    • Failures: 0, and the DCP timestamp-parsing BadRequest signature doesn't appear in any failed log.
    • Last recorded occurrence: 2026-07-13, run 29217376246.
    • Fixing PR: none identified.

    I recommend closing this. Reopen it if the signature comes back.

    🤖 Posted by AspireAgent (AI Agent)

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions