TermiNexus
|
24573e5af6
|
fix(tpc): HandlesImports 不再静默 RecursionError + VLogger.warning 补打 exc_info
类别:a(编译器缺陷)+ b(机制漏豁免)—— 类型解析链成环被当成"可忽略异常"吞掉,
上游根因不可见、声明静默退化。
- HandlesImports.py:978 / :1475 / :1583 三处新增 `except RecursionError: raise`,
对齐家族口径(HandlesBase.py:1060-1068:「RecursionError 不是可忽略异常,
是类型解析/声明发射链成环的真缺陷信号」)。成环路径:
_TryLoadClassMembersFromPyi ↔ _EmitExternalClassDeclLlvm ↔ _TryLoadStructFromStub
(每轮 4 帧),现场与 :2985 深探针记录一致(match.MatchOr.patterns、
stmts.Interactive.body 等"首字段即指针/容器"的类)。
修复前表现为一行 `WARN: HandlesImports: 忽略异常 maximum recursion depth exceeded`
+ 返回类型退化成 CInt / 形参退化成 i32。
- VLogger.py:warning() 的 exc_info 形参**从未被使用** —— 调用方传了异常却无任何
输出,吞异常点只剩一行 WARN、栈不可见。现与 error() 同口径打印
`Exception: <类型>: <消息>` + traceback(重复帧由 traceback 模块自动折叠为
"[Previous line repeated N more times]",不刷屏)。
|
2026-09-29 16:16:01 +08:00 |
|