diff options
author | laanwj <126646+laanwj@users.noreply.github.com> | 2022-04-14 09:13:55 +0200 |
---|---|---|
committer | laanwj <126646+laanwj@users.noreply.github.com> | 2022-04-14 09:18:16 +0200 |
commit | 6c9bc14a3f2cfa50144607c820ebab5288f9571c (patch) | |
tree | 2e6ebffe7c64a045a2ee843b208dea6bb044fe3c /src/txmempool.cpp | |
parent | 8e3c266a4f02093d57d563f32ba73d3ab4b5f208 (diff) | |
parent | 457148a803cee02897b7428fa7b3eb93eed71e4c (diff) | |
download | bitcoin-6c9bc14a3f2cfa50144607c820ebab5288f9571c.tar.xz |
Merge bitcoin/bitcoin#24842: guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues
457148a803cee02897b7428fa7b3eb93eed71e4c guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues (fanquake)
Pull request description:
This commit backports [a patch](https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e8d1ca7d2c344a411779892616c423e157f4aea8) to the GCC 10.3.0 we build for Windows
cross-compilation in Guix. The commit has been [backported to the GCC
releases/gcc-10 branch](https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=e3abcc56d2604b9d2652b615ff9e68981cb7f79e), but hasn't yet made it into a 10.x release.
The patch corrects a regression from an earlier GCC commit, see:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=357c4350680bf29f0c7a115424e3da11c53b5582
and
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=074226d5aa86cd3de517014acfe34c7f69a2ccc7,
related to the way newer versions of mingw-w64 implement setjmp/longjmp.
Ultimately this was causing a crash for us when Windows users were
viewing the network traffic tab inside the GUI. After some period, long
enough that a buffer would need reallocating, a call into FreeTypes
[`gray_record_cell()`](https://github.com/ImageMagick/freetype/blob/a18906091cd17c623a6819661589df5566958918/src/smooth/ftgrays.c#L526) would result in a call to [`ft_longjmp` (longjmp)](https://github.com/ImageMagick/freetype/blob/a18906091cd17c623a6819661589df5566958918/src/smooth/ftgrays.c#L165), which
would then trigger a crash.
Fixes: https://github.com/bitcoin-core/gui/issues/582.
See also:
https://bugreports.qt.io/browse/QTBUG-93476 - very similar issue reported to Qt.
Guix Build (on x86_64):
```bash
62172df3089e7bca3fd00f63acc9c8d3678a35bfb2bb5a0af905e61e9d8def52 guix-build-457148a803ce/output/dist-archive/bitcoin-457148a803ce.tar.gz
f8318d16d0418e0e790efd94527a5be374ac50f51df53e05a6d54cc8c08a8633 guix-build-457148a803ce/output/x86_64-w64-mingw32/SHA256SUMS.part
72076e6896297a36beec6c62065b3d8aeeeb87fed407df947261cefdc81cdb93 guix-build-457148a803ce/output/x86_64-w64-mingw32/bitcoin-457148a803ce-win64-debug.zip
c617d2347f50d2706bbdcc2b3b97f2ecaf59243747f4c81d7747a22e64cb9d76 guix-build-457148a803ce/output/x86_64-w64-mingw32/bitcoin-457148a803ce-win64-setup-unsigned.exe
8b1e7821e495121bea8a70f09ea6a0b703503b054d831b0dd86a0fe29cece457 guix-build-457148a803ce/output/x86_64-w64-mingw32/bitcoin-457148a803ce-win64-unsigned.tar.gz
c8d2c0e68e3bf21ed7cfe08df64925bfa54ce6225c6d29bb710f9d9d4474caee guix-build-457148a803ce/output/x86_64-w64-mingw32/bitcoin-457148a803ce-win64.zip
```
ACKs for top commit:
jonatack:
Approach and review-only ACK 457148a803cee02897b7428fa7b3eb93eed71e4c
laanwj:
Concept and code review ACK 457148a803cee02897b7428fa7b3eb93eed71e4c
gruve-p:
ACK https://github.com/bitcoin/bitcoin/pull/24842/commits/457148a803cee02897b7428fa7b3eb93eed71e4c
hebasto:
ACK 457148a803cee02897b7428fa7b3eb93eed71e4c, tested `bitcoin-457148a803ce-win64.zip` on Windows 11 Pro 21H2. Confirming that bitcoin-core/gui#582 is fixed.
jarolrod:
ACK 457148a803cee02897b7428fa7b3eb93eed71e4c
Tree-SHA512: dfb832ce93d72827009458cebbbdd408175b90b98d3eb546f9bbd21efe7bdd4ceca6ed13f5f6ce8e8e15d1c5d613f3a10399847a3589e4e7cc113ac0196d4010
Diffstat (limited to 'src/txmempool.cpp')
0 files changed, 0 insertions, 0 deletions