【已定位问题】:内核因未知原因退出 [code=2],v3.1.15/3.1.18 store 版 & 下载版

本贴最后更新于 349 天前,其中的信息可能已经时异事殊

某一天突然出现“内核因未知原因退出”(使用 store 的 3.1.15 版本,如图),经过如下处理后仍然无法解决:

  • 卸载、重装 store 3.1.15 版本
  • 删除所有数据后重装 store 3.1.15 版本
  • 卸载 store 3.1.15 版本,官网安装最新的 x86_64 3.1.18 版本

以上皆关闭了杀毒软件(火绒)。

在报错时,会出现一个空白窗口(左下角显示 点击刷新,如图),任务管理器中的进程如图。

这个问题已经困扰了好多天了,请问如何解决?

image.png

image.png

image.png

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    28446 引用 • 119768 回帖
1 操作
ivea 在 2025-01-07 09:34:56 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250

    请上传日志

    1 回复
  • ivea

    日志在哪里?

    1 回复
  • 88250

    设置 - 关于 - 系统日志

    2 回复
  • ivea

    这不是应用崩溃无法启动么?菜单也出现不了了。不过我在目录中找到 siyuan.log,不知是否有用,如下:

    I 2025/01/04 10:17:54 working.go:147:/  /\        ___           ___        /__/\         /  /\         /__/
    /  /:/_      /  /\         /__/|       \  \:\       /  /::\        \  \:
    /  /:/ /\    /  /:/        |  |:|        \  \:\     /  /:/\:\        \  \:
    /  /:/ /::\  /__/::\        |  |:|    ___  \  \:\   /  /:/~/::\   _____\__\:
    /__/:/ /:/\:\ \__\/\:\__   __|__|:|   /__/\  \__\:\ /__/:/ /:/\:\ /__/::::::::
    \  \:\/:/~/:/    \  \:\/\ /__/::::\   \  \:\ /  /:/ \  \:\/:/__\/ \  \:\~~\~~\/
    \  \::/ /:/      \__\::/    ~\~~\:\   \  \:\  /:/   \  \::/       \  \:\  ~~~
    \__\/ /:/       /__/:/       \  \:\   \  \:\/:/     \  \:\        \  \:
    /__/:/        \__\/         \__\/    \  \::/       \  \:\        \  \:
    \__\/                                 \__\/         \__\/         \__\/
    I 2025/01/04 10:17:54 runtime.go:87: kernel is booting:ver [3.1.15]arch [amd64]os [Microsoft Windows 11 Pro]pid [25784]runtime mode [prod]working directory [C:\Program Files\WindowsApps\89C2A984.SiYuan_3.1.15.0_x64__1qfd3tsw4ngc2\app\resources]read only [false]container [std]database [ver=20220501]workspace directory [C:\Users\user\SiYuan]
    I 2025/01/04 10:17:54 conf.go:170: initialized language [zh_CN] based on device locale
    I 2025/01/04 10:17:54 conf.go:329: using Microsoft Store edition
    I 2025/01/04 10:17:54 runtime.go:139: use network proxy [system]
    I 2025/01/04 10:17:54 serve.go:209: kernel [pid=25784] http server [127.0.0.1:4644] is booting
    I 2025/01/04 10:17:54 blocktree.go:75: reinitialized database [C:\Users\user\SiYuan\temp\blocktree.db]
    I 2025/01/04 10:17:54 database.go:92: the database structure is changed, rebuilding database...
    I 2025/01/04 10:17:54 database.go:109: reinitialized database [C:\Users\user\SiYuan\temp\siyuan.db]
    I 2025/01/04 10:17:54 conf.go:856: database size [4.1 kB], tree/block count [0/0]
    I 2025/01/04 10:17:54 working.go:193: kernel booted
    I 2025/01/04 10:33:50 working.go:148:/  /\        ___           ___        /__/\         /  /\         /__/
    /  /:/_      /  /\         /__/|       \  \:\       /  /::\        \  \:
    /  /:/ /\    /  /:/        |  |:|        \  \:\     /  /:/\:\        \  \:
    /  /:/ /::\  /__/::\        |  |:|    ___  \  \:\   /  /:/~/::\   _____\__\:
    /__/:/ /:/\:\ \__\/\:\__   __|__|:|   /__/\  \__\:\ /__/:/ /:/\:\ /__/::::::::
    \  \:\/:/~/:/    \  \:\/\ /__/::::\   \  \:\ /  /:/ \  \:\/:/__\/ \  \:\~~\~~\/
    \  \::/ /:/      \__\::/    ~\~~\:\   \  \:\  /:/   \  \::/       \  \:\  ~~~
    \__\/ /:/       /__/:/       \  \:\   \  \:\/:/     \  \:\        \  \:
    /__/:/        \__\/         \__\/    \  \::/       \  \:\        \  \:
    \__\/                                 \__\/         \__\/         \__\/
    I 2025/01/04 10:33:50 runtime.go:87: kernel is booting:ver [3.1.18]arch [amd64]os [Microsoft Windows 11 Pro]pid [10804]runtime mode [prod]working directory [C:\Users\user\AppData\Local\Programs\SiYuan\resources]read only [false]container [std]database [ver=20220501]workspace directory [C:\Users\user\SiYuan]
    I 2025/01/04 10:33:50 conf.go:129: loaded conf [C:\Users\user\SiYuan\conf\conf.json]
    I 2025/01/04 10:33:50 runtime.go:139: use network proxy [system]
    I 2025/01/04 10:33:50 serve.go:209: kernel [pid=10804] http server [127.0.0.1:5323] is booting
    I 2025/01/04 10:33:50 working.go:513: database [C:\Users\user\SiYuan\temp\siyuan.db] size [4.1 kB]
    I 2025/01/04 10:33:50 working.go:513: database [C:\Users\user\SiYuan\temp\blocktree.db] size [4.1 kB]
    I 2025/01/04 10:33:50 working.go:513: database [C:\Users\user\SiYuan\temp\history.db] size [4.1 kB]
    I 2025/01/04 10:33:50 working.go:513: database [C:\Users\user\SiYuan\temp\asset_content.db] size [4.1 kB]
    I 2025/01/04 10:33:50 conf.go:846: tree/block count [0/0]
    I 2025/01/04 10:33:50 working.go:194: kernel booted
    
    1 回复
  • 88250

    日志上看内核已经成功启动了,那有可能是界面无法连接到内核,建议排查一下网络设置(比如 Windows 防火墙是否阻止访问;代理软件是否跳过 127.0.0.1 代理等)。

    1 回复
  • ivea

    网络和防火墙检查下来没有问题(siyuan 的出入站策略没问题,本地地址没有任何 block),其他应用的本地 127.0.0.1 是可以连接的

    1 回复
  • 88250

    换个安装路径和工作空间路径试试

    1 回复
  • ivea

    反馈下进展:重装后可以启动了

    应该是在删除全局配置后好了

  • ivea

    最新,以为解决了,还是没有解决,删除了全局配置重装后,确实可以启动了,进入了初始化的首界面(选定工作空间)。

    在选择了工作空间后(此时安装路径和工作空间都选择了不同的另一个路径),还是报同样的崩溃

    1 回复
  • 88250

    全局配置文件夹里有个 app.log,搜索 booting kernel 然后用后面的命令在 cmd 下手动启动内核观察看看

    1 回复
  • ivea

    运行后没有反应,命令行没有输出,日志没有输出,未见有新进程产生

    E:\temp\SiYuan\resources\kernel>SiYuan-Kernel.exe --port 1242 --wd E:\temp\SiYuan\resources --workspace E:\temp\SiYuan\ws --lang zh_CNE:\temp\SiYuan\resources\kernel>
    
    1 回复
  • 88250

    应该没有结尾那个路径吧

    1 回复
  • ivea 1 评论

    结尾的路径是初始化时设置的工作空间,是存在的。

    现在问题依然没有解决……内核启动还会和什么冲突?

    1 回复
    btw,如果你说的结尾得路径是指--lang zh_CN 后跟着的,那是命令行复制粘贴时换行符问题导致将下面的 prompt 带上来了,实际输入命令时没有这个
    ivea
  • 88250

    安装路径和工作空间路不要使用同一个目录,重新换个工作空间路径后再试试

    1 回复
  • ivea

    尝试了,放在了不同的目录,依然出现同样错误。

    然后下面是.config/app.log 的两次启动的日志(包括安装后的第一次启动)。同时,运行 booting kernel 的命令后同样也没有任何输出和反应。

    2025-01-05 13:46:52 app is packaged [true], command line args [E:\temp\SiYuan\SiYuan.exe]
    2025-01-05 13:47:21 got kernel port [2932]
    2025-01-05 13:47:21 ui version [3.1.18], booting kernel [E:\temp\SiYuan\resources\kernel\SiYuan-Kernel.exe --port 2932 --wd E:\temp\SiYuan\resources --workspace D:\Temp\Test\sy --lang zh_CN]
    2025-01-05 13:47:21 booted kernel process [pid=17600, port=2932]
    2025-01-05 13:47:21 checking kernel version
    2025-01-05 13:47:22 got kernel version [3.1.18]
    2025-01-05 13:47:24 windowStat [x=0, y=0, width=2048, height=1113], default [width=2048, height=1113], workArea [width=2560, height=1392]
    2025-01-05 13:47:28 kernel [pid=17600, port=2932] exited with code [2]
    2025-01-05 13:47:28 exited ui
    2025-01-05 13:47:50 app is packaged [true], command line args [E:\temp\SiYuan\SiYuan.exe]
    2025-01-05 13:47:50 got kernel port [2970]
    2025-01-05 13:47:50 ui version [3.1.18], booting kernel [E:\temp\SiYuan\resources\kernel\SiYuan-Kernel.exe --port 2970 --wd E:\temp\SiYuan\resources]
    2025-01-05 13:47:50 booted kernel process [pid=10404, port=2970]
    2025-01-05 13:47:50 checking kernel version
    2025-01-05 13:47:50 got kernel version [3.1.18]
    2025-01-05 13:47:50 windowStat [x=0, y=0, width=2048, height=1114], default [width=2048, height=1113], workArea [width=2560, height=1392]
    2025-01-05 13:47:50 kernel [pid=10404, port=2970] exited with code [2]
    
    1 回复
  • 88250

    我也看不出问题了,感觉内核进程像是被系统 kill 掉的。

    1 回复
  • ivea

    windows 日志中的错误记录如下:

    故障存储段 ,类型 0
    事件名称: AppHangB1
    响应: 不可用
    Cab ID: 0问题签名:
    P1: SiYuan.exe
    P2: 3.1.18.0
    P3: 675110f5
    P4: 6bee
    P5: 67246080
    P6:
    P7:
    P8:
    P9:
    P10:
    
    1 回复
  • 88250

    可能是系统环境的原因吧,可能的话换个设备试试。

    1 回复
  • chensheng

    我也出现同样情况,V3.14 版以前都没有出现这个情况。

    1 回复
  • ivea

    换设备那肯定没问题,不然所有人都报 bug 了。

    • 在 msconfig 关掉了所有系统服务做了测试,启动不起来;
    • 关闭了所有其他程序应用,启动不起来;
    • 在安全模式下,启动不起来;

    大概是排除了其他应用的服务的影响,还有什么可能性?

    1 回复
  • ivea

    你也有同样情况?3.1.15 之后引入了什么新的机制吗?哪里可以看到 release notes

    1 回复
  • 88250

    我也不清楚啊,再试试不要带任何参数直接命令行启动内核?

    2 回复
  • EmptyLight

    在社区搜索 siyuan 账号可以看到历史发布的更新信息

  • ivea

    最新进展,按照 @chensheng 的提示,我安装了 3.1.14 版本,然后成功启动了。

    之后 3.1.14 版本自动下载更新了 3.1.18 版本,结果就又启动不了了。

    所以现在能确认是 3.1.14 及之前的版本都没问题,问题出在 3.1.15 版本开始的新加代码中

    我看 3.1.15 的 release notes 中提到增加了 HarmonyOS 的支持,不知道是不是这个原因,能否排查下?

  • ivea

    更多信息:具体发现在 3.1.15-dev2(即 pre-release v202412062347)开始,出现了问题(3.1.15-dev1 仍然没问题)

    进行 diff 后发现,在 kernel 主文件 main.go 增加了 go util.LoadSysFonts() 代码,用于系统字体列表的预加载(该代码在 util.SetBooted() 之后,所以在打印了 kernel booted 之后仍会退出);

    而在之前版本中并不会提前进行预加载,只会在进行 api 调用 /api/system/getSysFonts 时才会加载(猜测是在设置-编辑器-字体下拉框时加载,但是我这边下拉时的字体列表为空)。

    这是一个怀疑,但是在启动过程中有可能影响的代码我只发现了这个。请检查下相关代码,看看能不能解决问题,谢谢。

  • 麻烦试试安装 v3.1.19-dev3 能否启动?

    1 回复
  • ivea 1 评论

    3.1.19-dev3 也无法使用。我已经复现了相关的 bug,接之前的回复:

    单独测试 kernel/util/font.go 的代码,产生了 panic: runtime error: slice bounds out of range [26414:11380]

    具体错误信息如下:

    goroutine 6 [running]:
    github.com/ConradIrwin/font/sfnt.parseTableName({0x4abbe0?}, {0xc000516000, 0x12ca8, 0x12ca8})
    C:/Users/user/go/pkg/mod/github.com/!conrad!irwin/font@v0.0.0-20240627033111-8567075b2bfe/sfnt/table_name.go:251 +0x3c6
    github.com/ConradIrwin/font/sfnt.(*Font).parseTable(0xc00035a3e0, 0xc00040b170)
    C:/Users/user/go/pkg/mod/github.com/!conrad!irwin/font@v0.0.0-20240627033111-8567075b2bfe/sfnt/table.go:69 +0x17f
    github.com/ConradIrwin/font/sfnt.(*Font).Table(0xc00035a3e0, {0x0?})
    C:/Users/user/go/pkg/mod/github.com/!conrad!irwin/font@v0.0.0-20240627033111-8567075b2bfe/sfnt/font.go:177 +0x49
    github.com/ConradIrwin/font/sfnt.(*Font).NameTable(0x4f84f0?)
    C:/Users/user/go/pkg/mod/github.com/!conrad!irwin/font@v0.0.0-20240627033111-8567075b2bfe/sfnt/font.go:125 +0x19
    my/siyuan-bug-test/util.loadFonts()
    E:/Test/siyuan-bug-test/util/font.go:122 +0x2ac
    my/siyuan-bug-test/util.LoadSysFonts()
    E:/Test/siyuan-bug-test/util/font.go:50 +0xb4
    created by main.main in goroutine 1
    E:/Test/siyuan-bug-test/main.go:12 +0x1a
    exit status 2
    

    具体是在处理 C:\WINDOWS\Fonts\Teknik-Bold.ttf 文件时发生的 panic。

    麻烦请修复下该 panic,以便可以正常使用,非常感谢!

    补充下,panic 发生在 font.go 的 t, err := font.NameTable() 这行代码
    ivea
  • ivea 2

    接上个回复。经过验证,Teknik-Bold.ttf 文件中的字体许可说明过长导致了 sfnt 库的处理错误。

    对于安装了第三方字体的用户(特别如果是设计师等),该情况难免会出现,会严重影响用户体验,请尽快解决。

    该字体文件的下载地址附后,作为测试验证使用。

    链接: https://pan.baidu.com/s/1CtEupMtelBZa0VqxRc4K1A?pwd=u2mu

    1 回复
  • 88250 1 评论

    感谢帮忙定位到问题,下个版本解决 Issue #13739 · siyuan-note/siyuan

    谢谢,期待修复
    ivea
请输入回帖内容 ...

推荐标签 标签

  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 8 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 724 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 702 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 8 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    17 引用 • 7 回帖 • 1 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    561 引用 • 677 回帖 • 1 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 120 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    45 引用 • 44 回帖 • 2 关注
  • V2Ray
    1 引用 • 15 回帖 • 4 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 1 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    36 引用 • 200 回帖 • 54 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖 • 1 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 663 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    76 引用 • 258 回帖 • 641 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    308 引用 • 773 回帖
  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    2 引用 • 34 回帖 • 1 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    89 引用 • 150 回帖 • 1 关注
  • abitmean

    有点意思就行了

    44 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    61 引用 • 29 回帖 • 14 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    232 引用 • 484 回帖 • 1 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 180 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 667 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    119 引用 • 54 回帖