From 2009c772b00a6daf9409ff1f9a73a066362b1d9c Mon Sep 17 00:00:00 2001 From: Riccardo Schirone <562321+ret2libc@users.noreply.github.com> Date: Tue, 19 May 2026 09:22:40 +0200 Subject: [PATCH] fix(docker-compose): point patcher task storage at tasks_storage (#551) BUTTERCUP_PATCHER_TASK_STORAGE_DIR was /node_data/crs_scratch. The patcher's get_clean_task() resolves /; under crs_scratch that path is already the fuzzer/scheduler per-task scratch dir (corpus/crashes/build subdirs, no task_meta.json). remote_archive_ to_dir() early-returns because the dir exists, so the pristine task is never materialized and TaskMeta.load() raises FileNotFoundError on task_meta.json during the patcher 'find_tests' node. Point it at /node_data/tasks_storage (same as BUTTERCUP_DOWNLOADER_DOWNLOAD_DIR / BUTTERCUP_SCHEDULER_TASKS_STORAGE_DIR), where the downloaded task with task_meta.json actually lives. Co-authored-by: Claude Opus 4.7 (1M context) --- dev/docker-compose/env.dev.compose | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dev/docker-compose/env.dev.compose b/dev/docker-compose/env.dev.compose index 1bbbba33..34d17476 100644 --- a/dev/docker-compose/env.dev.compose +++ b/dev/docker-compose/env.dev.compose @@ -37,7 +37,11 @@ BUTTERCUP_SCHEDULER_SCRATCH_DIR=/node_data/crs_scratch BUTTERCUP_PATCHER_SERVE__REDIS_URL=redis://redis:6379 BUTTERCUP_PATCHER_SERVE__SLEEP_TIME=5 BUTTERCUP_PATCHER_LOG_LEVEL=debug -BUTTERCUP_PATCHER_TASK_STORAGE_DIR=/node_data/crs_scratch +# Where the downloaded challenge task lives (matches downloader/scheduler). +# Must NOT be crs_scratch: get_clean_task() resolves /, +# which under crs_scratch collides with the fuzzer's per-task scratch dir +# (no task_meta.json there) and crashes TaskMeta.load(). +BUTTERCUP_PATCHER_TASK_STORAGE_DIR=/node_data/tasks_storage BUTTERCUP_PATCHER_SCRATCH_DIR=/node_data/crs_scratch BUTTERCUP_PROGRAM_MODEL_SERVE__REDIS_URL=redis://redis:6379