Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[deep-report] Secret-redaction directory scan crashes with stack overflow, likely largest driver_exit failure source

Đang mở Phù hợp với người mới
#64,066 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
86/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
javascript
Lĩnh vực
ci-cd, devops

Hướng nghiên cứu

Bắt đầu với actions/setup/js/redact_secrets.cjs, đặc biệt là findFiles() và nhánh đệ quy thư mục của nó. Đọc redact_secrets_test.go và thêm một trường hợp hồi quy cho việc lồng sâu, sau đó xác minh rằng quá trình duyệt hoàn tất mà không xảy ra tràn ngăn xếp, đồng thời giữ nguyên hành vi quét hiện có.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

automation code-quality cookie improvement quick-win task-mining
Description

actions/setup/js/redact_secrets.cjs's findFiles() (lines 19-46) recursively walks /tmp/gh-aw and ${RUNNER_TEMP}/gh-aw before every artifact upload, using plain JS recursion with no depth limit:

function findFiles(dir, extensions) {
  ...
  } else if (entry.isDirectory()) {
    results.push(...findFiles(fullPath, extensions));  // unbounded recursion depth
  }
  ...
  } catch (error) {
    throw new Error(`${ERR_VALIDATION}: Failed to scan directory ${dir}: ${getErrorMessage(error)}`, { cause: error });
  }
}

This crashed with Maximum call stack size exceeded while scanning /tmp/gh-aw/aw-mcp in two independent production runs on two different engines, both times after the agent itself had already completed its task successfully:

Because this redaction step runs on every workflow before artifact upload, a Weekly Workflow Analysis fleet sample (100 runs, 2026-09-28) attributes this as likely the single largest contributor to driver_exit failures — 65% of the 31 failures in the sample were driver_exit (infra/CLI crash) rather than genuine agent errors, spread thin across ~30 different workflows (consistent with one shared infra bug, not per-workflow logic errors).

Expected Impact

Fixing this converts a meaningful share of fleet-wide driver_exit failures into successes — these are runs where the agent's actual work already succeeded but the run is marked failure purely because of this post-processing crash, wasting the failure-triage attention of every downstream analytics/audit workflow that reads run status.

Suggested Fix

Convert findFiles() from recursive to iterative (explicit stack/queue-based) directory traversal so scan depth is no longer bounded by the JS call stack. aw-mcp's internal cache/log structure likely produces enough directory nesting to exceed V8's default stack size; an iterative version has no such limit (or add an explicit max-depth cutoff with a warning if that's preferred over full traversal).

Suggested Agent

Any Go/JS-capable coding agent — this is a self-contained, single-file refactor with a clear existing unit-test file (redact_secrets_test.go) to extend with a deep-nesting regression case.

Estimated Effort

Medium (1-4 hours) — includes adding a regression test that reproduces stack overflow at depth (e.g. 10,000+ nested dirs) before the fix and passes after.

Data Source

DeepReport Intelligence Briefing 2026-09-28 (~18:00Z incremental cycle), sourced from discussion #63984 ("Weekly Workflow Analysis: 2026-09-28 sample"). Root cause independently verified by reading actions/setup/js/redact_secrets.cjs on main before filing.

Generated by 🔬 Deep Report · claude · agent · 198.5 AIC · ⌖ 8.81 AIC · ⊞ 13K · ◷

  • expires on Sep 30, 2026, 10:48 AM UTC-08:00
Ngôn ngữ chính
Go
Star
5.2k
Fork
547
Merge trung bình
5 giờ 46 phút
Pull request đã merge (30 ngày)
658

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của github/gh-aw

Tất cả issue của github/gh-aw

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.