sipsorcery
commented at 0: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 0:40 am on November 15, 2020:
member
0C:\projects\bitcoin\src\test\net_tests.cpp(146): Entering test case "caddrdb_read_corrupted"
1unknown 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
0C:\projects\bitcoin\src\test\net_tests.cpp(86): Leaving test suite "net_tests"; testing time: 140513us
1Test is aborted
2Leaving test module "Bitcoin Core Test Suite"; testing time: 1089996937us
3*** 1 failure is detected in the test module "Bitcoin Core Test Suite"
4Detected 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: 2024-11-17 15:12 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me