[Bug 59734] New: Can't login anymore to battle.net after upgraded nettle from 3.10.2 to 4.0
http://bugs.winehq.org/show_bug.cgi?id=59734 Bug ID: 59734 Summary: Can't login anymore to battle.net after upgraded nettle from 3.10.2 to 4.0 Product: Wine Version: 11.8 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@list.winehq.org Reporter: joachim.ionoff@gmail.com Distribution: --- Created attachment 80897 --> http://bugs.winehq.org/attachment.cgi?id=80897 logs with winedebug crypt I'm using archlinux and today several packages has been upgraded and I suspect it is linked to nettle upgrade. From the wine output logs I can see: attle.net\Battle.net.exe: ecc-random.c:62: _nettle_ecc_mod_random: Assertion `nbytes <= m->size * sizeof (mp_limb_t)' failed. 02dc:err:seh:NtRaiseException Exception frame is not in stack limits => unable to dispatch exception. wine client error:11c: write: Bad file descriptor List of packages upgraded: nettle (3.10.2-1 -> 4.0-1) curl (8.20.0-5 -> 8.20.0-6) gstreamer (1.28.2-1 -> 1.28.2-2) gst-plugins-base-libs (1.28.2-1 -> 1.28.2-2) gst-libav (1.28.2-1 -> 1.28.2-2) gst-plugins-bad-libs (1.28.2-1 -> 1.28.2-2) gst-plugin-gtk (1.28.2-1 -> 1.28.2-2) gst-plugin-qml6 (1.28.2-1 -> 1.28.2-2) gst-plugins-bad (1.28.2-1 -> 1.28.2-2) gst-plugins-base (1.28.2-1 -> 1.28.2-2) gst-plugins-good (1.28.2-1 -> 1.28.2-2) gst-plugins-ugly (1.28.2-1 -> 1.28.2-2) gst-python (1.28.2-1 -> 1.28.2-2) lib32-nettle (3.10.2-1 -> 4.0-1) lib32-gnutls (3.8.13-1 -> 3.8.13-3) lib32-curl (8.20.0-5 -> 8.20.0-6) libcurl-compat (8.20.0-5 -> 8.20.0-6) lib32-libcurl-compat (8.20.0-5 -> 8.20.0-6) libcurl-gnutls (8.20.0-5 -> 8.20.0-6) lib32-libcurl-gnutls (8.20.0-5 -> 8.20.0-6) openconnect (1:9.12-4 -> 1:9.12-5) wget (1.25.0-3 -> 1.25.0-4) The wine version I used is 11.8 (with staging). I tried to rebuild after those packages upgrade, but no success. I attached logs with WINEDEBUG=+crypt. Don't hesitate to ask me more. Thanks for your help. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59734 --- Comment #1 from Joachim <joachim.ionoff@gmail.com> --- When I said "I tried to rebuild after those packages upgrade, but no success.", I would mean same behavior (after login, it's "crashing"), but building and installing wine is successful. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59734 --- Comment #2 from Joachim <joachim.ionoff@gmail.com> --- This is the complete list of packages I had to downgrade to be able to log in again: nettle (4.0-1 -> 3.10.2-1) gnutls (3.8.13-2 -> 3.8.13-1) curl (8.20.0-6 -> 8.20.0-5) gstreamer (1.28.2-2 -> 1.28.2-1) gst-plugins-base-libs (1.28.2-2 -> 1.28.2-1) gst-libav (1.28.2-2 -> 1.28.2-1) gst-plugins-bad-libs (1.28.2-2 -> 1.28.2-1) gst-plugin-gtk (1.28.2-2 -> 1.28.2-1) gst-plugin-qml6 (1.28.2-2 -> 1.28.2-1) gst-plugins-bad (1.28.2-2 -> 1.28.2-1) gst-plugins-base (1.28.2-2 -> 1.28.2-1) gst-plugins-good (1.28.2-2 -> 1.28.2-1) gst-plugins-ugly (1.28.2-2 -> 1.28.2-1) gst-python (1.28.2-2 -> 1.28.2-1) lib32-nettle (4.0-1 -> 3.10.2-1) lib32-gnutls (3.8.13-3 -> 3.8.13-1) lib32-curl (8.20.0-6 -> 8.20.0-5) libcurl-compat (8.20.0-6 -> 8.20.0-5) lib32-libcurl-compat (8.20.0-6 -> 8.20.0-5) libcurl-gnutls (8.20.0-6 -> 8.20.0-5) lib32-libcurl-gnutls (8.20.0-6 -> 8.20.0-5) openconnect (1:9.12-5 -> 1:9.12-4) wget (1.25.0-4 -> 1.25.0-3) No need to rebuild wine again. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59734 --- Comment #3 from Hans Leidekker <hans@meelstraat.net> --- This looks like a bug in nettle. Applications should not be able to trigger assertions in a library. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59734 --- Comment #4 from Joachim <joachim.ionoff@gmail.com> --- (In reply to Hans Leidekker from comment #3)
This looks like a bug in nettle. Applications should not be able to trigger assertions in a library.
Thanks for your answer and help. I found someone discovered same issue years ago in a topic in the wine forum: https://forum.winehq.org/viewtopic.php?t=33294&sid=982b68251055fc0b4a2e97e47... It affects the 32bit build of the libraries (lib32-nettle and/or lib32-gnutls) as Battle.net desktop app seems to be 32-bit. I don't know if only the error message will be enough for the nettle/gnutls team to fix it. Do you see something I can send to them ? Maybe something in the "WINEDEBUG=+crypt" output ? -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59734 --- Comment #5 from Hans Leidekker <hans@meelstraat.net> --- (In reply to Joachim from comment #4)
It affects the 32bit build of the libraries (lib32-nettle and/or lib32-gnutls) as Battle.net desktop app seems to be 32-bit.
I don't know if only the error message will be enough for the nettle/gnutls team to fix it. Do you see something I can send to them ? Maybe something in the "WINEDEBUG=+crypt" output ?
I doubt that would be helpful. The code that asserts looks like this: void ecc_mod_random (const struct ecc_modulo *m, mp_limb_t *xp, »···»···void *ctx, nettle_random_func *random, mp_limb_t *scratch) { uint8_t *buf = (uint8_t *) scratch; unsigned nbytes = (m->bit_size + 7)/8; /* The bytes ought to fit in the scratch area, unless we have very unusual limb and byte sizes. */ assert (nbytes <= m->size * sizeof (mp_limb_t)); It would be helpful to dump the values used in the condition and rebuild the package. It would to dump the values -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59734 --- Comment #6 from Joachim <joachim.ionoff@gmail.com> --- Ok, I found the root cause. It is on lib32-nettle build package rules. Building the nettle has changed on 4.0 as per the announce on gnu.org (https://lists.gnu.org/archive/html/info-gnu/2026-02/msg00002.html): * The unusual configure options --with-lib-path and --with-include-path has been deleted. Use CFLAGS and LDFLAGS instead. This implies that Nettle's configure script no longer attempts to add rpath-related linker flags automagically; if any are needed, they must be passed in LDFLAGS. * The logic to sometimes change the default libdir has been deleted. Previously, configure tried to be helpful and change the default, e.g., to ${exec_prefix}/lib32 when you build 32-bit libraries on a system where ${exec_prefix}/lib is for 64-bit libraries. If you relied on this behavior, you now have to use the --libdir configure option. Something mismatched with GMP lib used. I suspect it was not the 32-bit library of GMP. Mostly, I added those compile flags and it is now successfully login. export CPPFLAGS+=" -m32 -I/usr/lib32/gmp" export LDFLAGS+=" -m32 -L/usr/lib32 -lgmp" Sorry for wasting your time. I'll open an issue on the Arch Linux packages with my working PKGBUILD. -- 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.
http://bugs.winehq.org/show_bug.cgi?id=59734 Hans Leidekker <hans@meelstraat.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |NOTOURBUG --- Comment #7 from Hans Leidekker <hans@meelstraat.net> --- Yes, that would explain it. mp_limb_t is defined as long which has a different size on 32-bit. -- 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.
participants (1)
-
WineHQ Bugzilla