#5274·libuv

win: stack-cookie fast-fail (0xC0000409) 在 loopback 连接上发生在 uv__tcp_connect 中; WSARecv/WSASend 传递包含活动 OVERLAPPED 的 stack &bytes/&flags

作者: AriaPrime创建于 2026年9月14日更新于 2026年9月14日
  • ** Version**: 1.51.0(在Node.js v24.15.0号销售商,标签上为 " deps/uv " )
  • ** 格式**:Windows 11 Pro 10.0.26200,x64

症状

一个长期运行的节点HTTP网关每天大约会死两次。 快速失效参数为2(FAST FAIL STACK COOKIE-CHECK FAILURE'),因此是/GS' cookie检查,而不是通用超支报告。 WERLocal Dumps'和Node'的-report-on-fataleror'捕捉到一无所有,因为快故障会绕过两者;在2026-09-12和2026-09-13日,一个`procdump-e-x-mm'包装机捕捉到两个断层。

在两个垃圾堆中,断层框架都是回回回 " 连接 " :

报告  gsfaulure+0x1d
uv tcp 接通+0x3af(uv tcp try connect inlined) (中文(简体) ).
uv tcp 连接+0x3b
TCPWrap:: Connect <sockaddr in6> (第一个垃圾堆) / TCPWrap: Connect <sockaddr in > (第二个)
V8 API呼叫机械...
LibuvStreamWrap::OnUvRead - > http parser Parser::OnStreamRead(第二次垃圾堆)

该流程定期连接到固定端口的回回回服务. 在连接的第一个垃圾场是[::1]'(服务只约束IPv4,因此与自动选择家庭 ' 相比,::1'的尝试在每次民意测验中都被拒绝);我们删除了这些被拒绝的尝试,38小时后,同样的错误在平地127.0.0.1'连接上再次出现。 ** 因此,地址家庭不是原因。 ** 联系框架是两个家庭的受害者。

饼干槽里写了什么?

两个垃圾场都表现出同样的腐败,而不是一般的粉碎:

饼干插槽在断层框中 饼干在活框中完整无损 |. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

低德字完好无损并被取而代之的是"0x00000008". 这是Cookie+4的4字节值的一对齐存储器。 邻近的当地人没有受到任何伤害。 在这两个垃圾堆中,只有断层线被执行(其余停在ntdll'中),Winsock目录中只包含有链长1的Microsoftmswsock.dll'供应商(无LSP),唯一装入的非微软模块是没有Winsock指针的同步SQLite附加器。

来源观察

" src/win/tcp.c " 手 Winsock 本地堆栈的地址, 而重叠的操作正在飞行中 :

*uv tcp queue read':WSARecv(., &字节, & flags, &req->u.io.overlap, NULL)' *uv tcp write':WASend(., &字节,., &req->u.io.overlap, NULL)'

字节'和旗帜'是`DWORD'当地人。 微软的"lp NumberOfBytesrecvd"/"lp NumberOfBytesSent"的文档说:

如果 lpOverlaped 参数不是 NULL,则在此参数中使用 NULL 以避免可能的错误结果.

通过这种指针的后期写作,在拥有本地的相框已经回落,而后相框在同一深度再用相槽来取取其饼干后,产生出精确的被观测到的形状:一个单独的DWORD商店被打入有完整邻居的相框的相框. 我无法证明店里发生的事情 . . . . . . .