[Bug 50118] Genshin Impact launcher < 2020-12-11 loops infinitely on network adapters/host lookup (QtNetwork is bugged between v5.12.3 and v5.12.4)

WineHQ Bugzilla wine-bugs at winehq.org
Mon Dec 21 15:33:27 CST 2020


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|https://genshinimpact.mihoy |https://genshinimpact.mihoy
                   |o.com/client_app/launcher/2 |o.com/client_app/launcher/2
                   |0201223_d3fcf5785e92e37a/Ge |0201111_50185b55d5a96756/Ge
                   |nshinImpact_install_2020121 |nshinImpact_install_2020102
                   |1165103.exe                 |8210739.exe
            Summary|Genshin Impact launcher     |Genshin Impact launcher <
                   |loops infinitely, causing   |2020-12-11 loops infinitely
                   |netprofm:connection_GetAdap |on network adapters/host
                   |terId message spam          |lookup (QtNetwork is bugged
                   |(Qt5Network.dll,            |between v5.12.3 and
                   |iphlpapi.GetAdaptersAddress |v5.12.4)
                   |es)                         |
          Component|iphlpapi                    |-unknown

--- Comment #5 from Anastasius Focht <focht at gmx.net> ---
Hello,

thanks for the upload/information. It was indeed useful for me.

Qt5Network.dll 5.12.3.0 (broken)
Qt5Network.dll 5.12.5.0 (works)

I found the old client version containing the broken QT lib:

https://genshinimpact.mihoyo.com/client_app/launcher/20201111_50185b55d5a96756/GenshinImpact_install_20201028210739.exe

The launcher wants to immediately update on start, preventing further run.

---

The Qt team publishes changelogs and known issues list for each release.

I've searched the changelogs for the relevant releases and found some
suspicious entries in Qt v5.12.5 changelog:

https://code.qt.io/cgit/qt/qtbase.git/tree/dist/changes-5.12.5/?h=v5.12.5#n74

--- snip ---
****************************************************************************
*                                QtNetwork                                 *
****************************************************************************

 - QHostInfo:
   * Functors used in the lookupHost overloads are now called correctly in
     the thread of the context object. When used without context object,
     the thread that initiates the lookup will run the functor, and is
     required to run an event loop.

 - Windows:
   * Correctly emit errors when trying to reach unreachable hosts or
     services
--- snip ---

That's the release notes end user "language". Ccommon practice, not detailing
everything.

Since the sources are available ...

https://code.qt.io/cgit/qt/qtbase.git/log/src/network?h=5.12.5

More specifically:

https://code.qt.io/cgit/qt/qtbase.git/log/src/network/kernel?h=5.12.5

Most likely one of these guys:

--- snip ---
$ git shortlog v5.12.5...v5.12.4 -- src/network/kernel

Marc Mutz (2):
      QHostInfo: fix a race condition on wasDeleted
      QHostInfo: fix a race condition on QHostInfoCache::enabled

Volker Hilsheimer (2):
      QHostInfo: Always post results through the event loop to the receiver
      Plug a memory leak introduced in e24a4976bebd7ca90deac2b40c08900625773
--- snip ---

Open source is beautiful, isn't it? ;-)

Regards

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