Commit Graph

23628 Commits

Author SHA1 Message Date
UdjinM6
cc2479ab0c
fix: multiple 5403 followups (#5424)
## Issue being fixed or feature implemented
- CBLSLazyWrapper is doing to much and not enough at the same time
- nVersion assignment in CDeterministicMNState(Diff) is incomplete
- pubKeyOperator deserialization needs nVersion but nVersion is deser-ed
much later
- protx rpcs are implicitly converting pubKeyOperator (by forcing
nVersion=2), they shouldn't do that

## What was done?
pls see individual commits

## How Has This Been Tested?
- [x] run tests locally 
- [x] reindex on testnet:
  - [x] with and without `--assumevalid=0` to the tip
  - [x] with 19.1 almost to the forkpoint, then with this version
- [x] reindex on mainnet:
  - [x] with and without `--assumevalid=0` to the tip
  - [x] with 19.1 to height 1100000+, then with this version

## Breaking Changes
might need reindexing if you were running develop on testnet already

## Checklist:
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-06-11 10:00:10 +03:00
UdjinM6
5e18a7f75d
Merge pull request #5410 from UdjinM6/fix_dmnl_cache_issues
fix: resolve two DMNL cache issues
2023-06-11 09:57:30 +03:00
UdjinM6
86e8556ecc fix: adjust llmq_max_blocks() 2023-06-11 09:57:09 +03:00
UdjinM6
35b0d5f7c8 fix: simplify/fix CleanupCache logic
tip: it was originally designed to be called for every block but 4743 changed that so the old logic no longer applies.
the second condition: well, it's just wrong.
2023-06-11 09:57:09 +03:00
UdjinM6
599fd87723
feat: use m_protxHash instead of masternodeOutpoint for hashing dsq and dstx after v19 activation (#5404)
## Issue being fixed or feature implemented
Should fix #5401 with minimal potential coinjoin service interruption
(~1 minute around v19 fork point) for up to date clients. Fully
backwards compatible prior to v19 activation. Old clients won't be able
to mix after v19 activation though until they implement similar changes.
_EDIT: Actually, this is already the case cause bls sigs are going to
change too._ And I think we should also be able to finally drop
`masternodeOutpoint` from `CCoinJoinQueue` and `CCoinJoinBroadcastTx`
once v19 is active because of that which would be a nice bonus.

cc @HashEngineering

## What was done?
re-use v19 activation to switch `GetSignatureHash` logic

## How Has This Been Tested?
mixing on mainnet

## Breaking Changes
mixing won't work on current testnet until MNs are updated 

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-06-11 00:41:02 -05:00
PastaPastaPasta
12d50c806d
Merge pull request #5421 from PastaPastaPasta/develop-trivial-2023-06-07
backport: trivial backports June 8th
2023-06-10 17:41:01 -05:00
Andrew Chow
8f5ffef6b4 Merge bitcoin/bitcoin#27172: guix: switch to some minimal versions of packages in our manifest
2c9eb4afe1f583aafa552b2711b149f17ef8320f guix: use cmake-minimal over cmake (fanquake)
1475515312856afe3f19a95f2c32bc80c7c54484 guix: use coreutils-minimal over coreutils (fanquake)
444562141504ff7f0bb071d6e7bf7f511517e372 guix: use bash-minimal over bash (fanquake)

Pull request description:

  Minimal versions of the same packages, that should still be sufficient for our use:

  > (define-public bash-minimal
    ;; A stripped-down Bash for non-interactive use.

  > (define-public coreutils-minimal
    ;; Coreutils without its optional dependencies.

  > ;;; This minimal variant of CMake does not include the documentation.  It is
  ;;; used by the cmake-build-system.
  (define-public cmake-minimal

ACKs for top commit:
  TheCharlatan:
    ACK 2c9eb4afe1f5
  Sjors:
    tACK 2c9eb4afe1f583aafa552b2711b149f17ef8320f
  achow101:
    ACK 2c9eb4afe1f583aafa552b2711b149f17ef8320f
  hebasto:
    ACK 2c9eb4afe1f583aafa552b2711b149f17ef8320f,

Tree-SHA512: f91ca9e088b8346b20c2affc80870c31640de3aedcfcc0fb98a5e82c77ef64537870b88552f26759d31d8d0956b1fd685e6c25d5acbc92f5feaececd1a7dd37e
2023-06-10 17:40:23 -05:00
fanquake
14e18f8501 Merge bitcoin/bitcoin#27361: guix: use python-minimal (3.9)
d0e571ebb187d7c4c2821f1334cb2dd4222dd8ce guix: use python-minimal (3.9) (fanquake)

Pull request description:

  This further minifies the Guix release build environment.

ACKs for top commit:
  TheCharlatan:
    ACK d0e571ebb187
  hebasto:
    ACK d0e571ebb187d7c4c2821f1334cb2dd4222dd8ce

Tree-SHA512: 0a8aa9ae861107f106c3b9c41f78ffbaf0e71e3c61f6d96e5c82415b4570b8ac85d6578d37cd0df0ec315c1c9f35fc90b281f139271ccfd15a1495ba76166789
2023-06-10 17:40:23 -05:00
MarcoFalke
542fbdc545 Merge bitcoin/bitcoin#23128: doc: Remove TODO 'exclude peers with download permission'
2f97c1180b7eba2c48683a553ca166eba84e14c6 doc: Remove TODO 'exclude peers with download permission' (Douglas Chimento)

Pull request description:

  Following from PR https://github.com/bitcoin/bitcoin/pull/23109
  The [TODO](https://github.com/bitcoin/bitcoin/blob/master/src/net.cpp#L2872)  is no longer necessary.
  Removing it to  prevent future confusion.

Top commit has no ACKs.

Tree-SHA512: c2f4c3eae951d13d623e1b4bd9315804ec33473e501367f89edae80fa446674edc71549e145f058fe7126b8588790dc895d6ea3dfb4347ceeca61f5e5f2f95cc
2023-06-10 17:40:23 -05:00
fanquake
c8ca9cd35a Merge bitcoin/bitcoin#23464: doc: remove mention of system univalue from build-unix.md
78e36700a0b42f558af2be567eab9fbf6c9ef0b1 doc: remove mention of system univalue (fanquake)

Pull request description:

  Should have been part of #22646.

ACKs for top commit:
  hebasto:
    ACK 78e36700a0b42f558af2be567eab9fbf6c9ef0b1

Tree-SHA512: a5d54d73526033825ce4467cc3c57c26064739eef546556975a4c6f1f5bea84004640acd426734f90f98bc7a76ec837d716aa31167f2bdce7ee3887ad92e3152
2023-06-10 17:40:23 -05:00
W. J. van der Laan
1965109429 Merge bitcoin/bitcoin#22420: doc: Specifiy how to set the value of TORGROUP
59840846104306febecf185f03a56c821ebb8642 Specifies how to set the value of TORGROUP (lsilva01)

Pull request description:

  This change just makes it more explicit how to assign the value to the TORGROUP variable.

ACKs for top commit:
  laanwj:
    ACK 59840846104306febecf185f03a56c821ebb8642
  Zero-1729:
    Concept ACK 59840846104306febecf185f03a56c821ebb8642

Tree-SHA512: af5cc0f87fa309201b5937a2741dea9374eafc09e84664ca138669c1827ce44fe6d25e3853d53ed2c838321aa4b28c6fd9d8dbe23f7194fdd6559d49453416e4
2023-06-10 17:40:23 -05:00
fanquake
e9490c8b94 Merge bitcoin/bitcoin#22631: doc: Add packages that provide Qt Wayland plugin for Linux
5559cf1460c98eb6998d99784f27de85f95f14d0 doc: Add packages that provide Qt Wayland plugin for Linux (Hennadii Stepanov)

Pull request description:

  When building on Linux using system packages (without depends) the support of Wayland protocol for modern desktop environments (e.g., GNOME, KDE Plasma) depends on the presence of the installed Qt Wayland plugin which is loaded dynamically at the GUI startup.

  1. On Debian/Ubuntu, the [`qtwayland5`](https://packages.ubuntu.com/focal/qtwayland5) package is required (also see this [patch](https://codereview.qt-project.org/c/qt/qtbase/+/231227), and this [doc](https://wiki.debian.org/Wayland#Qt_.28supported_since_5.29)):
  - with `qtwayland5` installed:
  ```
  $ QT_QPA_PLATFORM="wayland;xcb" ./src/qt/bitcoin-qt -printtoconsole
  Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
  2021-08-05T09:51:31Z Bitcoin Core version v22.99.0-c4b42aa4ffa1 (release build)
  2021-08-05T09:51:31Z Qt 5.11.3 (dynamic), plugin=wayland (dynamic)
  2021-08-05T09:51:31Z No static plugins.
  2021-08-05T09:51:31Z Style: fusion / QFusionStyle
  2021-08-05T09:51:31Z System: Debian GNU/Linux 10 (buster), x86_64-little_endian-lp64
  ...
  ```

  - without `qtwayland5`:
  ```
  $ QT_QPA_PLATFORM="wayland;xcb" ./src/qt/bitcoin-qt -printtoconsole
  Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
  qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
  2021-08-05T09:48:55Z Bitcoin Core version v22.99.0-c4b42aa4ffa1 (release build)
  2021-08-05T09:48:55Z Qt 5.11.3 (dynamic), plugin=xcb (dynamic)
  2021-08-05T09:48:55Z No static plugins.
  2021-08-05T09:48:55Z Style: fusion / QFusionStyle
  2021-08-05T09:48:55Z System: Debian GNU/Linux 10 (buster), x86_64-little_endian-lp64
  2021-08-05T09:48:55Z Screen: XWAYLAND0 1920x1200, pixel ratio=1.0
  ...
  ```

  2. On Fedora, the [`qt5-qtwayland`](https://fedora.pkgs.org/34/fedora-x86_64/qt5-qtwayland-5.15.2-4.fc34.x86_64.rpm.html) package is required:
  - with `qt5-qtwayland` installed:
  ```
  $ ./src/qt/bitcoin-qt -printtoconsole
  QSocketNotifier: Can only be used with threads started with QThread
  2021-08-05T08:41:03Z Bitcoin Core version v22.99.0-c4b42aa4ffa1 (release build)
  2021-08-05T08:41:03Z Qt 5.15.2 (dynamic), plugin=wayland (dynamic)
  2021-08-05T08:41:03Z No static plugins.
  2021-08-05T08:41:03Z Style: fusion / QFusionStyle
  2021-08-05T08:41:03Z System: Fedora 34 (Workstation Edition), x86_64-little_endian-lp64
  ...
  ```
  - without `qt5-qtwayland`:
  ```
  $ ./src/qt/bitcoin-qt -printtoconsole
  qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
  2021-08-05T07:50:41Z Bitcoin Core version v22.99.0-c4b42aa4ffa1 (release build)
  2021-08-05T07:50:41Z Qt 5.15.2 (dynamic), plugin=xcb (dynamic)
  2021-08-05T07:50:41Z No static plugins.
  2021-08-05T07:50:41Z Style: fusion / QFusionStyle
  2021-08-05T07:50:41Z System: Fedora 34 (Workstation Edition), x86_64-little_endian-lp64
  2021-08-05T07:50:41Z Screen: XWAYLAND0 1920x1200, pixel ratio=1.0
  ...
  ```

ACKs for top commit:
  fanquake:
    ACK 5559cf1460c98eb6998d99784f27de85f95f14d0 - I don't think there's any harm to point this out in our Linux build docs. It's not changing our binaries or dependencies in any way.

Tree-SHA512: e26856586b29540b55c12905a091408e95ce59ea2c952520086b41138c955fba1b78e95e868f75205af07c6eccae51644177f7165d837ae058aaf0c0abf3ccf5
2023-06-10 17:40:23 -05:00
fanquake
a0984bb07c Merge bitcoin/bitcoin#22576: doc: Update high-level addrman description
036d7eadf5dd0e06e0734a5d78dbe28f4bfaa07f doc: Correct description of CAddrMan::Create() (Amiti Uttarwar)
318176aff1ded36d1fbc5977f288ac3bac1d8712 doc: Update high-level addrman description (Martin Zumsande)

Pull request description:

  The high-level description of `addrman` has outdated information with respect to the eviction behavior, both for the New and Tried tables (at least since #5941) - this has confused me in the past.

  This PR corrects this and also adds basic info about the bucket size and position.

ACKs for top commit:
  amitiuttarwar:
    reACK 036d7eadf5dd0e06e0734a5d78dbe28f4bfaa07f
  jnewbery:
    ACK 036d7eadf5dd0e06e0734a5d78dbe28f4bfaa07f

Tree-SHA512: 3f0635d765f5e580a1fae31187742a833cef66ef2286d40eeb28f2253521260038e16e5f1a65741464a2ddfdbeb5c0f1bc38bf73841e600639033d59c3c534e4
2023-06-10 17:40:23 -05:00
MarcoFalke
ddcaadd7a8 Merge bitcoin/bitcoin#22249: test: kill process group to avoid dangling processes when using --failfast
451b96f7d2796d00eabaec56d831f9e9b1a569cc test: kill process group to avoid dangling processes (S3RK)

Pull request description:

  This is an alternative to #19281

  This PR fixes a problem when after test failure with `--failfast` option there could be dangling nodes. The nodes will continue to occupy rpc/p2p ports on the machine and will cause further test failures.

  If there are any dangling nodes left at the end of the test run we kill the whole process group.
  Pros: the operations is immediate and won't lead to CI timeout
  Cons: the test_runner process is also killed and exit code is 137

  Example output:
  ```
  ...
  Early exiting after test failure

  TEST                           | STATUS    | DURATION

  rpc_decodescript.py            | ✓ Passed  | 2 s
  rpc_deprecated.py              | ✓ Passed  | 2 s
  rpc_deriveaddresses.py         | ✓ Passed  | 2 s
  rpc_dumptxoutset.py            | ✖ Failed  | 2 s

  ALL                            | ✖ Failed  | 8 s (accumulated)
  Runtime: 4 s

  Killed: 9
  > echo $?
  137
  ```

ACKs for top commit:
  MarcoFalke:
    review ACK 451b96f7d2796d00eabaec56d831f9e9b1a569cc
  aitorjs:
    ACK 451b96f7d2796d00eabaec56d831f9e9b1a569cc. Manual testing with and without **--failfast**.

Tree-SHA512: 87e510a1411b9e7571e63cf7ffc8b9a8935daf9112ffc0f069d6c406ba87743ec439808181f7e13cb97bb200fad528589786c47f0b43cf3a2ef0d06a23cb86dd
2023-06-10 17:40:23 -05:00
MarcoFalke
d117a65f3a Merge #21585: Fix assumeutxo crash due to truncated file
fa73ce6e653d00824eb68f772fd29b7f8fb93d84 Fix assumeutxo crash due to truncated file (MarcoFalke)

Pull request description:

ACKs for top commit:
  jamesob:
    ACK fa73ce6e653d00824eb68f772fd29b7f8fb93d84
  ryanofsky:
    Code review ACK fa73ce6e653d00824eb68f772fd29b7f8fb93d84. Easy fix. It seems like this could have been caught in review, though.

Tree-SHA512: 3a98687c386e3995114ddf0ad7194fadd9520989290681ef703b578e3ca21aee51eadfb83aa38a489bac13d12709ea137b9b184b08e5bfa2919cca177aab90be
2023-06-10 17:40:23 -05:00
Wladimir J. van der Laan
487395c8f1 Merge #20906: contrib: embed C++11 patch in install_db4.sh
92370033a2606ee88f4d080193e0bf6da481dc2e contrib: embed C++11 patch in install_db4.sh (jackielove4u)

Pull request description:

  This is a continuation of https://github.com/bitcoin/bitcoin/pull/20665.

  Closes #20722.

ACKs for top commit:
  laanwj:
    ACK 92370033a2606ee88f4d080193e0bf6da481dc2e
  fanquake:
    ACK 92370033a2606ee88f4d080193e0bf6da481dc2e.

Tree-SHA512: ebfd16f5301158de1acc1b8eeca43b3d94f0a6d438832133a30648e5e8a88268b4af983be0bb57f3018e3af8459f32f0de676c1b4e8942e199a4497c776631c5
2023-06-10 17:40:23 -05:00
UdjinM6
c51ba63646
ci: more checksums in guix workflow (#5417)
## Issue being fixed or feature implemented
1. not all binaries were covered with checksums
2. there were no checksums for archives

## What was done?
add missing checksums, also group and sort them

## How Has This Been Tested?
run commands after local guix build
see this PR results

## Breaking Changes
n/a

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-06-09 13:19:01 -05:00
PastaPastaPasta
66dfd36134
Merge pull request #5355 from kittywhiskers/guix_p1
backport: merge bitcoin#18434, #21664, #20608, #21871, #21255, #21428, #21889, #22070, #22392, #23535, #23811, #23838, #23839, #23148, #20422, #24561, #26075, #25458, partial #22381 (guix backports: part 1)
2023-06-07 22:30:33 -05:00
Kittywhiskers Van Gogh
3c8088f2e8 merge bitcoin#26075: remove 32bit linux code from release scripts 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
ecb9ff8062 merge bitcoin#25458: parallelize LIEF build 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
e91a62be3c merge bitcoin#24561: use LIEF 0.12.0 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
77539574a7 merge bitcoin#20422: mac deployment unification 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
f2a5b472fd merge bitcoin#23148: Fix guix linker-loader path and add check_ELF_interpreter 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
e39a1de731 merge bitcoin#23839: build with and test for control flow instrumentation on x86_64 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
38c3bd0b61 merge bitcoin#23838: make security checks architecture independent 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
bd2135fbd5 merge bitcoin#23811: match on EXE_FORMATS rather than name string 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
1e9278ea11 merge bitcoin#23535: check for control flow instrumentation 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
110dbf82e8 merge bitcoin#22392: use LIEF for ELF security & symbol checks 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
d28ba33136 build: run backwards compatibility symbol checks on all builds
courtesy of https://github.com/bitcoin/bitcoin/pull/22405
2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
8dab7027e3 merge bitcoin#22070: don't use cf-protection when targeting arm-apple-darwin 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
cdedbea0b4 merge bitcoin#21889: check for control flow instrumentation 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
853583019b fix: add exception for 32-bit ARM builds which need glibc 2.28
note: focal uses glibc 2.31, which is used by gitian, so our build
      environment has support for a version of glibc that far exceeds
      our maximum supported version (2.28). this could be remedied by
      switching to debian buster (oldstable) which uses 2.28.
2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
24a6642b6f partial bitcoin#22381: Test security-check sanity before performing them (with macOS)
excludes:
- d6ef3543ae16847d5a91fa9271acee9bd2164b32
2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
d4a8d49e56 merge bitcoin#21428: Cleanup in test-{security,symbol}-check.py 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
1be3afd82c merge bitcoin#21255: run test-symbol-check for RISC-V 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
ef65f610bb merge bitcoin#21871: add checks for minimum required OS versions 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
067d4a4541 merge bitcoin#20608: add symbol check test for PE binaries 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
ef9300ad63 merge bitcoin#21664: use LIEF for macOS and Windows symbol & security checks 2023-06-07 14:42:02 +05:30
UdjinM6
101cb67433 fix: move test-security-check call 2023-06-07 14:41:27 +05:30
Kittywhiskers Van Gogh
0024743fa3 fix: disable security tests on win64 CI build 2023-06-07 14:40:37 +05:30
Kittywhiskers Van Gogh
994fb5739c merge bitcoin#18434: add a test-security target and run it in CI 2023-06-07 14:40:37 +05:30
PastaPastaPasta
ae9abb944c
Merge pull request #5379 from knst/bc-bp-valgrind-1
backport: bitcoin#17725, #18304, #18392, #18430, #18438, #18441, #18477, #18562, #18569, #18683, #18899, #18912, #19159, #19669, partial #14794 - asan/valgrind CI changes
2023-06-07 01:53:14 -05:00
Konstantin Akimov
844ede2eb2 fix: disable ASAN because currently it fails with unknown memory leaks
```
********* Finished testing of TrafficGraphDataTests *********
~BitcoinApplication : Stopping thread
~BitcoinApplication : Stopped thread
==28475==WARNING: invalid path to external symbolizer!
==28475==WARNING: Failed to use and restart external symbolizer!
=================================================================
==28475==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 520 byte(s) in 13 object(s) allocated from:
    #0 0x55fc08e2353d  (/builds/dashpay/dash/build-ci/dashcore-linux64_asan/src/qt/test/test_dash-qt+0x779153d)
    #1 0x7f7a7724bd85  (<unknown module>)
Direct leak of 432 byte(s) in 2 object(s) allocated from:
    #0 0x55fc08e2353d  (/builds/dashpay/dash/build-ci/dashcore-linux64_asan/src/qt/test/test_dash-qt+0x779153d)
    #1 0x55fc0dc63b63  (/builds/dashpay/dash/build-ci/dashcore-linux64_asan/src/qt/test/test_dash-qt+0xc5d1b63)
    #2 0x8604597ff0e8feff  (<unknown module>)
Direct leak of 176 byte(s) in 2 object(s) allocated from:
    #0 0x55fc08e52cad  (/builds/dashpay/dash/build-ci/dashcore-linux64_asan/src/qt/test/test_dash-qt+0x77c0cad)
    #1 0x55fc0d822372  (/builds/dashpay/dash/build-ci/dashcore-linux64_asan/src/qt/test/test_dash-qt+0xc190372)
Direct leak of 66 byte(s) in 3 object(s) allocated from:
    #0 0x55fc08e2353d  (/builds/dashpay/dash/build-ci/dashcore-linux64_asan/src/qt/test/test_dash-qt+0x779153d)
    #1 0x7f7a77243633  (<unknown module>)
Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x55fc08e2353d  (/builds/dashpay/dash/build-ci/dashcore-linux64_asan/src/qt/test/test_dash-qt+0x779153d)
    #1 0x7f7a77245449  (<unknown module>)
```
2023-06-07 01:50:18 -05:00
Konstantin Akimov
c35746088e fix: get rid UB from integer overflow in transactionview 2023-06-07 01:50:18 -05:00
Konstantin Akimov
6b87c21f75 fix: rid of UB in qt/rpcconsole.cpp 2023-06-07 01:50:18 -05:00
Konstantin Akimov
028281ae15 fix: add supression for integer conversion in crc32 library 2023-06-07 01:50:18 -05:00
Konstantin Akimov
a3c59cc77a partial merge bitcoin#14794: Add AddressSanitizer (ASan) Travis build 2023-06-07 01:50:18 -05:00
fanquake
50cac39d9d Merge #19669: contrib: Fixup valgrind suppressions file
fa5288cf5c50d014f046b7741f6da69529037933 contrib: Fixup valgrind suppressions file (MarcoFalke)

Pull request description:

  I am observing this one on bionic with system boost::fs:

  ```
  {
     <insert_a_suppression_name_here>
     Memcheck:Cond
     fun:__wcsnlen_avx2
     fun:wcsnrtombs
     fun:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_
     fun:_ZN5boost10filesystem11path_traits7convertEPKwS3_RNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt7codecvtIwc11__mbstate_tE
     fun:_ZN5boost10filesystem6detail11unique_pathERKNS0_4pathEPNS_6system10error_codeE
  ...

ACKs for top commit:
  practicalswift:
    ACK fa5288cf5c50d014f046b7741f6da69529037933 -- patch looks correct

Tree-SHA512: 067e10e932a7f5b13e516134e0cfd3030265c1b582cdfde1cea97042e31399aa40c4590710a39429854c68ad703a0ae9f0b06e9af4cdd81e3cacb042939a84b6
2023-06-07 01:50:18 -05:00
MarcoFalke
f935747dcc Merge #18912: ci: Run fuzz testing test cases (bitcoin-core/qa-assets) under valgrind to catch memory errors
3f686d1a286f88af7baa17c0c9dc439559a66e81 ci: Run fuzz testing test cases (bitcoin-core/qa-assets) under valgrind to catch memory errors (practicalswift)

Pull request description:

  Re-introduce the Travis valgrind fuzzing job which was removed by PR #18899. The removal seems to have been made by accident since the removed job does not appear to be the source of the problem the PR set out to fix.

  ---

  Run fuzz testing [test cases (bitcoin-core/qa-assets)](https://github.com/bitcoin-core/qa-assets) under `valgrind`.

  This would have caught `util: Avoid potential uninitialized read in FormatISO8601DateTime(int64_t) by checking gmtime_s/gmtime_r return value` (#18162) and similar cases.

  This fuzzing job was introduced in #18166.

Top commit has no ACKs.

Tree-SHA512: 6e2681eb0ade6af465c5ea91ac163a337465d2130ec9880ba57a36d9af7c25682734586a32977dc25972d4f78483f339d680ea48c0ae13cf1dfa52b617aae401
2023-06-07 01:50:18 -05:00
MarcoFalke
04a707aa47 Merge #18683: ci: Disable valgrind functionl tests on forked repos to avoid timeouts
faceeae49ae85fb644996fedb970ad9d0e297ca5 ci: Disable valgrind functionl tests on forked repos to avoid timeouts (MarcoFalke)

Pull request description:

  Allows people to fork our repo and run the tests again

  Also print more cache stats

ACKs for top commit:
  hebasto:
    ACK faceeae49ae85fb644996fedb970ad9d0e297ca5, tested on my own repo: https://travis-ci.org/github/hebasto/bitcoin/jobs/676257500

Tree-SHA512: 50e44edf94fcb997438eeaf7308b2b58a0854141ecb1fbb0ba7bf5ed662f19b60899f966f579cca90ad5e789234d0e90122d8c2c854da70339058adc3a475fa6
2023-06-07 01:50:18 -05:00