Skip to content

[Bug] Unrecognized date time interval format on unmarshalling #555

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

Closed
roxblnfk opened this issue Jan 18, 2025 · 0 comments · Fixed by #563 or #570
Closed

[Bug] Unrecognized date time interval format on unmarshalling #555

roxblnfk opened this issue Jan 18, 2025 · 0 comments · Fixed by #563 or #570
Labels
Bug Something isn't working
Milestone

Comments

@roxblnfk
Copy link
Collaborator

roxblnfk commented Jan 18, 2025

Describe the bug

See temporalio/features#580

Running check Harness\Feature\Schedule\Basic\FeatureChecker::check FAILED
Temporal\Exception\MarshallerException {#1282
  #message: "Unable to unmarshal field `info` of class Temporal\Client\Schedule\Info\ScheduleListEntry"
  #code: 0
  #file: "./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php"
  #line: 90
  -previous: Temporal\Exception\MarshallerException {#1111
    #message: "Unable to unmarshal field `spec` of class Temporal\Client\Schedule\Info\ScheduleListInfo"
    #code: 0
    #file: "./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php"
    #line: 90
    -previous: Temporal\Exception\MarshallerException {#1154
      #message: "Unable to unmarshal field `jitter` of class Temporal\Client\Schedule\Spec\ScheduleSpec"
      #code: 0
      #file: "./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php"
      #line: 90
      -previous: InvalidArgumentException {#1283
        #message: "Unrecognized date time interval format"
        #code: 0
        #file: "./vendor/temporal/sdk/src/Internal/Support/DateInterval.php"
        #line: 109
        trace: {
          ./vendor/temporal/sdk/src/Internal/Support/DateInterval.php:109 { …}
          ./vendor/temporal/sdk/src/Internal/Marshaller/Type/DateIntervalType.php:78 { …}
          ./vendor/temporal/sdk/src/Internal/Marshaller/Mapper/AttributeMapper.php:156 { …}
          Temporal\Client\Schedule\Spec\ScheduleSpec->Temporal\Internal\Marshaller\Mapper\{closure}() {}
          ./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php:88 { …}
          ./vendor/temporal/sdk/src/Internal/Marshaller/Type/ObjectType.php:79 { …}
          ./vendor/temporal/sdk/src/Internal/Marshaller/Mapper/AttributeMapper.php:156 { …}
          Temporal\Client\Schedule\Info\ScheduleListInfo->Temporal\Internal\Marshaller\Mapper\{closure}() {}
          ./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php:88 { …}
          ./vendor/temporal/sdk/src/Internal/Marshaller/Type/ObjectType.php:79 { …}
          ./vendor/temporal/sdk/src/Internal/Marshaller/Mapper/AttributeMapper.php:156 { …}
          Temporal\Client\Schedule\Info\ScheduleListEntry->Temporal\Internal\Marshaller\Mapper\{closure}() {}
          ./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php:88 { …}
          ./vendor/temporal/sdk/src/Client/ScheduleClient.php:[166](https://github.com/temporalio/features/actions/runs/12834770491/job/35792794659?pr=577#step:10:167) { …}
          Temporal\Client\ScheduleClient->Temporal\Client\{closure}() {}
          ./vendor/temporal/sdk/src/Client/Common/Paginator.php:35 { …}
          ./vendor/temporal/sdk/src/Client/Common/Paginator.php:50 { …}
          ./vendor/temporal/sdk/src/Client/ScheduleClient.php:173 { …}
          /app/features/schedule/basic/feature.php:81 {
            Harness\Feature\Schedule\Basic\FeatureChecker::check(ScheduleClientInterface $client, WorkflowClientInterface $wfClient, Feature $feature, State $runtime): void
            › find:
            › foreach ($client->listSchedules() as $schedule) {
            ›     if ($schedule->scheduleId === $scheduleId) {
          }
          Harness\Feature\Schedule\Basic\FeatureChecker::check() {}
          ./vendor/spiral/core/src/Internal/Invoker.php:59 { …}
          ./vendor/spiral/core/src/Container.php:292 { …}
          /app/harness/php/runner.php:108 { …}
          {closure}() {}
          ./vendor/spiral/core/src/Internal/Invoker.php:77 { …}
          ./vendor/spiral/core/src/Container.php:292 { …}
          ./vendor/spiral/core/src/Container.php:404 { …}
          ./vendor/spiral/core/src/ContainerScope.php:46 { …}
          ./vendor/spiral/core/src/Container.php:399 { …}
          ./vendor/spiral/core/src/Container.php:181 { …}
          /app/harness/php/runner.php:99 { …}
        }
      }
      trace: {
        ./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php:90 { …}
        ./vendor/temporal/sdk/src/Internal/Marshaller/Type/ObjectType.php:79 { …}
        ./vendor/temporal/sdk/src/Internal/Marshaller/Mapper/AttributeMapper.php:156 { …}
        Temporal\Client\Schedule\Info\ScheduleListInfo->Temporal\Internal\Marshaller\Mapper\{closure}() {}
        ./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php:88 { …}
        ./vendor/temporal/sdk/src/Internal/Marshaller/Type/ObjectType.php:79 { …}
        ./vendor/temporal/sdk/src/Internal/Marshaller/Mapper/AttributeMapper.php:156 { …}
        Temporal\Client\Schedule\Info\ScheduleListEntry->Temporal\Internal\Marshaller\Mapper\{closure}() {}
        ./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php:88 { …}
        ./vendor/temporal/sdk/src/Client/ScheduleClient.php:166 { …}
        Temporal\Client\ScheduleClient->Temporal\Client\{closure}() {}
        ./vendor/temporal/sdk/src/Client/Common/Paginator.php:35 { …}
        ./vendor/temporal/sdk/src/Client/Common/Paginator.php:50 { …}
        ./vendor/temporal/sdk/src/Client/ScheduleClient.php:[173](https://github.com/temporalio/features/actions/runs/12834770491/job/35792794659?pr=577#step:10:174) { …}
        /app/features/schedule/basic/feature.php:81 {
          Harness\Feature\Schedule\Basic\FeatureChecker::check(ScheduleClientInterface $client, WorkflowClientInterface $wfClient, Feature $feature, State $runtime): void
          › find:
          › foreach ($client->listSchedules() as $schedule) {
          ›     if ($schedule->scheduleId === $scheduleId) {
        }
        Harness\Feature\Schedule\Basic\FeatureChecker::check() {}
        ./vendor/spiral/core/src/Internal/Invoker.php:59 { …}
        ./vendor/spiral/core/src/Container.php:292 { …}
        /app/harness/php/runner.php:108 { …}
        {closure}() {}
        ./vendor/spiral/core/src/Internal/Invoker.php:77 { …}
        ./vendor/spiral/core/src/Container.php:292 { …}
        ./vendor/spiral/core/src/Container.php:404 { …}
        ./vendor/spiral/core/src/ContainerScope.php:46 { …}
        ./vendor/spiral/core/src/Container.php:399 { …}
        ./vendor/spiral/core/src/Container.php:[181](https://github.com/temporalio/features/actions/runs/12834770491/job/35792794659?pr=577#step:10:182) { …}
        /app/harness/php/runner.php:99 { …}
      }
    }
    trace: {
      ./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php:90 { …}
      ./vendor/temporal/sdk/src/Internal/Marshaller/Type/ObjectType.php:79 { …}
      ./vendor/temporal/sdk/src/Internal/Marshaller/Mapper/AttributeMapper.php:156 { …}
      Temporal\Client\Schedule\Info\ScheduleListEntry->Temporal\Internal\Marshaller\Mapper\{closure}() {}
      ./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php:88 { …}
      ./vendor/temporal/sdk/src/Client/ScheduleClient.php:166 { …}
      Temporal\Client\ScheduleClient->Temporal\Client\{closure}() {}
      ./vendor/temporal/sdk/src/Client/Common/Paginator.php:35 { …}
      ./vendor/temporal/sdk/src/Client/Common/Paginator.php:50 { …}
      ./vendor/temporal/sdk/src/Client/ScheduleClient.php:173 { …}
      /app/features/schedule/basic/feature.php:81 {
        Harness\Feature\Schedule\Basic\FeatureChecker::check(ScheduleClientInterface $client, WorkflowClientInterface $wfClient, Feature $feature, State $runtime): void
        › find:
        › foreach ($client->listSchedules() as $schedule) {
        ›     if ($schedule->scheduleId === $scheduleId) {
      }
      Harness\Feature\Schedule\Basic\FeatureChecker::check() {}
      ./vendor/spiral/core/src/Internal/Invoker.php:59 { …}
      ./vendor/spiral/core/src/Container.php:292 { …}
      /app/harness/php/runner.php:108 { …}
      {closure}() {}
      ./vendor/spiral/core/src/Internal/Invoker.php:77 { …}
      ./vendor/spiral/core/src/Container.php:292 { …}
      ./vendor/spiral/core/src/Container.php:404 { …}
      ./vendor/spiral/core/src/ContainerScope.php:46 { …}
      ./vendor/spiral/core/src/Container.php:399 { …}
      ./vendor/spiral/core/src/Container.php:181 { …}
      /app/harness/php/runner.php:99 { …}
    }
  }
  trace: {
    ./vendor/temporal/sdk/src/Internal/Marshaller/Marshaller.php:90 { …}
    ./vendor/temporal/sdk/src/Client/ScheduleClient.php:166 { …}
    Temporal\Client\ScheduleClient->Temporal\Client\{closure}() {}
    ./vendor/temporal/sdk/src/Client/Common/Paginator.php:35 { …}
    ./vendor/temporal/sdk/src/Client/Common/Paginator.php:50 { …}
    ./vendor/temporal/sdk/src/Client/ScheduleClient.php:173 { …}
    /app/features/schedule/basic/feature.php:81 {
      Harness\Feature\Schedule\Basic\FeatureChecker::check(ScheduleClientInterface $client, WorkflowClientInterface $wfClient, Feature $feature, State $runtime): void
      › find:
      › foreach ($client->listSchedules() as $schedule) {
      ›     if ($schedule->scheduleId === $scheduleId) {
    }
    Harness\Feature\Schedule\Basic\FeatureChecker::check() {}
    ./vendor/spiral/core/src/Internal/Invoker.php:59 { …}
    ./vendor/spiral/core/src/Container.php:292 { …}
    /app/harness/php/runner.php:108 { …}
    {closure}() {}
    ./vendor/spiral/core/src/Internal/Invoker.php:77 { …}
    ./vendor/spiral/core/src/Container.php:292 { …}
    ./vendor/spiral/core/src/Container.php:404 { …}
    ./vendor/spiral/core/src/ContainerScope.php:46 { …}
    ./vendor/spiral/core/src/Container.php:399 { …}
    ./vendor/spiral/core/src/Container.php:181 { …}
    /app/harness/php/runner.php:99 { …}
  }
}
-> /app/features/schedule/basic/feature.php:81
MarshallerException
Unable to unmarshal field `info` of class Temporal\Client\Schedule\Info\ScheduleListEntry
MarshallerException
Unable to unmarshal field `spec` of class Temporal\Client\Schedule\Info\ScheduleListInfo
MarshallerException
Unable to unmarshal field `jitter` of class Temporal\Client\Schedule\Spec\ScheduleSpec
InvalidArgumentException
Unrecognized date time interval format

Yet another:
temporalio/features#582

Running check Harness\Feature\ContinueAsNew\ContinueAsSame\FeatureChecker::check FAILED
Temporal\Exception\Client\TimeoutException {#325
  #message: "Deadline Exceeded (code: 4)"
  #code: 4
  #file: "./vendor/temporal/sdk/src/Client/GRPC/BaseClient.php"
  #line: 291
  -previous: Temporal\Exception\Client\ServiceClientException {#307
    #message: "Deadline Exceeded (code: 4)"
    #code: 4
    #file: "./vendor/temporal/sdk/src/Client/GRPC/BaseClient.php"
    #line: [28](https://github.com/temporalio/features/actions/runs/12835436433/job/35794872814?pr=577#step:9:29)4
    -status: Google\Rpc\Status {#314
      message: "google.rpc.Status"
      values: []
    }
    trace: {
      ./vendor/temporal/sdk/src/Client/GRPC/BaseClient.php:284 { …}
      ./vendor/temporal/sdk/src/Client/GRPC/BaseClient.php:252 { …}
      ./vendor/temporal/sdk/src/Client/GRPC/ServiceClient.php:137 { …}
      ./vendor/temporal/sdk/src/Internal/Client/WorkflowStub.php:576 { …}
      ./vendor/temporal/sdk/src/Internal/Client/WorkflowStub.php:491 { …}
      ./vendor/temporal/sdk/src/Internal/Client/WorkflowStub.php:423 { …}
      ./vendor/temporal/sdk/src/Internal/Interceptor/Pipeline.php:92 { …}
      ./vendor/temporal/sdk/src/Internal/Client/WorkflowStub.php:432 { …}
      /app/features/continue_as_new/continue_as_same/feature.php:62 {
        Harness\Feature\ContinueAsNew\ContinueAsSame\FeatureChecker::check(WorkflowStubInterface $stub): void
        › ): void {
        ›     Assert::same($stub->getResult(), INPUT_DATA);
        ›     # Workflow ID does not change after continue as new
      }
      Harness\Feature\ContinueAsNew\ContinueAsSame\FeatureChecker::check() {}
      ./vendor/spiral/core/src/Internal/Invoker.php:59 { …}
      ./vendor/spiral/core/src/Container.php:[29](https://github.com/temporalio/features/actions/runs/12835436433/job/35794872814?pr=577#step:9:30)2 { …}
      /app/harness/php/runner.php:108 { …}
      {closure}() {}
      ./vendor/spiral/core/src/Internal/Invoker.php:77 { …}
      ./vendor/spiral/core/src/Container.php:292 { …}
      ./vendor/spiral/core/src/Container.php:404 { …}
      ./vendor/spiral/core/src/ContainerScope.php:46 { …}
      ./vendor/spiral/core/src/Container.php:399 { …}
      ./vendor/spiral/core/src/Container.php:181 { …}
      /app/harness/php/runner.php:99 { …}
    }
  }
  trace: {
    ./vendor/temporal/sdk/src/Client/GRPC/BaseClient.php:291 { …}
    ./vendor/temporal/sdk/src/Client/GRPC/BaseClient.php:252 { …}
    ./vendor/temporal/sdk/src/Client/GRPC/ServiceClient.php:137 { …}
    ./vendor/temporal/sdk/src/Internal/Client/WorkflowStub.php:576 { …}
    ./vendor/temporal/sdk/src/Internal/Client/WorkflowStub.php:491 { …}
    ./vendor/temporal/sdk/src/Internal/Client/WorkflowStub.php:423 { …}
    ./vendor/temporal/sdk/src/Internal/Interceptor/Pipeline.php:92 { …}
    ./vendor/temporal/sdk/src/Internal/Client/WorkflowStub.php:4[32](https://github.com/temporalio/features/actions/runs/12835436433/job/35794872814?pr=577#step:9:33) { …}
    /app/features/continue_as_new/continue_as_same/feature.php:62 {
      Harness\Feature\ContinueAsNew\ContinueAsSame\FeatureChecker::check(WorkflowStubInterface $stub): void
      › ): void {
      ›     Assert::same($stub->getResult(), INPUT_DATA);
      ›     # Workflow ID does not change after continue as new
    }
    Harness\Feature\ContinueAsNew\ContinueAsSame\FeatureChecker::check() {}
    ./vendor/spiral/core/src/Internal/Invoker.php:59 { …}
    ./vendor/spiral/core/src/Container.php:292 { …}
    /app/harness/php/runner.php:108 { …}
    {closure}() {}
    ./vendor/spiral/core/src/Internal/Invoker.php:77 { …}
    ./vendor/spiral/core/src/Container.php:292 { …}
    ./vendor/spiral/core/src/Container.php:404 { …}
    ./vendor/spiral/core/src/ContainerScope.php:46 { …}
    ./vendor/spiral/core/src/Container.php:[39](https://github.com/temporalio/features/actions/runs/12835436433/job/35794872814?pr=577#step:9:40)9 { …}
    ./vendor/spiral/core/src/Container.php:181 { …}
    /app/harness/php/runner.php:99 { …}
  }
}
-> /app/features/continue_as_new/continue_as_same/feature.php:62
TimeoutException
Deadline Exceeded (code: 4)
ServiceClientException
Deadline Exceeded (code: 4)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
1 participant