Skip to content

backport: bitcoin#18216, #18778, #18799, #18887, #18905, #18929, #19008, #19014, #19368, #19427, partial #20182 - #5722

Merged
PastaPastaPasta merged 13 commits into
dashpay:developfrom
knst:bp-v21-p3
Jan 7, 2024
Merged

backport: bitcoin#18216, #18778, #18799, #18887, #18905, #18929, #19008, #19014, #19368, #19427, partial #20182#5722
PastaPastaPasta merged 13 commits into
dashpay:developfrom
knst:bp-v21-p3

Conversation

@knst

@knstknst commented Nov 20, 2023

Copy link
Copy Markdown
Collaborator

@knstknst added this to the 20.1 milestone Nov 20, 2023
@knst
knstforce-pushed the bp-v21-p3 branch 5 times, most recently from 8c504f8 to 6143715CompareNovember 27, 2023 07:32
@knstknst changed the title backport: bitcoin#18216, #18735, #18778, #18799, #18887, #18905, #18929, #19008, #19014, #19041, #20182, #20413backport: bitcoin#18216, #18778, #18799, #18887, #18905, #18929, #19008, #19014, #20182Nov 27, 2023
@knstknst changed the title backport: bitcoin#18216, #18778, #18799, #18887, #18905, #18929, #19008, #19014, #20182backport: bitcoin#18216, #18778, #18799, #18887, #18905, #18929, #19008, #19014, #19368, #19427, #20182Nov 27, 2023
@knst
knst requested review from PastaPastaPasta and UdjinM6 and removed request for PastaPastaPastaNovember 27, 2023 11:52
@knst
knst marked this pull request as ready for review November 27, 2023 11:52
Comment threadconfigure.ac Outdated
Comment threadci/test/00_setup_env_native_tsan.sh Outdated
Comment threadci/test/00_setup_env_native_tsan.sh Outdated
Comment threadconfigure.ac Outdated
@knst
knst marked this pull request as draft November 30, 2023 09:02
@knst
knstforce-pushed the bp-v21-p3 branch 2 times, most recently from 323df18 to b76a7dcCompareDecember 11, 2023 20:27
@knstknst changed the title backport: bitcoin#18216, #18778, #18799, #18887, #18905, #18929, #19008, #19014, #19368, #19427, #20182backport: bitcoin#18216, #18778, #18799, #18887, #18905, #18929, #19014, #19368, #19427, #20182, partial #19008Dec 11, 2023
@knstknst changed the title backport: bitcoin#18216, #18778, #18799, #18887, #18905, #18929, #19014, #19368, #19427, #20182, partial #19008backport: bitcoin#18216, #18778, #18799, #18887, #18905, #18929, #19008, #19014, #19368, #19427, partial #20182Dec 11, 2023
@knst
knst marked this pull request as ready for review December 12, 2023 07:21
@knst
knst requested a review from UdjinM6December 12, 2023 10:53
UdjinM6
UdjinM6 previously approved these changes Dec 12, 2023

@UdjinM6UdjinM6 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK

@knst

knst commented Dec 26, 2023

Copy link
Copy Markdown
CollaboratorAuthor

ping @PastaPastaPasta

PastaPastaPasta
PastaPastaPasta previously approved these changes Jan 6, 2024

@PastaPastaPastaPastaPastaPasta left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK for merging via merge commit; contingent on CI

@knst

knst commented Jan 6, 2024

Copy link
Copy Markdown
CollaboratorAuthor

@knst knst force-pushed the bp-v21-p3 branch from 4fc5142 to c3c7154

required due to new introduced code with signed/unsiged comparision after rebase.

@UdjinM6UdjinM6 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

re-utACK

