某一天突然出现“内核因未知原因退出”(使用 store 的 3.1.15 版本,如图),经过如下处理后仍然无法解决:
- 卸载、重装 store 3.1.15 版本
- 删除所有数据后重装 store 3.1.15 版本
- 卸载 store 3.1.15 版本,官网安装最新的 x86_64 3.1.18 版本
以上皆关闭了杀毒软件(火绒)。
在报错时,会出现一个空白窗口(左下角显示 点击刷新,如图),任务管理器中的进程如图。
这个问题已经困扰了好多天了,请问如何解决?



某一天突然出现“内核因未知原因退出”(使用 store 的 3.1.15 版本,如图),经过如下处理后仍然无法解决:
以上皆关闭了杀毒软件(火绒)。
在报错时,会出现一个空白窗口(左下角显示 点击刷新,如图),任务管理器中的进程如图。
这个问题已经困扰了好多天了,请问如何解决?



这不是应用崩溃无法启动么?菜单也出现不了了。不过我在目录中找到 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
尝试了,放在了不同的目录,依然出现同样错误。
然后下面是.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]
更多信息:具体发现在 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 时才会加载(猜测是在设置-编辑器-字体下拉框时加载,但是我这边下拉时的字体列表为空)。
这是一个怀疑,但是在启动过程中有可能影响的代码我只发现了这个。请检查下相关代码,看看能不能解决问题,谢谢。
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,以便可以正常使用,非常感谢!
接上个回复。经过验证,Teknik-Bold.ttf 文件中的字体许可说明过长导致了 sfnt 库的处理错误。
对于安装了第三方字体的用户(特别如果是设计师等),该情况难免会出现,会严重影响用户体验,请尽快解决。
该字体文件的下载地址附后,作为测试验证使用。
链接: https://pan.baidu.com/s/1CtEupMtelBZa0VqxRc4K1A?pwd=u2mu
单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。
NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。
百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。
星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网
OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。
Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。
深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。
Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。
发布对别人有帮助的原创内容是最好的 SEO 方式。
找到自己的位置,萌新烦恼少。
Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。
欢迎访问我们运维的实例: https://wide.b3log.org
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
子曰:“工欲善其事,必先利其器。”
Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper
iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。
有点意思就行了
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。
Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。
ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。
Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于