问题概述
在已发布的镜像 rfym21/qwen2api:v26.09.11.16.00(latest 指向同一版本)中,所有图片/视频相关的代码路径都立即失败,返回 HTTP 500 和一个 JavaScript TDZ 错误。同一个容器里,文字对话、思考、搜索功能全部正常。
环境信息
- 镜像:
rfym21/qwen2api:v26.09.11.16.00 / :latest
- Digest:
sha256:9a1c6bfb6a7fe1c26f6785d436e542b6213795a4927f876f447bddae8722dda9(linux/amd64)
docker exec qwen2api qwen2api --version → 26.09.11.16.00
- 宿主机:Ubuntu 22.04.5,Docker 29.7.2
- 启动命令:
docker run -d --name qwen2api \
-p 8766:3000 \
--env-file .env \
-v ./data:/app/data \
-v ./logs:/app/logs \
-v ./caches:/app/caches \
--restart unless-stopped \
rfym21/qwen2api:latest
- 配置:
DATA_SAVE_MODE=file,CACHE_MODE=file,已设置 API_KEY,PROXY_URL 未设置
- 启动日志显示 5 个账户加载成功
复现步骤
curl -X POST http://127.0.0.1:8766/v1/images/generations \
-H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{"model":"qwen3.7-plus-image","prompt":"一只戴墨镜的橘猫","n":1}'
实际结果
http=500 耗时=0.161646s
{"error":{"message":"Cannot access 'R' before initialization.","type":"server_error"}}
所有图片/视频路径都是同样的 500:
| 接口 |
模型 |
结果 |
POST /v1/images/generations |
qwen3.7-plus-image |
500 |
POST /v1/images/generations |
qwen3.8-omni-flash-image |
500 |
POST /v1/chat/completions(modalities: ["image","text"]) |
qwen3.7-plus-image |
500 |
POST /v1/videos |
qwen3.7-plus-video |
500 |
容器日志:
[ERROR] [CHAT] ❌ 图片/视频主流程异常
[ERROR] [CHAT] ❌ OpenAI 图片生成端点处理失败
{
message: "Cannot access 'R' before initialization.",
code: undefined,
status: undefined,
statusText: undefined,
headers: undefined,
data: null,
}
期望结果
返回 HTTP 200 和图片 URL,与上一个版本一致。
对照测试 —— 排除网络 / 上游 / 账号因素
同一台宿主机、同一个 API key、同一个账号池、完全相同的请求体,把上一个版本 v2026.08.20.18.50 同时跑在 8767 端口做对照:
# v26.09.11.16.00 @ :8766
http=500 耗时=0.161646s
{"error":{"message":"Cannot access 'R' before initialization.","type":"server_error"}}
# v2026.08.20.18.50 @ :8767
http=200 耗时=1.172653s
{"created":1789720432,"data":[{"url":"https://img.alicdn.com/imgextra/i1/O1CN01L12MaQ1ZwfYKk7Yrc_!!6000000003259-2-tps-900-594.png"}]}
qwen3.7-plus-image 在两个版本的模型列表里都存在,模型名有效。
同一个新容器上的文字请求也成功,说明出网、鉴权和账号池都没有问题:
qwen3.8-max → 200
qwen3.8-max-thinking-search → 200,带回引用
分析
Cannot access 'R' before initialization 是一个由暂时性死区(temporal dead zone)抛出的 ReferenceError —— 某个标识符在它所在的声明/模块被求值之前就被读取了。
两个细节说明问题出在本地求值顺序,而不是外部因素:
- 错误对象里
headers: undefined、data: null,即完全没有 HTTP 响应 —— 失败发生在上游请求发出之前。
- 失败耗时 0.16 秒,对任何网络往返来说都太快了(正常路径要 1.2 秒左右)。
同一个二进制里的文字路径正常,说明问题只出现在图片/视频的模块依赖图上。可能的原因是循环引用,其求值顺序在 bun build 打包/压缩之后发生了变化(压缩器把标识符重命名成了 R,所以报错信息里的名字是看不出含义的)。
建议排查方向
- 用同一份提交从源码运行(
bun src/server.js 或 node src/server.js)后重试图片请求。如果源码下正常,就能确认是 tools/build-binary.mjs 的打包环节问题,而不是图片模块本身。
- 检查图片/视频模块里是否存在某个顶层
const/let,被另一个模块在自身求值期间读取(典型情况是共享的 config 或 client 对象被双向 import)。
影响范围
在 v26.09.11.16.00 中,图片生成、图片编辑、视频生成、Omni 图片输出全部不可用。需要这些功能的用户只能停留在 v2026.08.20.18.50。
问题概述
在已发布的镜像
rfym21/qwen2api:v26.09.11.16.00(latest指向同一版本)中,所有图片/视频相关的代码路径都立即失败,返回 HTTP 500 和一个 JavaScript TDZ 错误。同一个容器里,文字对话、思考、搜索功能全部正常。环境信息
rfym21/qwen2api:v26.09.11.16.00/:latestsha256:9a1c6bfb6a7fe1c26f6785d436e542b6213795a4927f876f447bddae8722dda9(linux/amd64)docker exec qwen2api qwen2api --version→26.09.11.16.00DATA_SAVE_MODE=file,CACHE_MODE=file,已设置API_KEY,PROXY_URL未设置复现步骤
实际结果
所有图片/视频路径都是同样的 500:
POST /v1/images/generationsqwen3.7-plus-imagePOST /v1/images/generationsqwen3.8-omni-flash-imagePOST /v1/chat/completions(modalities: ["image","text"])qwen3.7-plus-imagePOST /v1/videosqwen3.7-plus-video容器日志:
期望结果
返回 HTTP 200 和图片 URL,与上一个版本一致。
对照测试 —— 排除网络 / 上游 / 账号因素
同一台宿主机、同一个 API key、同一个账号池、完全相同的请求体,把上一个版本
v2026.08.20.18.50同时跑在 8767 端口做对照:qwen3.7-plus-image在两个版本的模型列表里都存在,模型名有效。同一个新容器上的文字请求也成功,说明出网、鉴权和账号池都没有问题:
qwen3.8-max→ 200qwen3.8-max-thinking-search→ 200,带回引用分析
Cannot access 'R' before initialization是一个由暂时性死区(temporal dead zone)抛出的ReferenceError—— 某个标识符在它所在的声明/模块被求值之前就被读取了。两个细节说明问题出在本地求值顺序,而不是外部因素:
headers: undefined、data: null,即完全没有 HTTP 响应 —— 失败发生在上游请求发出之前。同一个二进制里的文字路径正常,说明问题只出现在图片/视频的模块依赖图上。可能的原因是循环引用,其求值顺序在
bun build打包/压缩之后发生了变化(压缩器把标识符重命名成了R,所以报错信息里的名字是看不出含义的)。建议排查方向
bun src/server.js或node src/server.js)后重试图片请求。如果源码下正常,就能确认是tools/build-binary.mjs的打包环节问题,而不是图片模块本身。const/let,被另一个模块在自身求值期间读取(典型情况是共享的 config 或 client 对象被双向 import)。影响范围
在
v26.09.11.16.00中,图片生成、图片编辑、视频生成、Omni 图片输出全部不可用。需要这些功能的用户只能停留在v2026.08.20.18.50。