siyuan-note / siyuan

A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang.
https://b3log.org/siyuan
GNU Affero General Public License v3.0
17.31k stars 1.29k forks source link

Linux 下无法启动 #10450

Closed BruceKangCN closed 4 months ago

BruceKangCN commented 4 months ago

Is there an existing issue for this?

Can the issue be reproduced with the default theme (daylight/midnight)?

Could the issue be due to extensions?

Describe the problem

在 Arch Linux 上使用 electron29 无法启动 app,连 help 都报错

$ siyuan-note --help
/usr/lib/electron29/electron[4332]: ../../third_party/electron_node/src/node_builtins.cc:328:MaybeLocal<Function> node::builtins::BuiltinLoader::LookupAndCompileInternal(Local<Context>, const char *, std::vector<Local<String>> *, Realm *): Assertion `(this) == (optional_realm->env()->builtin_loader())' failed.
 1: 0x56805bc67e36  [/usr/lib/electron29/electron app]
 2: 0x56805bc67abd  [/usr/lib/electron29/electron app]
 3: 0x56805bc44f88  [/usr/lib/electron29/electron app]
 4: 0x56804a907721  [/usr/lib/electron29/electron app]
 5: 0x56804a904225  [/usr/lib/electron29/electron app]
 6: 0x56805bd3f292  [/usr/lib/electron29/electron app]
 7: 0x56804fbbefc7  [/usr/lib/electron29/electron app]
Received signal 6
#0 0x56805428ca13 (/usr/lib/electron29/electron+0xe66ca12)
#1 0x568054268354 (/usr/lib/electron29/electron+0xe648353)
#2 0x56805428c32b (/usr/lib/electron29/electron+0xe66c32a)
#3 0x79bc8c319770 (/usr/lib/libc.so.6+0x3c76f)
#4 0x79bc8c36a32c (/usr/lib/libc.so.6+0x8d32b)
#5 0x79bc8c3196c8 gsignal
#6 0x79bc8c3014b8 abort
#7 0x56805bc67e45 (/usr/lib/electron29/electron+0x16047e44)
#8 0x56805bc67abd (/usr/lib/electron29/electron+0x16047abc)
#9 0x56805bc44f88 (/usr/lib/electron29/electron+0x16024f87)
#10 0x56804a907721 (/usr/lib/electron29/electron+0x4ce7720)
#11 0x56804a904225 (/usr/lib/electron29/electron+0x4ce4224)
#12 0x56805bd3f292 (/usr/lib/electron29/electron+0x1611f291)
#13 0x56804fbbefc7 (/usr/lib/electron29/electron+0x9f9efc6)
  r8: 0000000000000000  r9: 0000000000000001 r10: 0000000000000008 r11: 0000000000000246
 r12: 0000199000098000 r13: 0000000000000006 r14: 000079bc8c4b66a0 r15: 00001990003d8518
  di: 00000000000010ec  si: 00000000000010ec  bp: 000079bc88bde940  bx: 00000000000010ec
  dx: 0000000000000006  ax: 0000000000000000  cx: 000079bc8c36a32c  sp: 00007ffd6c7355e0
  ip: 000079bc8c36a32c efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
/usr/bin/siyuan-note: 第 3 行: 4332 已中止               (核心已转储)electron29 app "$@"
$ pacman -Qi siyuan-note-bin electron29 
名字           : siyuan-note-bin
版本           : 3.0.1-1
描述           : A local-first personal knowledge management system
架构           : x86_64
URL            : https://b3log.org/siyuan/
软件许可       : AGPL3
组             : 无
提供           : siyuan-note
依赖于         : electron29
可选依赖       : pandoc: docx export.
依赖它         : 无
被可选依赖     : 无
与它冲突       : 无
取代           : 无
安装后大小     : 134.47 MiB
打包者         : Unknown Packager
编译日期       : 2024年02月27日 星期二 13时11分53秒
安装日期       : 2024年02月27日 星期二 13时12分39秒
安装原因       : 单独指定安装
安装脚本       : 否
验证者         : 无

名字           : electron29
版本           : 29.0.1-1
描述           : Build cross platform desktop apps with web technologies
架构           : x86_64
URL            : https://electronjs.org
软件许可       : MIT  custom
组             : 无
提供           : 无
依赖于         : c-ares  glibc  gcc-libs  gtk3  libgtk-3.so=0-64  libevent  libffi  libffi.so=8-64  libpulse  libpulse.so=0-64  nss  zlib  libz.so=1-64  fontconfig  libfontconfig.so=1-64
                 libjpeg  libjpeg.so=8-64  icu  libicui18n.so=74-64  libicuuc.so=74-64  dav1d  libdav1d.so=7-64  flac  libFLAC.so=12-64  libdrm  libxml2  libxml2.so=2-64  libwebp
                 libwebpdemux.so=2-64  libwebpmux.so=3-64  libwebp.so=7-64  minizip  opus  libopus.so=0-64  harfbuzz  libharfbuzz.so=0-64  libharfbuzz-subset.so=0-64  libxslt
                 libxslt.so=1-64  libpng  libpng16.so=16-64  freetype2  libfreetype.so=6-64
可选依赖       : kde-cli-tools: file deletion support (kioclient5) [已安装]
                 pipewire: WebRTC desktop sharing under Wayland [已安装]
                 qt5-base: enable Qt5 with --enable-features=AllowQt [已安装]
                 gtk4: for --gtk-version=4 (GTK4 IME might work better on Wayland) [已安装]
                 trash-cli: file deletion support (trash-put)
                 xdg-utils: open URLs with desktop’s default (xdg-email, xdg-open) [已安装]
依赖它         : siyuan-note-bin
被可选依赖     : 无
与它冲突       : 无
取代           : 无
安装后大小     : 474.16 MiB
打包者         : Caleb Maclennan <alerque@archlinux.org>
编译日期       : 2024年02月22日 星期四 18时28分59秒
安装日期       : 2024年02月27日 星期二 13时09分58秒
安装原因       : 作为其他软件包的依赖关系安装
安装脚本       : 否
验证者         : 数字签名

Expected result

可以正常启动

Screenshot or screen recording presentation

No response

Version environment

- Version: 3.0.1-1
- Operating System: Arch Linux
- Browser (if used):

Log file

siyuan.log

More information

No response

BruceKangCN commented 4 months ago

发现是 electron29 的问题,不是 siyuan-note 的问题

sudoskys commented 4 months ago

同样遇到此问题,请问你是如何解决的呢? @BruceKangCN

88250 commented 4 months ago

我也想知道,麻烦楼主有空的话描述一下问题解决方案,谢谢。

BruceKangCN commented 4 months ago

同样遇到此问题,请问你是如何解决的呢? @BruceKangCN

@sudoskys @88250 arch linux 仓库里的 electron29 有问题,自身启动都会报错,换成 electron28 就好了

--- /tmp/a.sh     2024-02-27 23:19:48.258340700 +0800
+++ /tmp/b.sh     2024-02-27 23:19:57.251187300 +0800
@@ -1,3 +1,3 @@
 #!/usr/bin/bash
 cd /usr/lib/siyuan-note
-electron29 app "$@"
+electron28 app "$@"
88250 commented 4 months ago

下个版本降级 Electron https://github.com/siyuan-note/siyuan/issues/10463

ProgramFan commented 4 months ago

这个版本在 Fedora 39 上也会发生无法显示图形界面问题,使用最新 dev 版本的思源就没问题了。诡异的是,使用了 dev 版本的思源以后,再使用 3.0.1 版本的思源居然就可以显示图形界面了。原因未知。

88250 commented 4 months ago

@ProgramFan 已经降级 Electron 了。