【P2】生成失败错误信息太笼统,无法定位具体原因 #457

Closed
opened 2026-07-17 11:54:47 +08:00 by xiaoxia · 2 comments
Owner

问题描述

生成失败后错误信息只有"所有片段素材下载失败",用户和开发都无法快速判断是OSS权限问题、网络问题还是单个素材损坏。

期望

  • 错误信息能透传具体失败原因(如403/404/超时)
  • 能区分是哪个素材失败
  • 前端能展示更详细的错误提示

补充发现

补充:素材详情404问题根因——不是前端传参问题,是后端数据问题。staging环境模板数据里引用的素材ID在数据库里找不到(模板预置了但素材数据没同步),后端返回404而非403。这也间接导致一键生成时素材信息不完整。

来源:一键生成全链路实测报告 #406

### 问题描述 生成失败后错误信息只有"所有片段素材下载失败",用户和开发都无法快速判断是OSS权限问题、网络问题还是单个素材损坏。 ### 期望 - 错误信息能透传具体失败原因(如403/404/超时) - 能区分是哪个素材失败 - 前端能展示更详细的错误提示 ### 补充发现 补充:素材详情404问题根因——不是前端传参问题,是后端数据问题。staging环境模板数据里引用的素材ID在数据库里找不到(模板预置了但素材数据没同步),后端返回404而非403。这也间接导致一键生成时素材信息不完整。 来源:一键生成全链路实测报告 #406
Collaborator

2026-07-18 进展

根因确认

error_message 只截了 stderr 前 200 字符,但 ffmpeg stderr 前 2000 字都是版本号+输入文件信息,真正的报错在尾部。所以用户看到的永远只有版本号。

修复

PR #511 已提交:

  • error_message 包含完整 ffmpeg 命令行
  • stderr 取最后 1500 字符(尾部才有真正报错)
  • 包含 exit code

关联

## 2026-07-18 进展 ### 根因确认 error_message 只截了 stderr 前 200 字符,但 ffmpeg stderr 前 2000 字都是版本号+输入文件信息,真正的报错在尾部。所以用户看到的永远只有版本号。 ### 修复 PR #511 已提交: - error_message 包含完整 ffmpeg 命令行 - stderr 取最后 1500 字符(尾部才有真正报错) - 包含 exit code ### 关联 - 主 Issue: #406 - PR: #511
Author
Owner

2026-07-18 更新

错误日志增强已两次迭代:

  • PR #511:legacy路径stderr从200字符改尾部1500字符 → 已部署
  • PR #522:unified路径stderr从3000字符(前部)改尾部2000字符 → 待部署

现在两条路径都能看到ffmpeg真正的报错信息(在尾部)。
待staging部署#522后验证,确认无误可关单。

**2026-07-18 更新** 错误日志增强已两次迭代: - PR #511:legacy路径stderr从200字符改尾部1500字符 → 已部署 - PR #522:unified路径stderr从3000字符(前部)改尾部2000字符 → 待部署 现在两条路径都能看到ffmpeg真正的报错信息(在尾部)。 待staging部署#522后验证,确认无误可关单。
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xiaoxia/xiaoxia-saas#457