Wine 会泄露指向 x86-64 进程的非标准指针
作者: Sonicadvance1创建于 2026年9月10日更新于 2026年9月10日
至少会泄露一些不符合 x86-64 标准的 GPU 指针给来宾应用程序。在运行 `Touhou Koumakyou: New Classic - the Embodiment of Scarlet Devil` 时注意到了这个问题,但理论上任何 x86-64 游戏都可能出现这种情况。Wine 没有预留上 128 TB 的 VA 空间,因此最终只会导致泄露指针。我们必须在 Linux 端解决这个问题,否则 Golang 应用程序就会崩溃,因为它们会进行标准化指针检查(尽管它们也可能在 57 位 VA 系统上崩溃)。FEX 可能通过在该空间中预留内存来部分解决这个问题,就像在 Linux 端一样,但如果 WINE 本身解决了这个问题,那就更好。使用 unixlib 并不难晚期预留该区域,但如果它们在早期分配了场景,则仍可能泄露数据。我们应该有一个仅用于调试的选项,用于在内存访问时进行标准化指针检查。这会非常缓慢,但可以帮助我们找到更多泄露。
内容来源: FEX-Emu/FEX