knstand others added 13 commits January 6, 2024 19:30
8c705ff travis: Remove s390x (MarcoFalke)
Pull request description:
Fixesbitcoin#18868Fixesbitcoin#18016
Top commit has no ACKs.
Tree-SHA512: 1007b761c7e01dd2b75aa34e92e01a92a84a100c0a3a53863c755d93b2438a74601e3f2083919b8a9cfc92fb104d0c8415fad3f6c9504c76b02ad2e9712660c0
6853727 build: Enable -Werror=sign-compare (Ben Woosley)
eac6a30 refactor: Rework asmap Interpret to avoid ptrdiff_t (Ben Woosley)
df37377 test: Fix outstanding -Wsign-compare errors (Ben Woosley)
Pull request description:
Disallowing sign-comparison mismatches can help to prevent the introduction of overflow and interpretation bugs.
In this case, ~all~ most existing violations are in the tests, and most simply required annotating the literal as unsigned for comparison.
This was previously prevented by violations in leveldb which were fixed upstream and merged in bitcoin#17398. You can test that by building this branch against: 22d1118 vs 75fb37c
ACKs for top commit:
fjahr:
re-ACK 6853727
practicalswift:
ACK 6853727
Tree-SHA512: 14b5daa38c496fb51548feb30fb4dd179e6f76a8d355f52bc8e2a18f2f9340f0bc98dcf36d8b3d6521045d013891c3103749a4eda88ceef00202a6a0cf93f73c
a30b0a2 build: enable -Werror=gnu (Vasil Dimov)
Pull request description:
Stop the build if a warning is emitted due to `-Wgnu` and
`--enable-werror` has been used. As usual - this would help notice such
a warning that is about to be introduced in new code.
This is a followup to
bitcoin#18088 build: ensure we aren't using GNU extensions
ACKs for top commit:
practicalswift:
ACK a30b0a2
Empact:
ACK bitcoin@a30b0a2
Tree-SHA512: f81b71cf3ee4db88b6f664c571075e0d30800a604f067f44273f256695a1dea533779db2ac859dd0a4cd8b66289c3e45f4aff1cfadfa160a1c354237167b05e2
fac24de ci: Run functional tests on mac again (MarcoFalke)
Pull request description:
ACKs for top commit:
hebasto:
ACK fac24de, verified travis build log.
Tree-SHA512: 406282a7ac03e5c193830b727366c7b1350639f1850aff951bf7ddd4b0c3e3ffb396b950ccb3a64ddc59500fa2739766f3c34806b4d144bc4535bb2bd765b959
fa72a75 ci: Document why tests can not be run on mac (MarcoFalke)
Pull request description:
Fixesbitcoin#18794
Top commit has no ACKs.
Tree-SHA512: 297652eda412aa8cf7255e20a6f294d22773dad8637a3d7b5204f3b638e911ce5b2e40e85f81395a34c1b5a5b497665944c2d6ea17c70c30c0c9e0ab553f956e
…zz test_runner
cbd6611 Set LD_LIBRARY_PATH consistently in travis tests (Russell Yanofsky)
fa35c34 Remove unused ci configs that have been moved elsewhere (MarcoFalke)
3333cb9 fuzz: Pass down MAKEJOBS to test_runner (MarcoFalke)
Pull request description:
Just how `MAKEJOBS` is passed down to the functional test `test_runner`, do the same for the fuzz `test_runner`.
Also includes a commit to remove unused config files, which have been moved elsewhere.
Top commit has no ACKs.
Tree-SHA512: 32557102c9e40599b432aeb004c8427e8fbb07cdf4048050cdc8241d1b029aaad306b1131007eeca8315a4f71c38a7efbb833310e056cd11b835676cd19b8902
faf5521 ci: Set DEBIAN_FRONTEND=noninteractive (MarcoFalke)
fa006ca ci: tsan on clang-9 (MarcoFalke)
Pull request description:
Bump the compiler runtime library that includes the sanitizers from clang-8 to clang-9 to get a more recent version. Also, bump the system packages from xenial to bionic to test packages closer to what is commonly used in production.
The second commit is needed to install the `tzdata` package, which is missing on some operating systems. See https://travis-ci.org/github/MarcoFalke/bitcoin-core/jobs/688455828#L1727
ACKs for top commit:
hebasto:
ACK faf5521
practicalswift:
ACK faf5521 -- patch looks correct and Travis is happy
Tree-SHA512: aa38fdae5f716966a83a21d5f7c121675cf7d663148ab3baa065142c8b3850bcd4bf88526d7da0fa51f5e08f2c317b537f950fcc9eb1e69fdacb0eac8863e1c6
…h test_framework option
fad798b test: Default --previous-releases to false if dir is empty (MarcoFalke)
faf1c3c test: Replace TEST_PREVIOUS_RELEASES env var with test_framework option (MarcoFalke)
Pull request description:
The "auto-detection" feature is kept in place, but making it an option allows to properly document it. For example, on my machine I get:
```
$ ./test/functional/wallet_disable.py --help | grep previous-releases
--previous-releases Force test of previous releases (default: False)
ACKs for top commit:
Sjors:
re-tACK fad798b
Tree-SHA512: a7377d0d5378be0a50be278d76396cc403583617b5fc43467773eee706df698acf3f4e67651491183b9b43a8e1816b052e4c17b90272b7ec4b6ac134ad811400
…h BSD/macOS
3a7e794 test: retry when write to a socket fails on macOS (Ivan Metlushko)
8cf9d15 test: use pgrep for better compatibility (Ivan Metlushko)
Pull request description:
Rationale: a few minor changes to make experience of running tests on macOS a bit better
1.`pidof` is not available on BSD/macOS, while `pgrep` is present on BSD, Linux and macOS
2. Add retry as a workaround for a weird behavior when writing to a socket (https://bugs.python.org/issue33450). Stacktrace attached
Man pages:
https://www.freebsd.org/cgi/man.cgi?query=pgrep&apropos=0&sektion=1&manpath=FreeBSD+6.0-RELEASE&arch=default&format=htmlhttps://man7.org/linux/man-pages/man1/pgrep.1.html
Related to bitcoin#19281
Stacktrace example:
```
...
33/161 - feature_abortnode.py failed, Duration: 63 s
stdout:
2020-06-11T10:46:43.947000Z TestFramework (INFO): Initializing test directory /var/folders/2q/d5w9zh614r7g5c8r74ln3g400000gq/T/test_runner_₿_🏃_20200611_174102/feature_abortnode_128
2020-06-11T10:46:45.199000Z TestFramework (INFO): Waiting for crash
2020-06-11T10:47:15.921000Z TestFramework (INFO): Node crashed - now verifying restart fails
2020-06-11T10:47:47.068000Z TestFramework (INFO): Stopping nodes
[node 1] Cleaning up leftover process
stderr:
Traceback (most recent call last):
File "/Users/xxx/Projects/bitcoin/test/functional/feature_abortnode.py", line 50, in <module>
AbortNodeTest().main()
File "/Users/xxx/Projects/bitcoin/test/functional/test_framework/test_framework.py", line 142, in main
exit_code = self.shutdown()
File "/Users/xxx/Projects/bitcoin/test/functional/test_framework/test_framework.py", line 266, in shutdown
self.stop_nodes()
File "/Users/xxx/Projects/bitcoin/test/functional/test_framework/test_framework.py", line 515, in stop_nodes
node.stop_node(wait=wait)
File "/Users/xxx/Projects/bitcoin/test/functional/test_framework/test_node.py", line 318, in stop_node
self.stop(wait=wait)
File "/Users/xxx/Projects/bitcoin/test/functional/test_framework/coverage.py", line 47, in __call__
return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
File "/Users/xxx/Projects/bitcoin/test/functional/test_framework/authproxy.py", line 142, in __call__
response, status = self._request('POST', self.__url.path, postdata.encode('utf-8'))
File "/Users/xxx/Projects/bitcoin/test/functional/test_framework/authproxy.py", line 107, in _request
self.__conn.request(method, path, postdata, headers)
File "/Users/xxx/.pyenv/versions/3.5.6/lib/python3.5/http/client.py", line 1107, in request
self._send_request(method, url, body, headers)
File "/Users/xxx/.pyenv/versions/3.5.6/lib/python3.5/http/client.py", line 1152, in _send_request
self.endheaders(body)
File "/Users/xxx/.pyenv/versions/3.5.6/lib/python3.5/http/client.py", line 1103, in endheaders
self._send_output(message_body)
File "/Users/xxx/.pyenv/versions/3.5.6/lib/python3.5/http/client.py", line 936, in _send_output
self.send(message_body)
File "/Users/xxx/.pyenv/versions/3.5.6/lib/python3.5/http/client.py", line 908, in send
self.sock.sendall(data)
OSError: [Errno 41] Protocol wrong type for socket
```
ACKs for top commit:
laanwj:
ACK 3a7e794
Tree-SHA512: fefbe40ce94ab29f18bbbed2a434194b1384ffa5279b1d04db7a3708e3dd422bd9e450f1db3f95a1a851fac5a626ab533c6ebcfd7ede96f8ccae9e6f3e9fff92
fa23fbb ci: Run all tests on native mac again (MarcoFalke)
Pull request description:
They should pass again after f6072e6
ACKs for top commit:
practicalswift:
ACK fa23fbb -- Travis is happy and so am I
Tree-SHA512: 49c16b6056d4e67d12a202744e1c56fee2788830213fe4a195955ad44c6b8ecce768a591463ffa0048821959a75b6fad4178629a8866c4a26799c4c8c13e933d
…t, and document exceptions
It does not includes changes that actually enable werror by default.
But this backport is necessary to prevent compilation error on mac such as this one:
In file included from mapport.cpp:26:
In file included from /builds/dashpay/dash/depends/x86_64-apple-darwin/include/miniupnpc/miniupnpc.h:14:
/builds/dashpay/dash/depends/x86_64-apple-darwin/include/miniupnpc/upnpdev.h:27:14: error: zero size arrays are an extension [-Werror,-Wzero-length-array]
char buffer[0];

@PastaPastaPastaPastaPastaPasta left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK for merging via merge commit (rebased to bring to latest develop, no diff)

@PastaPastaPasta
PastaPastaPasta merged commit 0e314fe into dashpay:developJan 7, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@knst@UdjinM6@PastaPastaPasta@fanquake@laanwj