office-gobmx/external/boost
Mike Kaganski 072a25e1ef tdf#157135 workaround: restore and update windows-no-utf8-locales.patch.0
This partially reverts commit ed259e5efe
(Upgrade external/boost to latest Boost 1.81.0, 2023-01-05), which had
dropped the patch previously introduced with commit
f046fed278 (Don't ever attempt to initialise
a std::locale with a UTF-8 locale on Windows, 2018-05-17).

It seems that there is a nightmare going on in MSVCRT, and tdf#157135
is caused by dome MS bug. The problem happens in a deeply nested call
to mbstowcs_s (several levels deep from std::locale constructor with
name of "en_US.UTF-8"), which gets a non-null wcstr and sizeInWords
equal to zero, which generates an invalid argument handler, resulting
in a failed assertion "(pwcs == nullptr && sizeInWords == 0) || (pwcs
!= nullptr && sizeInWords > 0)" in _mbstowcs_internal from
minkernel\crts\ucrt\src\appcrt\convert\mbstowcs.cpp:245, and a crash.
The crashreporter initiates, but since it tries to use CRT itself,
which is in fastfail mode, it hangs.

The patch that is restored here was intended for something different;
but it happily workarounds the nightmare. Until the proper fix found,
let it be.

Change-Id: Ic978f87e2e7b81fc2e1cd182a4247084ad016a9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164068
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-28 04:57:11 +01:00
..
include/boost
0001-Avoid-boost-phoenix-placeholders-uarg1.10-ODR-violat.patch.2
boost-emscripten-noshm.patch.0
boost-emscripten-nowasm.patch.0
boost-ios.patch.0
boost.6142.warnings.patch.1
boost.between.warning.patch
boost.fallback.encoding.patch
boost.file_iterator.sharing_win.patch
boost.noiconv.patch
boost_1_59_0.mpl.config.wundef.patch
boost_1_59_0.property_tree.wreturn-type.patch
boost_1_63_0.undef.warning.patch.1
clang-cl.patch.0
Makefile
Module_boost.mk
msvc2017.patch.0
README
repack_tarball.sh
rtti.patch.0
StaticLibrary_boost_date_time.mk
StaticLibrary_boost_filesystem.mk
StaticLibrary_boost_iostreams.mk
StaticLibrary_boost_locale.mk
StaticLibrary_boost_system.mk
UnpackedTarball_boost.mk
windows-no-utf8-locales.patch.0

From [http://www.boost.org/].

Apart from the spirit parsing framework, LibreOffice currently mostly
uses the smart pointers, pool memory and binders functionality.