Skip to content

Latx64 SIGBUS when Wine WoW64 installs SumatraPDF x86 #374

Description

@luzeng87

问题

在 LoongArch64 主机上,Latx64 执行 Wine 11.0 WoW64 中的
SumatraPDF-3.6.1-install.exe。用户在安装器窗口点击 Install 后,安装线程完成
CopySelfToDir(),随后 Latx64 收到 SIGBUS 并生成 core。安装器退出码为 135。

这不是应用服务进程崩溃:系统 coredump 的可执行文件是
/usr/bin/latx-x86_64-1.6,命令行为:

/usr/bin/latx-x86_64-1.6 \
  .../wine-preloader .../wine \
  /loongrun/installers/SumatraPDF-3.6.1-install.exe

core 摘要:

Signal: 7 (BUS)
Process: SumatraPDF-3.6.
#4 dump_core_and_abort
#5 handle_pending_signal
#6 process_pending_signals
#7 cpu_loop
#8 main

Wine 安装器日志的最后成功位置:

InstallerThread: cli->allUsers: 0
ExtractInstallerFiles() to 'C:\\users\\wine\\AppData\\Local\\SumatraPDF'
CopySelfToDir(C:\\users\\wine\\AppData\\Local\\SumatraPDF)
  copied 'Z:\\loongrun\\installers\\SumatraPDF-3.6.1-install.exe'
Bus error (core dumped)

复现步骤

  1. 使用 Wine 11.0 amd64-wow64:Unix 侧只有 x86_64-unix,Windows 模块同时有 i386-windowsx86_64-windows
  2. 通过 Latx64 运行 Wine,设置:
WINEARCH=wow64
WINEDEBUG=-all
WINEDLLOVERRIDES=winemenubuilder.exe=d;mscoree=d;mshtml=d
  1. 启动 SumatraPDF 3.6.1 x86 安装器,关闭“32-bit on 64-bit OS”提示,在安装器主窗口点击 Install。
  2. 等待约 78 秒,得到 SIGBUS / exit 135。

同一运行时能够运行 PE32、PE32+ 测试程序,也能完成 7-Zip x86 与 Notepad++ x86 安装。因此问题看起来与该交互安装线程的执行路径有关。

期望

Latx64 不应因 guest 程序的此执行路径触发 SIGBUS。如果需要,我可以补充 core 文件、精确 Wine 归档摘要、或基于调试版 Latx64 的 TB/IR2 dump。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions