# BUG工单: timing_service中未定义os > 创建时间: YYYY-MM-DD > **工单编号**: TKT-YYYYMMDD-NNN > 优先级: P3 > 状态: 处理中 --- ## 📋 阶段进度 ### LITE 工单(P3 / 优化项 / 5 分钟内可解决)— Phase 0~7 | Phase | 名称 | 状态 | 执行者 | 完成时间 | |-------|------|------|--------|---------| | 0 | 开单 | ✅ | agent | YYYY-MM-DD | | 1 | 根因分析 | ✅ | agent | YYYY-MM-DD | | 2 | brainstorming | ✅ | agent | YYYY-MM-DD | | 3 | 写计划 | 🔄 | agent | - | | 4 | 执行修复 | 🔄 | - | - | | 5 | 验证 | 🔄 | - | - | | 6 | 经验教训 | 🔄 | - | - | | 7 | 更新文档 | 🔄 | - | - | --- ## 问题描述 / 需求描述 执行 `bash ocrtrl.sh restart` 后,日志报错:`Page preprocessing failed, using original copy: name 'os' is not defined`、`Layout detection failed: name 'os' is not defined` 等,导致 OCR 全功能失效。 ### 影响范围 | 项目 | 说明 | |------|------| | 影响页面 | OCR 识别页面 | | 影响组件 | timing_service.py | | 影响功能 | 耗时统计与核心 OCR 流水线 | | 当前状态 | 功能不可用 | --- ## 复现步骤(BUG)/ 功能需求(特性) ### BUG:复现步骤 1. 启动服务:`bash ocrtrl.sh restart` 2. 提交一笔 OCR 任务。 3. **预期**:任务正常识别,时间统计正常。 4. **实际**:日志报 `name 'os' is not defined`,识别结果全部为空。 --- ## 环境信息 - 后端服务:ocr-server / ocr-platform --- ## 根因分析(BUG) ### BUG:根因分析 #### 代码定位 - 文件:`src/shared/time_stats/timing_service.py` - 行号:101 - 函数:`timing_wrapper` #### 问题分析 在 `timing_service.py` 中,`timing_wrapper` 访问了 `os.environ`,但是在文件头部没有 `import os`,导致 `NameError: name 'os' is not defined`。 **[根因一句话总结]** 在 `timing_service.py` 中,使用 `os.environ` 前未导入 `os` 模块。 --- ## 修复方案 在 `src/shared/time_stats/timing_service.py` 头部添加 `import os`。 --- ## 验证结果 - 单元测试:待执行 - 集成测试:待执行