Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Latx64 SIGBUS when Wine WoW64 installs SumatraPDF x86

Open
#374 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
15/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
c
Domain
compilers

Research direction

The core stack — cpu_loop -> process_pending_signals -> handle_pending_signal -> dump_core_and_abort in /usr/bin/latx-x86_64-1.6 — is where to start: locate those handlers and work out how a guest access on the WoW64 32-bit path becomes SIGBUS. Reproduce with WINEARCH=wow64 and the listed WINEDLLOVERRIDES, watching Wine's InstallerThread right after CopySelfToDir, and use a debug Latx64 build with a TB/IR2 dump to catch the faulting guest instruction. Done means the SumatraPDF 3.6.1 x86 installer finishes without SIGBUS/exit 135.

Written by the indexing model from the issue text.

Description

问题

在 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-windows 和 x86_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。

Dominant language
C
Stars
246
Forks
64
Avg merge
2d 1h
Merged PRs (30d)
19

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from lat-opensource/lat

All issues in lat-opensource/lat

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.