0.9.0:当SIGHUP成为退出代码1时,重启仍然可以清除会话
这是可复制的臭虫吗?
- 我确认这是一个可复制的bug, 不是一个特性请求,想法,问题,贡献建议, 或方向检查。
- 我在下面报告的版本和环境上重现了这个错误 使用提供的确切步骤。
• 当前行为
绝对 失去了我的所有工作空间/工作间/工作间/工作间/工作间/工作间/工作间/工作间(9个工作间共有34个工作间被终止).
在Linux主机重启后,赫德失去了完整的被保存的布局. session.json被明确清除,下一次启动时创建了空默认值 工作空间。
这似乎是被揭开的3415号变体. 大多数窗格出口没有信号:
paine child 已退出 pane id=18 status="Exitstatus {代码:1,信号:none}" paine child 已退出 pane id=30 status="Exitstatus {代码:1,信号:无}" . . . . . . . . 会话保存事件="persist.save" 结局="ok" 工作空间=9 服务器关闭启动 完成服务器关闭 会话清除事件=“persist. clear”结果=“ok”路径=/home/user/.config/herdr/session.json
基础的窗格会话分别报告了SIGHUP,建议用外壳或包装将信号翻译为出站代码1.
在0.9.0中,将 child exit只处理有状态的出站. signal (.is some ()) 归类为中断. 因此,退出代码 1 被作为普通面板处理 关闭,使会话缩小为零并被清除。
同一分类仍为0.9.1。
预期行为
主机关闭必须保留最后一个有效的会话快照,无论窗格进程是报告一个信号还是将其转换为普通的非零退出代码.
session.json 绝不应仅仅因为在服务器收到关闭信号前的窗格进程退出而被清除
- 复制
我不能肯定,但鉴于这个虫子的重要性,我觉得值得调查。 探员:
使用可支配机器/会话, 因为这可能会删除所有赫德状态 。
- 安装Herdr 0.9.0。
- 启动Herdr并创建多个工作空间、标签和窗体。
- 在一些面板中启动制剂。
- 确认~/.config/herdr/session.json存在.
- 运行 :
草药更新
- 等待更新和服务器关闭完成。
- 再次启动Herdr.
影响
绝对 失去了我的所有工作空间/工作间/工作间/工作间/工作间/工作间/工作间/工作间(9个工作间共有34个工作间被终止).
环境
- 故障时的Herdr服务器:0.9.0
- 主机:Linux
- 触发器:主机重启
- 相关问题:3415
- 相关修补:3418
内容来源: herdrdev/herdr