Skip to main content
← Back to list
01Issue
BugShippedExtensionsTeam
Assigneesstack72

Relationships

#1237 provisioner.provision fails with 'Cannot read properties of undefined (reading trim)' at method_execution_service.ts:852

Opened by webframp · 7/18/2026· Shipped 7/18/2026

Summary

@swamp/s3-datastore-bootstrap/provisioner's provision method fails consistently inside swamp core's global-argument/method-execution resolution, not the extension's own code (grepped the full pulled extension source — zero .trim() calls anywhere in it).

Repro

  1. swamp extension pull @swamp/s3-datastore-bootstrap
  2. swamp model create @swamp/s3-datastore-bootstrap/provisioner swamp-s3-datastore-provisioner
  3. Wire globalArguments per the README:
    bucket_name: ${{ inputs.bucket_name }}
    region: ${{ inputs.region }}
    prefix: ${{ inputs.prefix }}
    policy_name: ${{ inputs.policy_name }}
  4. swamp model create command/shell swamp-s3-datastore-setup
  5. swamp workflow run "@swamp/bootstrap-s3-datastore" --input bucket_name=<bucket> --input region=us-east-1 --json

Observed

Step infra.provision fails every time with:

Cannot read properties of undefined (reading 'trim')
    at file:///tmp/deno-compile-swamp/src/domain/models/method_execution_service.ts:852:25
    at async DefaultStepExecutor.invokeMethod (.../execution_service.ts:1062:12)
    at async DefaultStepExecutor.executeModelMethod (.../execution_service.ts:869:24)
    at async DefaultStepExecutor.execute (.../execution_service.ts:496:14)

Reproduced identically across three input permutations:

  • only bucket_name+region passed (relying on prefix/policy_name workflow-input schema defaults of "")
  • explicit --input prefix="" --input policy_name=""
  • explicit non-empty --input prefix="loadgen" --input policy_name="swamp-loadgen-01-datastore"

Same error, same stack line, every time (~1.1s-2.8s in, after the model logs "Creating bucket..." / "Creating IAM managed policy..."). Since the extension's own source has no .trim() calls, this points to swamp core's handling of workflow-input-schema defaults not being populated into the inputs object that CEL-resolved globalArguments read from, or something similar in method_execution_service.ts's own post-resolution validation.

Environment

  • swamp 20260718.014016.0-sha.93325715
  • @swamp/s3-datastore-bootstrap 2026.07.18.1
  • Direct (non-workflow) swamp model method run on the same instance correctly reports "Unresolved expression in globalArguments.bucket_name" (expected, since there's no workflow inputs context outside a run) — ruling out a model-definition-file mistake on our side.

Workaround

Composing the same end state directly (@swamp/aws/s3/bucket create + @swamp/aws/iam/managed-policy create + swamp datastore setup extension [@swamp](/u/swamp)/s3-datastore by hand) rather than using the one-shot provisioner.

Upstream repository: https://github.com/swamp-club/swamp-extensions

Environment

  • Extension: @swamp/s3-datastore-bootstrap@2026.07.18.1
  • swamp: 20260718.014016.0-sha.93325715
  • OS: linux (x86_64)
  • Deno: 2.8.3
  • Shell: /run/current-system/sw/bin/zsh
02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 4 MOREPR_MERGED+ 1 MORECONTRIBUTOR_NOTIFIED

Shipped

7/18/2026, 11:41:32 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack727/18/2026, 10:29:18 PM
Editable. Press Enter to edit.

stack72 commented 7/18/2026, 11:42:06 PM

Thanks @webframp for reporting this! The fix has been merged and a release is on its way. We appreciate your contribution to swamp.

Sign in to post a ripple.