Debugging
FFmpeg 报 WAV 文件尾损坏时,先检查长度 …
一次音频 smoke test(最小可用性测试)生成了能够正常播放的 WAV,但 FFmpeg 在文件尾部输出了两条令人警惕的信息:
Packet corrupt
corrupt input packet in stream 0
如果自动化看到 corrupt 就判定生成失败,会丢弃仍可使用的音频;直接忽略警告也不安全,因为后续上传平台、剪辑软件或波形工具可能进行更严格的封装校验。排查需要先回答一个更具体的问题:音频采样已经损坏,还是容器声明了错误的长度?
从可测量的长度冲突开始
RIFF/WAVE 容器会保存长度字段。RIFF 头描述外层负载大小,data 区块描述音频负载大小。微软的 …
复制出库单为何消失在默认总览:继承旧时间导致查询窗 …
一个刚创建的出库单,在订单状态页面按单号搜索可以查到,但直接打开默认出库总览却看不到。接口、权限和仓库范围都没有报错,这种现象很像列表 SQL 漏查或缓存没有刷新。
排查首先对比了两条查询路径。按单号查询使用明确的唯一条件,默认总览还会附加最近时间窗口。数据库中的单据状态正常,但创建时间沿用了被复制旧单的日期,没有落在当天。
根因在复制语义
复制功能复用了原单对象和明细。业务字段需要继承,但审计和生命周期字段也被一起带了过来,包括单头与明细的创建时间、修改时间。
于是系统出现了一个矛盾的新单:
- 单号和数据库记录是新生成的;
- 状态也是新流程的初始状态;
- 时间却属于历史单据;
- 默认总览只展示最近 …