
Hermelin
Published
The Old Country on Linux/Proton crashes due to illegal SMSW/SGDT instructions causing a CPU spike and system freeze
gamemoderun %command%
Bug Description:
When running "Mafia: The Old Country" on Linux via Steam/Proton, the game causes a complete system freeze and crash. Analysis of system logs reveals that the game is attempting to execute privileged CPU instructions (SMSW, SGDT) that are not permitted in user mode.
The Linux kernel's User Mode Instruction Prevention (UMIP) feature correctly intercepts these attempts. However, the process of emulating these instructions is extremely resource-intensive, causing a sudden and massive spike in CPU usage (over 80% in user space) that leads to system instability and an unavoidable crash.
This is a software issue with the game itself, not a hardware or system configuration problem. The system is otherwise stable and all other applications and games run without issue.
Steps to Reproduce:
- Launch "Mafia: The Old Country" on a Linux system with a modern kernel that has UMIP enabled (standard in recent kernels).
- Play the game for a short period.
- The system will inevitably freeze and crash, requiring a hard reboot.
Log Evidence:
The kernel log (dmesg) consistently shows the following errors immediately before the crash:
1 [ 1619.678929] umip: MafiaTheOldCoun[9440] ip:15caf8ef0 sp:c9fe10: SMSW instruction cannot be used by applications. 2 [ 1619.678938] umip: MafiaTheOldCoun[9440] ip:15caf8ef0 sp:c9fe10: For now, expensive software emulation returns the result. 3 [ 1623.585045] umip: MafiaTheOldCoun[9440] ip:155594c35 sp:c986e8: SGDT instruction cannot be used by applications. 4 [ 1623.585054] umip: MafiaTheOldCoun[9440] ip:155594c35 sp:c986e8: For now, expensive software emulation returns the result. 5 [ 1623.587830] umip: MafiaTheOldCoun[9440] ip:1583c9d3d sp:c97dd0: SGDT instruction cannot be used by applications.
Detailed vmstat and iostat logs are also available and confirm that there are no memory or I/O bottlenecks, but do show the massive CPU spike at the time of the crash.
Workarounds Attempted:
- Using the gamemoderun %command% launch option in Steam has been tested and does not resolve the issue. The crash still occurs in the same manner.
This bug makes the game unplayable on affected Linux systems. Please investigate and patch the game to avoid the use of these privileged instructions.