mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-01 19:36:04 +08:00
The 419f42903154489e2dace8d1eba183036275448b commit in qtbase introduced a regression where the tst_fusion test in qtqtuickcontrols2 hits a deadlock while trying to print a warning about a non-UTF-8 locale. The warning is due to the fact that the agent executed in Coin's VM does not have an explicit locale set, and thus it defaults to "C". There is no explicit locale set in any .bashrc (or similar files), and neither in any launchd configuration (because the agent is executed at macOS startup via launchd). The deadlock is due to trying to acquire the same lock twice while trying to write output to stdout. The test only deadlocks on CMake configurations, and not qmake configurations, because Coin has a hardcoded instruction to set the locale to UTF-8 when running qmake tests. Until the deadlock situation is addressed in another change, the issue can be fixed by setting the macOS configuration locale to UTF-8 explicitly, by assigning the LANG environment variable into ~/.bashrc at provisioning time, like we do with other environment variables like PATH. Fixes: COIN-578 Change-Id: Ib6a5849a6868c1776dd425aeb8b5e7d6faa8cde0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>