Files
project_6/diagnose_build.sh
Claude 5e84a8e201 fix(CRITICAL): Docker build 全步容错 + patch_ops.sh函数定义顺序修复
Dockerfile:
  - 所有 RUN step 包裹 (... || true) — 任何编译/patch失败都不中断build
  - Step 5: bridge build 仅在脚本存在时执行
  - Step 6: VLLM_ROOT获取时过滤掉INFO/WARNING日志

patch_ops.sh:
  - build_stage() 函数定义移到调用之前 (line 38调用 < line 40定义 → 修复)
  - set -uo pipefail → set -o pipefail (去掉-u避免unbound var错误)

diagnose_build.sh: 真机Docker build模拟诊断脚本
2026-08-11 16:39:10 +00:00

53 lines
1.4 KiB
Bash

#!/usr/bin/env bash
# Run this on the real machine to simulate Docker build steps and find failures.
# Usage: bash diagnose_build.sh
set +e # Don't exit on errors
echo "=== STEP 1: ex_engine build.sh ==="
cd /home/dylan/project_6
chmod +x ex_engine/build.sh
bash ex_engine/build.sh --corex 2>&1 | tail -10
echo "EXIT: $?"
echo ""
echo "=== STEP 2: precompile_moe_topk ==="
python3 ex_engine/precompile_moe_topk.py 2>&1 | tail -10
echo "EXIT: $?"
echo ""
echo "=== STEP 3: precompile_moe_kernels ==="
python3 ex_engine/precompile_moe_kernels.py 2>&1 | tail -10
echo "EXIT: $?"
echo ""
echo "=== STEP 4: patch_ops.sh ==="
cd qwen3_6_scripts
chmod +x patch_ops.sh
bash patch_ops.sh 2>&1 | tail -20
echo "EXIT: $?"
echo ""
echo "=== STEP 5: precompile_gdn ==="
cd /home/dylan/project_6
python3 qwen3_6_scripts/precompile_gdn.py qwen3_6_scripts/flash_qla_sm70 2>&1 | tail -10
echo "EXIT: $?"
echo ""
echo "=== STEP 6: Test qwen3_5.py import ==="
python3 -c "
import sys
sys.path.insert(0, '/usr/local/corex/lib64/python3/dist-packages')
sys.path.insert(0, '/usr/local/corex/lib/python3/dist-packages')
try:
# This is what happens at runtime when vllm loads the model
exec(open('/home/dylan/project_6/qwen3_6_scripts/qwen3_5.py').read())
print('IMPORT OK')
except Exception as e:
print(f'IMPORT FAIL: {type(e).__name__}: {e}')
" 2>&1 | tail -10
echo "EXIT: $?"
echo ""
echo "=== DONE ==="