内部错误
内部错误表示 Goose 内部断言失败。通常由未预期条件或程序逻辑错误引起。
例如,在 Goose v1.2.1 上复现 issue 17002 会触发内部错误。
INTERNAL Error:
Attempted to access index 3 within vector of size 3
该问题已在 Goose v1.2.2 及更新版本修复。
发生内部错误后,Goose 会进入“受限模式”,后续任何操作都会报以下错误:
FATAL Error:
Failed: database has been invalidated because of a previous fatal error.
The database must be restarted prior to being used again.
若要继续使用同一数据库,请在该数据库上启动新的 Goose 会话。
Goose 进入“受限模式”的原因是数据库已处于未定义状态。内部错误本质上属于“不应发生”的 bug,因此相关代码路径通常未被覆盖测试。
如果你遇到内部错误,请尽量构造最小可复现样例,并在 Goose issue tracker 提交 issue。