Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[bug] [Windows] 发送 Digest 授权请求时 Cronet 引擎触发致命 CHECK 断言,应用直接闪退

オープン
#2,971 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

@MegatronKing がすでに取り組んでいます。

2026年10月13日 から。

評価

この issue はまだ評価されていません。

説明

bug windows

概述

在 Windows 上,通过 Reqable 发送「授权类型 = Digest」的 HTTP 请求时,应用会瞬间退出:没有报错弹窗,请求也不会记录到任何响应。100% 可复现 —— 7 分钟内产生了 6 个崩溃转储,故障指令地址完全一致。

这是内置 Cronet 引擎(reqable_cronet.dll)抛出的一条致命断言(CHECK / LOG(FATAL))导致的主动终止,不是内存越界,也不是配置问题。

环境

  • Reqable 3.3.1 (223),Windows x64
  • Windows 版本 10.0.26300
  • 通过 Windows 安装包安装,由 3.2.x 版本升级而来

复现步骤

  1. 新建一个请求,指向明文 HTTP 端点,例如 GET http://<host>:<port>/<path>
  1. 打开 授权(Authorization) 标签页,类型选择 Digest
  1. 填入用户名 / 口令;realm、nonce、qop、nonceCount、clientNonce、opaque 全部留空
  1. 保持「收到质询后重新发送」为启用状态,点击 发送

预期结果

请求正常发出,收到 401 响应及 WWW-Authenticate: Digest qop="auth", realm="...", nonce="..." 头,Reqable 随后带上计算好的 Authorization: Digest ... 头重发请求。

实际结果

Reqable.exe 立即终止。该请求停留在 response: null —— 根本没走到响应阶段。没有错误弹窗,%APPDATA%\Reqable\log\*.log 里也什么都没记下:Dart 日志在 Rengine response: app/config(200) 这一行之后直接中断。

崩溃证据

%LOCALAPPDATA%\CrashDumps\Reqable.exe.<pid>.dmp 中共 6 个转储,时间戳为 2026-10-13 10:44–10:50(UTC+8)。

项目 | 值 -- | -- 异常码 | 0x80000003(EXCEPTION_BREAKPOINT),NumberParameters = 1 故障地址 | reqable_cronet.dll + 0xDBFF9 —— 6 个转储完全相同 故障处机器码 | CC(int3)后接 0F 0B(ud2) 紧邻的前一条指令 | lea rcx, [rip+...] → 指向字符串 "LOG_FATAL" 该处字符串簇 | ..\..\base\logging.cc、LogMessage、VERBOSE、LOG_FATAL、%s:%d: %s 残缺调用栈(无符号) | flutter_windows.dll → reqable_http.dll(+0x2152、+0x754E) → reqable_cronet.dll

判读:

  • int3; ud2 是 MSVC 的 __debugbreak() / ImmediateCrash() 惯用序列 —— 即主动自杀,不是内存错误。
  • 紧邻的字符串属于 base/logging.cc,因此 +0xDBFF9 是 FATAL 日志路径上那个公共的自毁桩。
  • 由此可判定:Cronet 引擎内部有 CHECK() / LOG(FATAL) 断言被触发。
  • reqable_cronet.dll 中还包含源码路径 ..\..\net\http\http_auth_handler_digest.cc,以及 344 条互不相同的 Check failed: <表达式> 字符串 —— 说明该构建中 CHECK 是启用的,且 Digest 认证处理器已被编译进去。

已排除的可能

  • 不是凭据问题、不是账号锁死 —— 应用是主动断言自毁,且请求从未走到 401 交互环节。
  • 不是 TLS / 证书问题 —— 目标端点是明文 HTTP。
  • 不是配置损坏 —— 另一个工作区中不带 Digest 的请求可以正常启动与运行。
  • 升级前 Digest 在本机是能用的 —— 存在更早保存的 Digest 授权请求;抓包历史也能看到 Digest 质询 / 响应在多款摄像机型号上被正常处理过。
主要言語
言語のデータがありません
スター
6.8k
フォーク
269
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

reqable/reqable-app のほかの issue

reqable/reqable-app の issue をすべて見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。