https://bugs.winehq.org/show_bug.cgi?id=47388
Bug ID: 47388 Summary: “Page fault on read access to 0x00000000 in 32-bit code” in multiple games Product: Wine Version: 4.0 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: BabylonAS@yandex.ru Distribution: ---
Created attachment 64723 --> https://bugs.winehq.org/attachment.cgi?id=64723 Wing Commander: Prophecy crash backtrace
Hello everyone.
I’ve attempted to install some Windows-only games on my ThinkPad X31 (32-bit) running Debian 10 (while technically it is not released yet, I’ve switched to use the “testing” repositories, which are used to prepare the tenth version’s release) using Wine 4.0. So far I tried the first Galactic Civilizations (with the expansion, Altarian Prophecy), Civilization III (with both expansions, Play the World and Conquests), Sid Meier’s Alpha Centauri (with the expansion, Alien Crossfire) and Wing Commander: Prophecy. All games (except Alpha Centauri, which has been bought digitally on GOG.com which only provides a Windows version) have been installed from compact discs, and might not be the latest versions.
All of them succumbed to a “Page fault on read access to 0x00000000 in 32-bit code” or similar error upon launching. GalCiv’s map editor (introduced with Altarian Prophecy) also did crash, and Alpha Centauri’s GOG installer did trigger the error as well (but it didn’t led to fatal consequences). Wherever I took a look at the backtrace, I saw a failure of the assembler instruction “movl 0x0(%eax),%ecx” (the registers and the 0x0 part can vary). By this point I’ve only saved backtraces for two of the crashes, specifically of Wing Commander: Prophecy and Alpha Centauri (with Alien Crossfire).
I’ve seen a bunch of other bug reports involving “movl 0x0(%eax),%ecx” or similar cases, but they appear to refer to old versions of Wine and not be updated in a long time. Only https://bugs.winehq.org/show_bug.cgi?id=40334 with a similar “page fault on read access to 0x00000000” seems to be recent, but it is a crash of 64-bit code and doesn’t disclose the exact failing instruction.