Closed
Description
今天晚上连续遇到3次状态异常,受不了了。花费3小时反复测试,终于稳定复现出来:
复现步骤(以列表块为例):
- 创建一个列表,并添加子项
- 剪切子项的父item(需使用Ctrl X快捷键,鼠标右键剪切不会触发)
- 用退格键删除父item
- Ctrl Z 撤销,触发异常
试了各种列表和引述块,都这样。推测容器块都有这个问题。(但是标题块行为不同,剪切时直接整个块消失,没有留下一个可以用退格键删除的空块。标题块的这个特性不知道是哪个版本加的。我记得1.7.x版本,标题块这样操作也会状态异常。
更新:标题块是叶子块,不是容器块。标题块id是下面内容的parent_id。我把这里混淆了。)
日志
不用说了,都是这一行:
E 2022/03/22 00:28:33 transaction.go:945: update data is nil
相关issue
Metadata
Metadata
Assignees
Type
Projects
Relationships
Development
No branches or pull requests
Activity
whuwangyong commentedon Mar 21, 2022
补充:
在状态异常后,有时点击重建索引无法退出程序,一直卡住,只能杀进程。所幸数据未丢。

88250 commentedon Mar 21, 2022
我这里能够重现了,非常感谢!
重建索引的问题稍微进行了调整,下个版本请继续帮忙留意。
老铁早点休息,晚安。
88250 commentedon Mar 21, 2022
按照楼主老铁的思路,补充引述块和超级块的重现步骤:
Kitsuta-le commentedon Mar 22, 2022
太牛了哥!
whzecomjm commentedon Mar 22, 2022
感谢 今天写笔记因为这个原因快崩溃了
Nafish-Narang commentedon Mar 23, 2022
我也遇到了这个问题!但是没有摸索出复现方法,期待1.9.3版本的表现!感谢你!
88250 commentedon Apr 11, 2022
@mangost 升级到最新版试试。