[Bug 39648] New: MTA: San Andreas cannot start in Wine64

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Nov 22 13:56:22 CST 2015


https://bugs.winehq.org/show_bug.cgi?id=39648

            Bug ID: 39648
           Summary: MTA: San Andreas cannot start in Wine64
           Product: Wine
           Version: unspecified
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ntoskrnl
          Assignee: wine-bugs at winehq.org
          Reporter: rafalh1992 at o2.pl
      Distribution: ---

Created attachment 52850
  --> https://bugs.winehq.org/attachment.cgi?id=52850
Log (+ntoskrnl)

Multi Theft Auto: San Andreas 1.5 cannot start in Wine64 (WoW64 mode) in Linux
Mint 17.1.
Wine stops logging with error "wine client error:37: partial write 57344".

I already debugged this issue.
MTA: SA is multiplayer mod for GTA: San Andreas.
MTA contains kernel mode driver named FairplayKD.sys. MTA installs it at
startup and then sends IOCTL to it from modded gta_sa.exe process. When driver
tries to process IOCTL it fails and sets ipr->IoStatus.Status to
STATUS_NOT_IMPLEMENTED. But when Wine interprets IRP structure in ntoskrnl it
reads the status as number of bytes (which is normally passed in
IoStatus.Information field). Then Wine tries to transfer 0xC0000002
(STATUS_NOT_IMPLEMENTED) bytes to gta_sa.exe process (process which sent
IOCTL). This obliviously fails and causes "wine client error:37".

Problem is caused by invalid definition of IRP structure in wdk.h header. Its
improperly marked as packed. It does nothing in 32-bit because structure
doesn't need any padding in such architecture. In 64-bit it causes displacement
of Status field by 4 bytes.

I already created patch for this issue and going to send it. Patched Wine
1.7.53 allows me to start MTA and play normally. Newer Wine has regression in
DirectX which makes MTA unplayable.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list