Describe the bug
BidEngine shellScript strategy is frequently bypassed — the provider daemon submits bids using internal scale parameters instead of calling the configured price script. All script logic including filtering (exit 1) and custom pricing is ignored.
- account address =
akash15uc29tz7l7umw77rh7l5mh90jzq4h8kqc36vu0
- deployment sequence = N/A (affects all incoming orders)
- deploy.yaml = N/A (provider-side bug)
To Reproduce
- Configure provider with
AKASH_BID_PRICE_STRATEGY=shellScript
- Set
AKASH_BID_PRICE_SCRIPT_PATH=/scripts/price_script.sh
- Add logging at line 1 of script:
echo "DEBUG SCRIPT START: $(date +%H:%M:%S.%3N)" >&2
- Observe provider logs — many bids are submitted without
DEBUG SCRIPT START appearing
Expected behavior
Every bid submitted by the provider should be preceded by a script invocation. If the script returns exit 1, no bid should be submitted.
Logs
When bug occurs — script never started, bid submitted via internal fallback:
INF Reservation fulfilled order=akash15uc29tz7.../26879854/1/1
DBG submitting fulfillment order=akash15uc29tz7.../26879854/1/1 price=63uact
INF bid complete order=akash15uc29tz7.../26879854/1/1
When working correctly — script called, exit 1 respected:
ERR error calculating price error="exit status 1: script failure
DEBUG SCRIPT START: 10:09:03.609
DEBUG UTIL FIELDS: alloc_cpu=512000 avail_cpu=480250 ...
DEBUG DECISION: CPU_ONLY resources too small cpu_m=4000
Desktop
- OS: Ubuntu 24.04
- Provider version: v0.12.0
- Kubernetes: k3s
- Chain: akashnet-2
Additional context
- Confirmed on two independent providers:
provider.metz.live and provider.akash.metz.live
- Script hash verified identical between local file and pod (
md5sum match)
curl latency inside pod: 10–23ms (well within 500ms timeout)
- All
price_target_* set to 0 to disable fallback — bug persists
- No consistent trigger pattern identified from logs alone
- Results in: unwanted bids on filtered jobs, incorrect prices, wasted gas
Describe the bug
BidEngine
shellScriptstrategy is frequently bypassed — the provider daemon submits bids using internal scale parameters instead of calling the configured price script. All script logic including filtering (exit 1) and custom pricing is ignored.akash15uc29tz7l7umw77rh7l5mh90jzq4h8kqc36vu0To Reproduce
AKASH_BID_PRICE_STRATEGY=shellScriptAKASH_BID_PRICE_SCRIPT_PATH=/scripts/price_script.shDEBUG SCRIPT STARTappearingExpected behavior
Every bid submitted by the provider should be preceded by a script invocation. If the script returns
exit 1, no bid should be submitted.Logs
When bug occurs — script never started, bid submitted via internal fallback:
When working correctly — script called, exit 1 respected:
Desktop
Additional context
provider.metz.liveandprovider.akash.metz.livemd5summatch)curllatency inside pod: 10–23ms (well within 500ms timeout)price_target_*set to 0 to disable fallback — bug persists