[Bug 49412] New: Wine 5.10 breaks League Of Legends

WineHQ Bugzilla wine-bugs at winehq.org
Thu Jun 18 20:56:43 CDT 2020


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

            Bug ID: 49412
           Summary: Wine 5.10 breaks League Of Legends
           Product: Wine-staging
           Version: 5.10
          Hardware: x86-64
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: -unknown
          Assignee: wine-bugs at winehq.org
          Reporter: matias.nicolas.zc at gmail.com
                CC: leslie_alistair at hotmail.com, z.figura12 at gmail.com
   Regression SHA1: 7b78338b078a7a55c5851a91064ef70836f4c996
      Distribution: ---

Created attachment 67491
  --> https://bugs.winehq.org/attachment.cgi?id=67491
Pass syscall_dispatcher to NtCreateThreadEx

First of all, this is not the same as Bug 49373, that one doesn't affect the
alternative patch from Bug 47198.

Stating with wine 35b063a4 + staging 7b78338b, the game doesn't start. The
following message appears in the terminal every  couple of seconds (with
different thread ids):

```
0184:err:ntdll:RtlpWaitForCriticalSection section 0x7bd07a40 "loader.c:
loader_section" wait timed out in thread 0184, blocked by 0024, retrying (60
sec)
```
__________________________________________________

This can be reproduced by running the following executable, no need to have an
account:
`wine League of Legends/Game/League of Legends.exe`

Tested with wine 67ef5151 + staging 02913f75 (the last staging commit at the
moment of testing)
The game also needs the alternative patch from Bug 47198 + `echo 0 >
/proc/sys/abi/vsyscall32`

I have an updated patch for Bug 47198 that applies over wine-git+staging in my
copr repo:
https://copr-dist-git.fedorainfracloud.org/cgit/manizuca/wine-lol/wine.git/tree/alternative_patch_by_using_a_fake_cs_segment.patch?h=f32

__________________________________________________

As i said, this bug is present since wine 35b063a4 with the staging rebasing
from 7b78338b

Specifically, the `WOW32Reserved` assignation from the
`0003-winebuild-Generate-syscall-thunks-for-ntdll-exports` patch was moved to
loader.c, since the thread creation function was moved to the Unix library, but
apparently that assignation needs to be in thread creation function.

The attached patch moves back that assignation, by passing a syscall_dispatcher
reference to the Unix library.
Sadly, starting with wine 33c750f5, NtCreateThreadEx is called from
unix/server.c. Since i couldn't find how to get syscall_dispatcher from there,
I'm reverting that commit to make League Of Legends work.

In summary, I can make LoL work with wine-git + staging + reverting 33c750f5 +
the attached patch + the alternative patch from Bug 49373

-- 
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