Package: wine Version: 10.0~repack-6 Severity: normal Tags: patch X-Debbugs-Cc: [email protected], [email protected] User: [email protected] Usertags: arm64
Dear Maintainer, When running Wine on arm64, on HW with pointer authentication (armv8.3 and newer), Wine fails to run. In some cases, it hangs directly on startup for any case (e.g. "wine wineboot" hangs), in some cases it seemingly runs successfully, but any case that requires unwinding in the user executables fail. (Exactly what makes it seemingly succeed in some cases and hang in others is unclear.) The issue can be consistently observed by running "WINEDEBUG=+seh wine wineboot" in a fresh install with no preexisting wine prefix (~/.wine). On older hardware, without support for pointer authentication, Wine starts up nicely (and there are a handful of debug printouts about unwinding one exception). On newer hardware, it results in repeated printouts about EXCEPTION_ILLEGAL_INSTRUCTION. The root cause of this issue is that Clang 19 and newer has regressed the code generation for return address signing on Windows on aarch64 - this issue has been filed upstream at [1]. Debian builds of Wine have pointer authentication enabled for the internal PE components of Wine (and those components are compiled with Clang), which causes Wine to trip over itself when unwinding through those components. However, the issue is made visible due to the fact that Wine's unwinding of pointer authentication was more strict than what really is necessary. A fix for this was merged in [2]. This fix avoids triggering illegal instructions and breaking on these cases. This fix will be in the upcoming development release Wine 11.12, but it also applies cleanly on e.g. Wine 10.0. Applying this patch in the Debian packaging will likely fix this issue. [1] https://github.com/llvm/llvm-project/issues/203852 [2] https://gitlab.winehq.org/wine/wine/-/commit/a83427f29e925d8b29cf58a55406d28bd95750a2 -- Package-specific info: /usr/bin/wine points to /usr/bin/wine-stable. -- System Information: Debian Release: 13.3 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable') Architecture: arm64 (aarch64) Kernel: Linux 6.6.10-cix-build-generic (SMP w/12 CPU threads; PREEMPT) Kernel taint flags: TAINT_CPU_OUT_OF_SPEC, TAINT_OOT_MODULE Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: unable to detect Versions of packages wine depends on: ii wine64 10.0~repack-6 wine recommends no packages. Versions of packages wine suggests: pn dosbox <none> pn exe-thumbnailer | kio-extras <none> pn playonlinux <none> pn q4wine <none> pn winbind <none> pn wine-binfmt <none> pn winetricks <none> Versions of packages libwine depends on: ii libasound2t64 1.2.14-1 ii libavcodec61 7:7.1.4-0+deb13u1 ii libavformat61 7:7.1.4-0+deb13u1 ii libavutil59 7:7.1.4-0+deb13u1 ii libc6 2.41-12+deb13u1 ii libcapi20-3t64 1:3.27-3.2+b1 ii libfontconfig1 2.15.0-2.3 ii libfreetype6 2.13.3+dfsg-1+deb13u1 ii libglib2.0-0t64 2.84.4-3~deb13u3 ii libgphoto2-6t64 2.5.31-4 ii libgphoto2-port12t64 2.5.31-4 ii libgstreamer-plugins-base1.0-0 1.26.2-1+deb13u1 ii libgstreamer1.0-0 1.26.2-2 ii libpcap0.8t64 1.10.5-2 ii libpcsclite1 2.3.3-1 ii libpulse0 17.0+dfsg1-2+b1 ii libudev1 257.13-1~deb13u1 ii libusb-1.0-0 2:1.0.28-1 ii libwayland-client0 1.23.1-3 ii libwayland-egl1 1.23.1-3 ii libx11-6 2:1.8.12-1 ii libxext6 2:1.3.4-1+b3 ii libxkbcommon0 1.7.0-2 ii libxkbregistry0 1.7.0-2 ii libz-mingw-w64 1.3.1+dfsg-2 ii ocl-icd-libopencl1 [libopencl1] 2.3.3-1 Versions of packages libwine recommends: ii fonts-liberation 1:2.1.5-3 ii fonts-wine 10.0~repack-6 ii gstreamer1.0-plugins-good 1.26.2-1+deb13u1 ii libasound2-plugins 1.2.12-2+b1 ii libcups2t64 2.4.10-3+deb13u2 ii libdbus-1-3 1.16.2-2 ii libegl1 1.7.0-1+b2 ii libgl1 1.7.0-1+b2 ii libgl1-mesa-dri 25.0.7-2 ii libgnutls30t64 3.8.9-3+deb13u4 ii libgssapi-krb5-2 1.21.3-5+deb13u1 ii libkrb5-3 1.21.3-5+deb13u1 ii libodbc2 2.3.12-2 ii libosmesa6 25.0.7-2 ii libsdl2-2.0-0 2.32.4+dfsg-1 ii libv4l-0t64 1.30.1-1 ii libvulkan1 1.4.309.0-1 ii libxcomposite1 1:0.4.6-1 ii libxcursor1 1:1.2.3-1 ii libxfixes3 1:6.0.0-2+b4 ii libxi6 2:1.8.2-1 ii libxinerama1 2:1.1.4-3+b4 ii libxrandr2 2:1.5.4-1+b3 ii libxrender1 1:0.9.12-1 ii libxxf86vm1 1:1.1.4-1+b4 Versions of packages libwine suggests: pn cups-bsd <none> pn gstreamer1.0-libav <none> pn gstreamer1.0-plugins-bad <none> pn gstreamer1.0-plugins-ugly <none> pn ttf-mscorefonts-installer <none> Versions of packages wine64 depends on: ii libc6 2.41-12+deb13u1 ii libwine 10.0~repack-6 Versions of packages wine64 recommends: pn wine32 <none> Versions of packages wine64 suggests: pn wine64-preloader <none> Versions of packages wine is related to: pn dxvk <none> pn dxvk-wine32-development <none> pn dxvk-wine64-development <none> ii fonts-wine 10.0~repack-6 -- no debconf information

