sipsorcery
commented at 12:39 AM on November 15, 2020:
member
As per brief discussion. Visual Studio 2019 and Appveyor images have recently been updated. While it's only a minor update that doesn't break ABI compatibility it does seem to have broken compatibility for Release builds. This apparently occurs if compiler optimisations are turned on.
This PR switches the Appveyor CI job from a Release build to a Debug build in order to fix the CI failures.
Subsequent to this PR I will commence a new build of the Qt static libraries with the latest Visual Studio 2019 toolset so that release build can work again.
sipsorcery
commented at 12:40 AM on November 15, 2020:
member
C:\projects\bitcoin\src\test\net_tests.cpp(146): Entering test case "caddrdb_read_corrupted"
unknown location(0): fatal error: in "net_tests/caddrdb_read_corrupted": stack overflow
MarcoFalke referenced this in commit fb7726e56d on Nov 15, 2020
DrahtBot added the label Needs rebase on Nov 15, 2020
sipsorcery
commented at 11:53 AM on November 15, 2020:
member
From past experience the msvc compiler can be quite aggressive regarding access to uninitialised/unallocated memory on debug builds. The unit test failure on caddrdb_read_corrupted is likely due to a debug-only assert.
The choices that occur to me are:
Continue building as a Release build and update the pre-compiled Qt libraries for VS2019 v16.8.1.
Pros:
Unit tests will pass
Cons:
The same ABI incompatibility is likely to occur again for a future VS minor release. In the time Bitcoin Core has been using Appveyor (approx. 2 years I think) this is the first case.
New Qt 5.9.8 build required.
Switch to a Debug build.
Pros;
ABI compatibility for VS 2019 minor releases should be preserved since debug builds do not use compiler optimisation flags which are only guaranteed to be compatible for libraries built with identical Visual Studio versions.
Cons:
Need to fix or disable unit tests causing debug asserts.
Switch appveyor build from Release to Debug to avoid ABI incompatibilites between vcpkg dependencies and the pre-built Qt binaries.92bf963f2f
sipsorcery force-pushed on Nov 15, 2020
DrahtBot removed the label Needs rebase on Nov 15, 2020
sidhujag referenced this in commit b03c13d128 on Nov 15, 2020
decryp2kanon
commented at 7:51 AM on November 16, 2020:
contributor
But why build failed?
decryp2kanon
commented at 7:51 AM on November 16, 2020:
contributor
C:\projects\bitcoin\src\test\net_tests.cpp(86): Leaving test suite "net_tests"; testing time: 140513us
Test is aborted
Leaving test module "Bitcoin Core Test Suite"; testing time: 1089996937us
*** 1 failure is detected in the test module "Bitcoin Core Test Suite"
Detected memory leaks!
sipsorcery renamed this: Switch appveyor build from Release to Debug WIP: Switch appveyor build from Release to Debug on Nov 16, 2020
sipsorcery
commented at 8:02 PM on November 23, 2020:
member
Closing this PR as I've managed to get the msvc release build working again. Will open a new PR for that.
sipsorcery closed this on Nov 23, 2020
sipsorcery referenced this in commit ebf489bc0c on Nov 23, 2020
sipsorcery referenced this in commit cb2cf4faba on Nov 26, 2020
sipsorcery referenced this in commit 6164bb2cfb on Nov 26, 2020
sipsorcery referenced this in commit 8b99e609e7 on Dec 2, 2020
laanwj referenced this in commit 3fa6a9fc8c on Dec 3, 2020
sidhujag referenced this in commit e754836a3f on Dec 3, 2020
MarcoFalke referenced this in commit 249d61a382 on Dec 16, 2020
hebasto referenced this in commit 55980f8d63 on Dec 16, 2020
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-05-02 03:14 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me