Skip to content

[Bug] Linux arm64 构建在飞腾 D2000 / 麒麟 V10 SP1 (glibc 2.31) 上启动即 SIGTRAP 核心转储(Electron 44 运行时不兼容) #465

Open

Description

@zqhaohao

检查清单

  • 我已检索仓库中所有的 Issues,确保我没有重复提交问题;或有相似 Issue,但我觉得我的情况不包含在那个相似 Issue 之内
  • 我已经找到了可以复现这个问题的方法,并且写在了下面的「具体信息」中
  • 此问题可以在我的设备和当前环境中稳定复现
  • 此问题可以在最新版本 (Latest Release) 中复现
  • 此问题是在我更新到当前版本后才出现的

环境信息

发行版 银河麒麟桌面操作系统 V10 SP1(KYLIN_RELEASE_ID=2503,Debian 系)
架构 / CPU aarch64,Phytium D2000/8 E8C
内核 5.4.18-167-generic
glibc 2.31(ldd (Ubuntu GLIBC 2.31-0kylin9.1k22.2) 2.31)
桌面环境 UKUI + X11(X.Org 1.20.8)
安装方式 官方 Release 的 arm64 deb 包,splayer-next 1.2.0,安装于 /opt/SPlayer-Next

具体信息

安装后从菜单或终端启动均无窗口、无任何输出,进程立即崩溃并生成 core dump:
$ /opt/SPlayer-Next/SPlayer-Next
(无任何输出)
退出码 133(SIGTRAP,核心转储)
连以下"最小路径"也同样崩溃:
$ /opt/SPlayer-Next/SPlayer-Next --version # 崩溃
$ ELECTRON_RUN_AS_NODE=1 /opt/SPlayer-Next/SPlayer-Next -e "console.log(1)" # 崩溃
$ /opt/SPlayer-Next/SPlayer-Next --no-sandbox --disable-gpu
--user-data-dir=/tmp/fresh-dir # 仍然崩溃
ELECTRON_RUN_AS_NODE 纯 Node 模式也崩,说明问题发生在 V8/运行时初始化的最早期,与浏览器进程、GPU、应用代码、用户数据目录均无关。
排除项(已逐一验证)

  1. 不是缺依赖库:ldd 无任何 not found;主程序的 GLIBC 符号需求最高仅到 2.25(readelf -V 确认),低于系统 2.31。
  2. 不是沙箱问题:--no-sandbox 无效。
  3. 不是用户数据目录问题:全新 --user-data-dir 无效。
  4. 不是整机环境问题:同一台机器上,系统自带的 Chromium 128 --version 正常运行,Flutter 应用(LocalSend)正常运行。
  5. 不是内存/overcommit 问题:vm.overcommit_memory=0,可用内存 3.2 GB。
    崩溃取证
    coredumpctl info(信号 5 / TRAP,线程栈):
    Stack trace of thread 5:
    #0 0x0000005589b6c45c n/a (SPlayer-Next + 0x66ab45c)
    添加本地歌曲扫描 #1 0x0000005589b6c45c n/a (SPlayer-Next + 0x66ab45c)
    Update code block syntax in README.md #2 0x000000558bf2630c n/a (SPlayer-Next + 0x8a6530c)
    更改实例标识符和桌面条目名称为 SPlayer-Next #3 0x000000558bf2639c n/a (SPlayer-Next + 0x8a6539c)
    feat: 桌面歌词 #4 0x000000558b1a5344 n/a (SPlayer-Next + 0x7ce4344)
    feat: 灵动岛歌词 #5 0x000000558b1a50f0 n/a (SPlayer-Next + 0x7ce40f0)
    Add Claude Code GitHub Workflow #6 0x000000558a084988 n/a (SPlayer-Next + 0x6bc3988)
    feat: 任务栏歌词 #7 0x000000558a0b0d38 malloc (SPlayer-Next + 0x6befd38)
    feat: Plugins #8 0x0000007f83c46a68 n/a (libc.so.6 + 0x2da68)
    Bump @xmldom/xmldom from 0.8.12 to 0.8.13 in the npm_and_yarn group across 1 directory #9 0x0000007f8273f9e0 n/a (libgpg-error.so.0 + 0x2e9e0)
    对陷阱点 + 0x66ab45c 反汇编,确认是编译器插入的运行时自检陷阱(附近符号属于 V8/cppgc):
    66ab458: bl 6e54fbc <ZN2v812BackingStore12EmptyDeleterEPvmS1@@base>
    66ab45c: brk #0x0 ← 崩溃点(SIGTRAP)
    66ab460: hlt #0x0
    初步分析
  • 本机 CPU 特性(/proc/cpuinfo):fp asimd evtstrm aes pmull sha1 sha2 crc32 —— 不含 atomics(LSE),为 armv8.0 基线。
  • 怀疑 Electron 43/44 这一代的 V8 / PartitionAlloc 运行时在 armv8.0 基线(无 LSE)+ 内核 5.4 + glibc 2.31 的环境下初始化自检失败,直接 brk 陷阱;且失败发生在日志系统就绪之前,所以 stderr 完全无输出。
  • 查阅了仓库历史:v1.1.0 用 Electron ~43.2、v1.2.0 用 ~44.9、dev 分支 ~44.10 —— 所有已发布版本都是同一代运行时,因此降级旧 Release 无法绕过。
    请求
  1. 若条件允许,提供一个基于较旧 Electron(例如 ≤ 35,Chromium 128 时代在本机已验证可运行)的 Linux arm64 构建或 "legacy" 下载通道;
  2. 或在 README/下载页标注 Linux arm64 构建的最低系统要求(glibc / 内核 / CPU 特性),避免飞腾、鲲鹏早期型号等用户误装。

Activity

  1. github-actions commented on Nov 11, 2026

    @github-actions

    👋 @zqhaohao

    感谢提交 Issue!我们已经收到您的反馈,会尽快确认您的问题。

    Thanks for opening this issue! We have received your report and will review it as soon as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions