WIP: Switch appveyor build from Release to Debug #20392

pull sipsorcery wants to merge 1 commits into bitcoin:master from sipsorcery:msvc-appveyor-debug-build changing 1 files +1 −1
  1. 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.

  2. sipsorcery commented at 0:40 am on November 15, 2020: member
    @hebasto fyi.
  3. DrahtBot added the label Tests on Nov 15, 2020
  4. hebasto commented at 7:02 am on November 15, 2020: member

    https://ci.appveyor.com/project/DrahtBot/bitcoin/builds/36314660#L506:

    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
    
  5. MarcoFalke referenced this in commit fb7726e56d on Nov 15, 2020
  6. DrahtBot added the label Needs rebase on Nov 15, 2020
  7. 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.
  8. Switch appveyor build from Release to Debug to avoid ABI incompatibilites between vcpkg dependencies and the pre-built Qt binaries. 92bf963f2f
  9. sipsorcery force-pushed on Nov 15, 2020
  10. DrahtBot removed the label Needs rebase on Nov 15, 2020
  11. sidhujag referenced this in commit b03c13d128 on Nov 15, 2020
  12. decryp2kanon commented at 7:51 am on November 16, 2020: contributor
    But why build failed?
  13. decryp2kanon commented at 7:51 am on November 16, 2020: contributor

    image

    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!
    
  14. sipsorcery renamed this:
    Switch appveyor build from Release to Debug
    WIP: Switch appveyor build from Release to Debug
    on Nov 16, 2020
  15. 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.
  16. sipsorcery closed this on Nov 23, 2020

  17. sipsorcery referenced this in commit ebf489bc0c on Nov 23, 2020
  18. sipsorcery referenced this in commit cb2cf4faba on Nov 26, 2020
  19. sipsorcery referenced this in commit 6164bb2cfb on Nov 26, 2020
  20. sipsorcery referenced this in commit 8b99e609e7 on Dec 2, 2020
  21. laanwj referenced this in commit 3fa6a9fc8c on Dec 3, 2020
  22. sidhujag referenced this in commit e754836a3f on Dec 3, 2020
  23. MarcoFalke referenced this in commit 249d61a382 on Dec 16, 2020
  24. hebasto referenced this in commit 55980f8d63 on Dec 16, 2020
  25. DrahtBot locked this on Feb 15, 2022

github-metadata-mirror

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-10-05 04:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me