https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234070

Tijl Coosemans <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #200601|0                           |1
        is obsolete|                            |

--- Comment #8 from Tijl Coosemans <[email protected]> ---
Created attachment 201141
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=201141&action=edit
qt5-version.2.patch

The problem was in www/qt5-webengine.  It needs to be rebuilt with this patch.

Older versions of Qt5Webengine exported some memory allocation symbols from the
bundled Chromium.  Version 5.9 stopped exporting these [1] but the symbols were
kept as weak wrappers for the standard allocation functions to maintain binary
compatibility. [2][3]  The problem is that the call to the standard function in
these weak wrappers is only resolved to the standard function if there's a call
to this standard function in other parts of Qt5Webengine, because only then is
there a non-weak symbol that takes precedence over the weak one.  If there's no
such non-weak symbol the call in the weak wrapper resolves to the weak wrapper
itself creating an infinite tail call loop that overflows the stack and causes
a crash.  Some of the allocation functions are variants of C++ new and delete
and it probably depends on the compiler whether these variants are used in
other parts of Qt5Webengine.

This patch removes the weak wrappers (makes them Linux specific).  This isn't
binary compatible but we are already breaking that with the changes to the
symbol versions.

[1]
https://github.com/qt/qtwebengine/commit/5c2cbfccf9aafb547b0b30914c4056abd25942a4
[2]
https://github.com/qt/qtwebengine/commit/2ed5054e3a800fa97c2c9e920ba1e6ea4b6ef2a5
[3]
https://github.com/qt/qtwebengine/commit/009f5ebb4bd6e50188671e0815a5dae6afe39db5

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "[email protected]"

Reply via email to