🚀 hebasto merged a pull request: "randomenv: Fix MinGW dllimport warning for `environ`"
(https://github.com/bitcoin/bitcoin/pull/33570)
(https://github.com/bitcoin/bitcoin/pull/33570)
👍 dergoegge approved a pull request: "ci: add Valgrind fuzz"
(https://github.com/bitcoin/bitcoin/pull/33461#pullrequestreview-3364823891)
ACK e4b04630bcf59ea03c1373777a0167af699f92a4
(https://github.com/bitcoin/bitcoin/pull/33461#pullrequestreview-3364823891)
ACK e4b04630bcf59ea03c1373777a0167af699f92a4
💬 cedwies commented on pull request "ci: Only write docker build images to Cirrus cache":
(https://github.com/bitcoin/bitcoin/pull/33639#issuecomment-3431476175)
reACK fabe0e0
(https://github.com/bitcoin/bitcoin/pull/33639#issuecomment-3431476175)
reACK fabe0e0
🤔 brunoerg reviewed a pull request: "Cluster mempool"
(https://github.com/bitcoin/bitcoin/pull/33629#pullrequestreview-3363955723)
I ran a mutation testing analysis on this PR. The mutants were generated incrementally. Unit and functional tests look great overall - over 80% of mutation score. I've dropped some unkilled mutants here, feel free to address them (write tests to kill) or ignore if unproductive.
(https://github.com/bitcoin/bitcoin/pull/33629#pullrequestreview-3363955723)
I ran a mutation testing analysis on this PR. The mutants were generated incrementally. Unit and functional tests look great overall - over 80% of mutation score. I've dropped some unkilled mutants here, feel free to address them (write tests to kill) or ignore if unproductive.
💬 brunoerg commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450631707)
Unkilled mutant:
```diff
diff --git a/src/txmempool.cpp b/src/txmempool.cpp
index b0c9ab043c..8d7e4d2bb9 100644
--- a/src/txmempool.cpp
+++ b/src/txmempool.cpp
@@ -994,7 +994,7 @@ void CTxMemPool::ChangeSet::ProcessDependencies()
}
}
}
- m_dependencies_processed = true;
+ m_dependencies_processed = false;
return;
}
```
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450631707)
Unkilled mutant:
```diff
diff --git a/src/txmempool.cpp b/src/txmempool.cpp
index b0c9ab043c..8d7e4d2bb9 100644
--- a/src/txmempool.cpp
+++ b/src/txmempool.cpp
@@ -994,7 +994,7 @@ void CTxMemPool::ChangeSet::ProcessDependencies()
}
}
}
- m_dependencies_processed = true;
+ m_dependencies_processed = false;
return;
}
```
💬 brunoerg commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450756366)
Removing this doesn't make the test to fail:
```diff
diff --git a/src/test/rbf_tests.cpp b/src/test/rbf_tests.cpp
index 45dd8bcb12..8ef8f0618c 100644
--- a/src/test/rbf_tests.cpp
+++ b/src/test/rbf_tests.cpp
@@ -225,7 +225,7 @@ BOOST_FIXTURE_TEST_CASE(rbf_conflicts_calculator, TestChain100Setup)
// Add some descendants now to each of the direct children (we can do this now that the clusters have split).
for (const auto& child : direct_children) {
- add_descendants(c
...
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450756366)
Removing this doesn't make the test to fail:
```diff
diff --git a/src/test/rbf_tests.cpp b/src/test/rbf_tests.cpp
index 45dd8bcb12..8ef8f0618c 100644
--- a/src/test/rbf_tests.cpp
+++ b/src/test/rbf_tests.cpp
@@ -225,7 +225,7 @@ BOOST_FIXTURE_TEST_CASE(rbf_conflicts_calculator, TestChain100Setup)
// Add some descendants now to each of the direct children (we can do this now that the clusters have split).
for (const auto& child : direct_children) {
- add_descendants(c
...
💬 brunoerg commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450650949)
Unkilled mutant:
```diff
diff --git a/src/txmempool.cpp b/src/txmempool.cpp
index b0c9ab043c..bdbbc8325d 100644
--- a/src/txmempool.cpp
+++ b/src/txmempool.cpp
@@ -121,7 +121,7 @@ bool CTxMemPool::HasDescendants(const Txid& txid) const
{
LOCK(cs);
auto entry = GetEntry(txid);
- if (!entry) return false;
+ if (1==0) return false;
return m_txgraph->GetDescendants(*entry, TxGraph::Level::MAIN).size() > 1;
}
```
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450650949)
Unkilled mutant:
```diff
diff --git a/src/txmempool.cpp b/src/txmempool.cpp
index b0c9ab043c..bdbbc8325d 100644
--- a/src/txmempool.cpp
+++ b/src/txmempool.cpp
@@ -121,7 +121,7 @@ bool CTxMemPool::HasDescendants(const Txid& txid) const
{
LOCK(cs);
auto entry = GetEntry(txid);
- if (!entry) return false;
+ if (1==0) return false;
return m_txgraph->GetDescendants(*entry, TxGraph::Level::MAIN).size() > 1;
}
```
💬 brunoerg commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450642965)
Unkilled mutant:
```diff
diff --git a/src/txmempool.cpp b/src/txmempool.cpp
index b0c9ab043c..aef4fdde8d 100644
--- a/src/txmempool.cpp
+++ b/src/txmempool.cpp
@@ -129,7 +129,7 @@ CTxMemPool::setEntries CTxMemPool::CalculateMemPoolAncestors(const CTxMemPoolEnt
{
auto ancestors = m_txgraph->GetAncestors(entry, TxGraph::Level::MAIN);
setEntries ret;
- if (ancestors.size() > 0) {
+ if (ancestors.size() < 0) {
for (auto ancestor : ancestors) {
if
...
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450642965)
Unkilled mutant:
```diff
diff --git a/src/txmempool.cpp b/src/txmempool.cpp
index b0c9ab043c..aef4fdde8d 100644
--- a/src/txmempool.cpp
+++ b/src/txmempool.cpp
@@ -129,7 +129,7 @@ CTxMemPool::setEntries CTxMemPool::CalculateMemPoolAncestors(const CTxMemPoolEnt
{
auto ancestors = m_txgraph->GetAncestors(entry, TxGraph::Level::MAIN);
setEntries ret;
- if (ancestors.size() > 0) {
+ if (ancestors.size() < 0) {
for (auto ancestor : ancestors) {
if
...
💬 brunoerg commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450722652)
Unkilled mutant:
```diff
diff --git a/src/txmempool.cpp b/src/txmempool.cpp
index b0c9ab043c..9142d8d2c6 100644
--- a/src/txmempool.cpp
+++ b/src/txmempool.cpp
@@ -947,7 +947,7 @@ CTxMemPool::ChangeSet::TxHandle CTxMemPool::ChangeSet::StageAddition(const CTran
TxGraph::Ref ref(m_pool->m_txgraph->AddTransaction(FeePerWeight(fee+delta, GetSigOpsAdjustedWeight(GetTransactionWeight(*tx), sigops_cost, ::nBytesPerSigOp))));
auto newit = m_to_add.emplace(std::move(ref), tx, fee, t
...
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450722652)
Unkilled mutant:
```diff
diff --git a/src/txmempool.cpp b/src/txmempool.cpp
index b0c9ab043c..9142d8d2c6 100644
--- a/src/txmempool.cpp
+++ b/src/txmempool.cpp
@@ -947,7 +947,7 @@ CTxMemPool::ChangeSet::TxHandle CTxMemPool::ChangeSet::StageAddition(const CTran
TxGraph::Ref ref(m_pool->m_txgraph->AddTransaction(FeePerWeight(fee+delta, GetSigOpsAdjustedWeight(GetTransactionWeight(*tx), sigops_cost, ::nBytesPerSigOp))));
auto newit = m_to_add.emplace(std::move(ref), tx, fee, t
...
💬 brunoerg commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450694460)
Unkilled mutant:
```diff
diff --git a/src/txmempool.h b/src/txmempool.h
index 4aeae00f69..c4332f3344 100644
--- a/src/txmempool.h
+++ b/src/txmempool.h
@@ -398,7 +398,7 @@ public:
}
std::vector<const CTxMemPoolEntry*> GetCluster(Txid txid) const EXCLUSIVE_LOCKS_REQUIRED(cs) {
auto tx = GetIter(txid);
- if (!tx) return {};
+ if (1==0) return {};
auto cluster = m_txgraph->GetCluster(**tx, TxGraph::Level::MAIN);
std::vector<const CTx
...
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2450694460)
Unkilled mutant:
```diff
diff --git a/src/txmempool.h b/src/txmempool.h
index 4aeae00f69..c4332f3344 100644
--- a/src/txmempool.h
+++ b/src/txmempool.h
@@ -398,7 +398,7 @@ public:
}
std::vector<const CTxMemPoolEntry*> GetCluster(Txid txid) const EXCLUSIVE_LOCKS_REQUIRED(cs) {
auto tx = GetIter(txid);
- if (!tx) return {};
+ if (1==0) return {};
auto cluster = m_txgraph->GetCluster(**tx, TxGraph::Level::MAIN);
std::vector<const CTx
...
💬 brunoerg commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2451080297)
Unkilled mutant:
```diff
diff --git a/src/policy/truc_policy.cpp b/src/policy/truc_policy.cpp
index dd16eccb7c..c60dff899f 100644
--- a/src/policy/truc_policy.cpp
+++ b/src/policy/truc_policy.cpp
@@ -204,7 +204,7 @@ std::optional<std::pair<std::string, CTransactionRef>> SingleTRUCChecks(const CT
}
// Check that TRUC_ANCESTOR_LIMIT would not be violated.
- if (mempool_parents.size() + 1 > TRUC_ANCESTOR_LIMIT) {
+ if (mempool_parents.size() / 1 > TRUC_ANCESTOR_LIMIT)
...
(https://github.com/bitcoin/bitcoin/pull/33629#discussion_r2451080297)
Unkilled mutant:
```diff
diff --git a/src/policy/truc_policy.cpp b/src/policy/truc_policy.cpp
index dd16eccb7c..c60dff899f 100644
--- a/src/policy/truc_policy.cpp
+++ b/src/policy/truc_policy.cpp
@@ -204,7 +204,7 @@ std::optional<std::pair<std::string, CTransactionRef>> SingleTRUCChecks(const CT
}
// Check that TRUC_ANCESTOR_LIMIT would not be violated.
- if (mempool_parents.size() + 1 > TRUC_ANCESTOR_LIMIT) {
+ if (mempool_parents.size() / 1 > TRUC_ANCESTOR_LIMIT)
...
💬 TheCharlatan commented on pull request "kernel: Introduce C header API":
(https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2451399250)
Each of them should be safe, but I'm not sure about both of them in tandem.
(https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2451399250)
Each of them should be safe, but I'm not sure about both of them in tandem.
👍 willcl-ark approved a pull request: "ci: Only write docker build images to Cirrus cache"
(https://github.com/bitcoin/bitcoin/pull/33639#pullrequestreview-3364931557)
ACK fabe0e07de1ad2f26da62f3ebe0e9be3f939b1f8
Agree with the rationale here and the changes look correct to me. There is a run on-going on a fork (non Cirrus runners) at https://github.com/m3dwards/bitcoin/actions/runs/18709746522
...and the [caches in that repo](https://github.com/m3dwards/bitcoin/actions/caches) do not contain docker build images as intended.
(https://github.com/bitcoin/bitcoin/pull/33639#pullrequestreview-3364931557)
ACK fabe0e07de1ad2f26da62f3ebe0e9be3f939b1f8
Agree with the rationale here and the changes look correct to me. There is a run on-going on a fork (non Cirrus runners) at https://github.com/m3dwards/bitcoin/actions/runs/18709746522
...and the [caches in that repo](https://github.com/m3dwards/bitcoin/actions/caches) do not contain docker build images as intended.
📝 ismaelsadeeq opened a pull request: "interfaces: enable cancelling running `waitNext` calls "
(https://github.com/bitcoin/bitcoin/pull/33676)
This is an attempt to fix issue #32387 see the issue for background and the usefulness of this feature.
This PR uses one of the suggested approaches: adding a new `interruptWaitNext()` method to the mining interface.
It introduces a new boolean variable, `waiting`, which is set to `true` when the thread starts waiting. The `interruptWaitNext()` method wakes the thread and sets `waiting` to `false`.
Whenever the thread wakes up, it checks whether the wait was aborted; if so, it simply retu
...
(https://github.com/bitcoin/bitcoin/pull/33676)
This is an attempt to fix issue #32387 see the issue for background and the usefulness of this feature.
This PR uses one of the suggested approaches: adding a new `interruptWaitNext()` method to the mining interface.
It introduces a new boolean variable, `waiting`, which is set to `true` when the thread starts waiting. The `interruptWaitNext()` method wakes the thread and sets `waiting` to `false`.
Whenever the thread wakes up, it checks whether the wait was aborted; if so, it simply retu
...
💬 waketraindev commented on pull request "doc: add AGENTS.md":
(https://github.com/bitcoin/bitcoin/pull/33662#issuecomment-3431625011)
> ...When you see that a new contributor used an LLM, you can have your guard up.
Wouldn't it make sense to add those tags to all commits, regardless of whether assistance was used, to help encourage more thorough and attentive reviews? It seems important that reviewers stay thoughtful and cautious with all changes, no matter the level of assistance, the contributor's reputation, or their role in the project
(https://github.com/bitcoin/bitcoin/pull/33662#issuecomment-3431625011)
> ...When you see that a new contributor used an LLM, you can have your guard up.
Wouldn't it make sense to add those tags to all commits, regardless of whether assistance was used, to help encourage more thorough and attentive reviews? It seems important that reviewers stay thoughtful and cautious with all changes, no matter the level of assistance, the contributor's reputation, or their role in the project
🚀 fanquake merged a pull request: "ci: Only write docker build images to Cirrus cache"
(https://github.com/bitcoin/bitcoin/pull/33639)
(https://github.com/bitcoin/bitcoin/pull/33639)
🚀 fanquake merged a pull request: "ci: add Valgrind fuzz"
(https://github.com/bitcoin/bitcoin/pull/33461)
(https://github.com/bitcoin/bitcoin/pull/33461)
💬 mzumsande commented on pull request "p2p: Increase inbound capacity for block-relay only connections":
(https://github.com/bitcoin/bitcoin/pull/28463#issuecomment-3431866885)
[df1c9c2](https://github.com/bitcoin/bitcoin/commit/df1c9c2e2f4b21578b79b08301bd10279ba0e22f) to [9806bc5](https://github.com/bitcoin/bitcoin/commit/9806bc54b7c053a5ea132a8abe0d27c8f9c5a65c): rebased (there was a silent conflict for `p2p_opportunistic_1p1c.py`, together with the `-maxconnections=94` default limit used in the functional tests)
(https://github.com/bitcoin/bitcoin/pull/28463#issuecomment-3431866885)
[df1c9c2](https://github.com/bitcoin/bitcoin/commit/df1c9c2e2f4b21578b79b08301bd10279ba0e22f) to [9806bc5](https://github.com/bitcoin/bitcoin/commit/9806bc54b7c053a5ea132a8abe0d27c8f9c5a65c): rebased (there was a silent conflict for `p2p_opportunistic_1p1c.py`, together with the `-maxconnections=94` default limit used in the functional tests)
✅ maflcko closed a pull request: "ci, iwyu: Treat warnings as errors for specific directories"
(https://github.com/bitcoin/bitcoin/pull/31308)
(https://github.com/bitcoin/bitcoin/pull/31308)
📝 maflcko reopened a pull request: "ci, iwyu: Treat warnings as errors for specific directories"
(https://github.com/bitcoin/bitcoin/pull/31308)
This PR is the first step towards treating IWYU warnings as errors. At this stage, it applies only to the `crypto` and `index` directories.
(https://github.com/bitcoin/bitcoin/pull/31308)
This PR is the first step towards treating IWYU warnings as errors. At this stage, it applies only to the `crypto` and `index` directories.