Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
On bitcoin/master d646ca35d991e4f694096fdbd2d2ebd8cebf244e
I compiled bitcoin core with bench on macOS and tried to run the benchmarks but got an error as such
Assertion failed: (tx_res), function operator(), file wallet_create_tx.cpp, line 133.
this is the last few logs I see before it fails
0./src/bench/bench_bitcoin
1
2| ns/op | op/s | err% | total | benchmark
3|--------------------:|--------------------:|--------:|----------:|:----------
4| 1,404,059.73 | 712.22 | 5.0% | 0.17 | `AddAndRemoveDisconnectedBlockTransactions10`
5| 1,294,287.55 | 772.63 | 2.2% | 0.16 | `AddAndRemoveDisconnectedBlockTransactions90`
6| 1,254,398.83 | 797.19 | 3.0% | 0.15 | `AddAndRemoveDisconnectedBlockTransactionsAll`
7| 45,671,853.00 | 21.90 | 6.8% | 0.51 | :wavy_dash: `AddrManAdd` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
8| 127,220,073.00 | 7.86 | 6.6% | 1.41 | :wavy_dash: `AddrManAddThenGood` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
9| 171,068.17 | 5,845.62 | 0.6% | 0.01 | `AddrManGetAddr`
10| 144.86 | 6,903,190.28 | 4.9% | 0.01 | `AddrManSelect`
11| 453,220.50 | 2,206.43 | 51.2% | 0.01 | :wavy_dash: `AddrManSelectByNetwork` (Unstable with ~1.8 iters. Increase `minEpochIterations` to e.g. 18)
12| 99,628.00 | 10,037.34 | 16.5% | 0.01 | :wavy_dash: `AddrManSelectFromAlmostEmpty` (Unstable with ~9.1 iters. Increase `minEpochIterations` to e.g. 91)
13| 333,518.33 | 2,998.34 | 5.3% | 0.01 | :wavy_dash: `AssembleBlock` (Unstable with ~3.0 iters. Increase `minEpochIterations` to e.g. 30)
14
15| ns/ecdh | ecdh/s | err% | total | benchmark
16|--------------------:|--------------------:|--------:|----------:|:----------
17| 43,924.38 | 22,766.40 | 13.2% | 0.01 | :wavy_dash: `BIP324_ECDH` (Unstable with ~23.1 iters. Increase `minEpochIterations` to e.g. 231)
18
19| ns/byte | byte/s | err% | total | benchmark
20|--------------------:|--------------------:|--------:|----------:|:----------
21| 98.01 | 10,202,943.41 | 13.4% | 0.01 | :wavy_dash: `Base58CheckEncode` (Unstable with ~298.4 iters. Increase `minEpochIterations` to e.g. 2984)
22| 22.03 | 45,384,476.83 | 2.2% | 0.01 | `Base58Decode`
23| 68.53 | 14,592,583.70 | 0.4% | 0.01 | `Base58Encode`
24| 12.49 | 80,052,422.25 | 0.2% | 0.01 | `Bech32Decode`
25| 27.40 | 36,497,890.54 | 0.2% | 0.01 | `Bech32Encode`
26
27| ns/op | op/s | err% | total | benchmark
28|--------------------:|--------------------:|--------:|----------:|:----------
29| 213.36 | 4,686,990.79 | 10.0% | 0.01 | :wavy_dash: `BenchLockedPool` (Unstable with ~4,815.3 iters. Increase `minEpochIterations` to e.g. 48153)
30
31| ns/byte | byte/s | err% | total | benchmark
32|--------------------:|--------------------:|--------:|----------:|:----------
33| 2.19 | 457,372,222.78 | 10.2% | 0.02 | :wavy_dash: `BenchRIPEMD160` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
34
35| ns/op | op/s | err% | total | benchmark
36|--------------------:|--------------------:|--------:|----------:|:----------
37| 28.48 | 35,112,077.29 | 2.3% | 0.01 | `BenchTimeDeprecated`
38| 24.88 | 40,199,467.44 | 1.7% | 0.01 | `BenchTimeMillis`
39| 23.66 | 42,258,804.89 | 0.3% | 0.01 | `BenchTimeMillisSys`
40| 2.85 | 351,247,083.74 | 7.1% | 0.01 | :wavy_dash: `BenchTimeMock` (Unstable with ~364,918.2 iters. Increase `minEpochIterations` to e.g. 3649182)
41| 906,910,349.00 | 1.10 | 0.9% | 9.95 | `BlockAssemblerAddPackageTxns`
42| 107,240,809.00 | 9.32 | 1.9% | 1.20 | `BlockToJsonVerbose`
43| 46,955,665.00 | 21.30 | 2.8% | 0.53 | `BlockToJsonVerboseWrite`
44| 821,344.00 | 1,217.52 | 3.2% | 0.01 | `BnBExhaustion`
45
46| ns/job | job/s | err% | total | benchmark
47|--------------------:|--------------------:|--------:|----------:|:----------
48| 1,057.21 | 945,884.89 | 2.4% | 0.38 | `CCheckQueueSpeedPrevectorJob`
49
50| ns/op | op/s | err% | total | benchmark
51|--------------------:|--------------------:|--------:|----------:|:----------
52| 745.97 | 1,340,534.52 | 6.8% | 0.01 | :wavy_dash: `CCoinsCaching` (Unstable with ~1,334.9 iters. Increase `minEpochIterations` to e.g. 13349)
53
54| ns/byte | byte/s | err% | total | benchmark
55|--------------------:|--------------------:|--------:|----------:|:----------
56| 1.87 | 534,651,415.72 | 7.5% | 0.02 | :wavy_dash: `CHACHA20_1MB` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
57| 1.76 | 567,285,183.13 | 1.6% | 0.01 | `CHACHA20_256BYTES`
58| 1.88 | 531,709,143.26 | 0.4% | 0.01 | `CHACHA20_64BYTES`
59
60| ns/op | op/s | err% | total | benchmark
61|--------------------:|--------------------:|--------:|----------:|:----------
62| 1,124,437.00 | 889.33 | 2.4% | 0.01 | `CoinSelection`
63| 281,890,514.00 | 3.55 | 2.1% | 3.09 | `ComplexMemPool`
64
65| ns/block | block/s | err% | total | benchmark
66|--------------------:|--------------------:|--------:|----------:|:----------
67| 6,264,009.00 | 159.64 | 9.5% | 0.07 | :wavy_dash: `DeserializeAndCheckBlockTest` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
68| 4,689,212.00 | 213.26 | 1.5% | 0.05 | `DeserializeBlockTest`
69
70| ns/op | op/s | err% | total | benchmark
71|--------------------:|--------------------:|--------:|----------:|:----------
72| 6,843,852.00 | 146.12 | 4.4% | 0.08 | `DuplicateInputs`
73
74| ns/pubkey | pubkey/s | err% | total | benchmark
75|--------------------:|--------------------:|--------:|----------:|:----------
76| 36,552.31 | 27,358.05 | 3.1% | 0.01 | `EllSwiftCreate`
77
78| ns/op | op/s | err% | total | benchmark
79|--------------------:|--------------------:|--------:|----------:|:----------
80| 10,464.20 | 95,563.96 | 5.0% | 0.01 | :wavy_dash: `EvictionProtection0Networks250Candidates` (Unstable with ~88.5 iters. Increase `minEpochIterations` to e.g. 885)
81| 8,047.51 | 124,262.04 | 5.9% | 0.01 | :wavy_dash: `EvictionProtection1Networks250Candidates` (Unstable with ~93.6 iters. Increase `minEpochIterations` to e.g. 936)
82| 15,605.87 | 64,078.46 | 27.3% | 0.01 | :wavy_dash: `EvictionProtection2Networks250Candidates` (Unstable with ~51.9 iters. Increase `minEpochIterations` to e.g. 519)
83| 3,338.20 | 299,562.81 | 8.2% | 0.01 | :wavy_dash: `EvictionProtection3Networks050Candidates` (Unstable with ~308.2 iters. Increase `minEpochIterations` to e.g. 3082)
84| 11,651.77 | 85,823.86 | 13.8% | 0.01 | :wavy_dash: `EvictionProtection3Networks100Candidates` (Unstable with ~92.5 iters. Increase `minEpochIterations` to e.g. 925)
85| 19,133.39 | 52,264.66 | 4.0% | 0.01 | `EvictionProtection3Networks250Candidates`
86| 20,708,737.00 | 48.29 | 1.9% | 0.23 | `ExpandDescriptor`
87
88| ns/byte | byte/s | err% | total | benchmark
89|--------------------:|--------------------:|--------:|----------:|:----------
90| 1.98 | 504,919,295.81 | 4.5% | 0.02 | `FSCHACHA20POLY1305_1MB`
91| 2.73 | 365,632,551.58 | 8.6% | 0.01 | :wavy_dash: `FSCHACHA20POLY1305_256BYTES` (Unstable with ~1,072.5 iters. Increase `minEpochIterations` to e.g. 10725)
92| 4.63 | 216,073,335.65 | 5.4% | 0.01 | :wavy_dash: `FSCHACHA20POLY1305_64BYTES` (Unstable with ~3,237.0 iters. Increase `minEpochIterations` to e.g. 32370)
93
94| ns/op | op/s | err% | total | benchmark
95|--------------------:|--------------------:|--------:|----------:|:----------
96| 1.42 | 704,872,115.47 | 0.1% | 0.01 | `FastRandom_1bit`
97| 7.87 | 127,003,264.54 | 2.1% | 0.01 | `FastRandom_32bit`
98| 83.79 | 11,934,834.05 | 4.3% | 0.01 | `FindByte`
99| 429,806.50 | 2,326.63 | 5.5% | 0.01 | :wavy_dash: `GCSBlockFilterGetHash` (Unstable with ~2.0 iters. Increase `minEpochIterations` to e.g. 20)
100| 12,045,240.00 | 83.02 | 13.6% | 0.14 | :wavy_dash: `GCSFilterConstruct` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
101| 2,083,659.00 | 479.92 | 1.9% | 0.02 | `GCSFilterDecode`
102| 9,252.21 | 108,082.26 | 1.6% | 0.01 | `GCSFilterDecodeSkipCheck`
103| 242,903.75 | 4,116.86 | 3.5% | 0.01 | `GCSFilterMatch`
104
105| ns/byte | byte/s | err% | total | benchmark
106|--------------------:|--------------------:|--------:|----------:|:----------
107| 0.47 | 2,129,267,534.37 | 0.8% | 0.01 | `HexStrBench`
108
109| ns/op | op/s | err% | total | benchmark
110|--------------------:|--------------------:|--------:|----------:|:----------
111| 19,072,145.00 | 52.43 | 0.8% | 0.21 | `LoadExternalBlockFile`
112| 9,338.32 | 107,085.68 | 1.4% | 0.01 | `LogPrintLevelWithThreadNames`
113| 8,827.85 | 113,277.82 | 0.8% | 0.01 | `LogPrintLevelWithoutThreadNames`
114| 8,973.99 | 111,433.14 | 1.7% | 0.01 | `LogPrintWithCategory`
115| 7.70 | 129,923,111.50 | 0.1% | 0.01 | `LogPrintWithoutCategory`
116| 8,892.90 | 112,449.28 | 0.8% | 0.01 | `LogPrintfCategoryWithThreadNames`
117| 8,885.83 | 112,538.78 | 1.2% | 0.01 | `LogPrintfCategoryWithoutThreadNames`
118| 8,827.92 | 113,276.94 | 1.3% | 0.01 | `LogPrintfWithThreadNames`
119| 8,781.48 | 113,876.07 | 1.9% | 0.01 | `LogPrintfWithoutThreadNames`
120| 89.91 | 11,122,615.61 | 0.0% | 0.01 | `LogWithoutWriteToFile`
121| 77,830,848.00 | 12.85 | 2.7% | 0.86 | `MempoolCheck`
122| 46,574.00 | 21,471.21 | 8.2% | 0.01 | :wavy_dash: `MempoolEviction` (Unstable with ~24.2 iters. Increase `minEpochIterations` to e.g. 242)
123
124| ns/leaf | leaf/s | err% | total | benchmark
125|--------------------:|--------------------:|--------:|----------:|:----------
126| 137.16 | 7,290,892.10 | 0.4% | 0.01 | `MerkleRoot`
127
128| ns/op | op/s | err% | total | benchmark
129|--------------------:|--------------------:|--------:|----------:|:----------
130| 5,742.17 | 174,150.32 | 5.3% | 0.01 | :wavy_dash: `MuHash` (Unstable with ~165.7 iters. Increase `minEpochIterations` to e.g. 1657)
131| 4,643.77 | 215,342.48 | 3.0% | 0.01 | `MuHashDiv`
132| 4,221.39 | 236,888.85 | 5.0% | 0.01 | :wavy_dash: `MuHashMul` (Unstable with ~225.7 iters. Increase `minEpochIterations` to e.g. 2257)
133| 769.04 | 1,300,316.69 | 9.3% | 0.01 | :wavy_dash: `MuHashPrecompute` (Unstable with ~1,327.9 iters. Increase `minEpochIterations` to e.g. 13279)
134
135| ns/byte | byte/s | err% | total | benchmark
136|--------------------:|--------------------:|--------:|----------:|:----------
137| 0.63 | 1,584,500,971.26 | 0.1% | 0.01 | `POLY1305_1MB`
138| 0.80 | 1,245,497,377.56 | 8.1% | 0.01 | :wavy_dash: `POLY1305_256BYTES` (Unstable with ~4,762.0 iters. Increase `minEpochIterations` to e.g. 47620)
139| 1.01 | 993,003,254.67 | 6.4% | 0.01 | :wavy_dash: `POLY1305_64BYTES` (Unstable with ~15,781.5 iters. Increase `minEpochIterations` to e.g. 157815)
140
141| ns/op | op/s | err% | total | benchmark
142|--------------------:|--------------------:|--------:|----------:|:----------
143| 77.43 | 12,915,449.65 | 5.8% | 0.05 | :wavy_dash: `PoolAllocator_StdUnorderedMap` (Unstable with ~10.9 iters. Increase `minEpochIterations` to e.g. 109)
144| 40.33 | 24,794,833.09 | 8.8% | 0.03 | :wavy_dash: `PoolAllocator_StdUnorderedMapWithPoolResource` (Unstable with ~10.9 iters. Increase `minEpochIterations` to e.g. 109)
145| 184.50 | 5,420,096.62 | 8.3% | 0.01 | :wavy_dash: `PrePadded` (Unstable with ~4,881.6 iters. Increase `minEpochIterations` to e.g. 48816)
146| 9.65 | 103,641,497.48 | 6.3% | 0.01 | :wavy_dash: `PrevectorClearNontrivial` (Unstable with ~51,587.7 iters. Increase `minEpochIterations` to e.g. 515877)
147| 10.19 | 98,153,251.14 | 3.7% | 0.01 | `PrevectorClearTrivial`
148| 383.99 | 2,604,250.31 | 10.3% | 0.01 | :wavy_dash: `PrevectorDeserializeNontrivial` (Unstable with ~2.8 iters. Increase `minEpochIterations` to e.g. 28)
149| 20.76 | 48,177,485.86 | 11.6% | 0.01 | :wavy_dash: `PrevectorDeserializeTrivial` (Unstable with ~47.5 iters. Increase `minEpochIterations` to e.g. 475)
150| - | - | - | - | :boom: `PrevectorDestructorNontrivial` (iterations overflow. Maybe your code got optimized away?)
151| - | - | - | - | :boom: `PrevectorDestructorTrivial` (iterations overflow. Maybe your code got optimized away?)
152| 6,262.69 | 159,675.72 | 4.4% | 0.01 | `PrevectorFillVectorDirectNontrivial`
153| 2,360.83 | 423,579.24 | 13.9% | 0.01 | :wavy_dash: `PrevectorFillVectorDirectTrivial` (Unstable with ~416.3 iters. Increase `minEpochIterations` to e.g. 4163)
154| 20,881.96 | 47,888.22 | 5.0% | 0.01 | `PrevectorFillVectorIndirectNontrivial`
155| 13,908.64 | 71,897.74 | 5.8% | 0.01 | :wavy_dash: `PrevectorFillVectorIndirectTrivial` (Unstable with ~68.2 iters. Increase `minEpochIterations` to e.g. 682)
156| 4.48 | 223,151,649.08 | 6.8% | 0.01 | :wavy_dash: `PrevectorResizeNontrivial` (Unstable with ~55,496.0 iters. Increase `minEpochIterations` to e.g. 554960)
157| 5.10 | 196,114,852.61 | 2.7% | 0.01 | `PrevectorResizeTrivial`
158| 331.25 | 3,018,826.33 | 0.3% | 0.01 | `RegularPadded`
159| 461.89 | 2,165,032.12 | 13.5% | 0.01 | :wavy_dash: `RollingBloom` (Unstable with ~2,180.5 iters. Increase `minEpochIterations` to e.g. 21805)
160| 27,072.58 | 36,937.74 | 9.5% | 0.01 | :wavy_dash: `RollingBloomReset` (Unstable with ~38.7 iters. Increase `minEpochIterations` to e.g. 387)
161| 8,006,783.00 | 124.89 | 9.2% | 0.09 | :wavy_dash: `RpcMempool` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
162
163| ns/byte | byte/s | err% | total | benchmark
164|--------------------:|--------------------:|--------:|----------:|:----------
165| 1.81 | 553,945,727.72 | 20.6% | 0.02 | :wavy_dash: `SHA1` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
166| 1.87 | 535,824,297.12 | 6.0% | 0.01 | :wavy_dash: `SHA256D64_1024_AVX2 using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation` (Unstable with ~7.3 iters. Increase `minEpochIterations` to e.g. 73)
167| 5.18 | 192,994,562.80 | 1.6% | 0.01 | `SHA256D64_1024_SHANI using the 'sse4(1way),sse41(4way)' SHA256 implementation`
168| 5.06 | 197,514,195.13 | 1.0% | 0.01 | `SHA256D64_1024_SSE4 using the 'sse4(1way),sse41(4way)' SHA256 implementation`
169| 12.70 | 78,726,271.96 | 0.9% | 0.01 | `SHA256D64_1024_STANDARD using the 'standard' SHA256 implementation`
170| 6.72 | 148,840,226.81 | 4.5% | 0.01 | `SHA256_32b_AVX2 using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation`
171| 7.43 | 134,570,878.05 | 1.0% | 0.01 | `SHA256_32b_SHANI using the 'sse4(1way),sse41(4way)' SHA256 implementation`
172| 7.42 | 134,766,372.01 | 1.3% | 0.01 | `SHA256_32b_SSE4 using the 'sse4(1way),sse41(4way)' SHA256 implementation`
173| 10.77 | 92,889,906.04 | 0.2% | 0.01 | `SHA256_32b_STANDARD using the 'standard' SHA256 implementation`
174| 2.77 | 361,075,745.75 | 3.4% | 0.03 | `SHA256_AVX2 using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation`
175| 2.59 | 386,561,872.32 | 1.7% | 0.03 | `SHA256_SHANI using the 'sse4(1way),sse41(4way)' SHA256 implementation`
176| 2.54 | 393,429,259.26 | 2.2% | 0.03 | `SHA256_SSE4 using the 'sse4(1way),sse41(4way)' SHA256 implementation`
177| 3.94 | 253,670,806.83 | 2.5% | 0.04 | `SHA256_STANDARD using the 'standard' SHA256 implementation`
178| 3.09 | 323,698,658.56 | 2.8% | 0.04 | `SHA3_256_1M`
179| 2.56 | 389,866,587.65 | 11.2% | 0.03 | :wavy_dash: `SHA512` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
180
181| ns/op | op/s | err% | total | benchmark
182|--------------------:|--------------------:|--------:|----------:|:----------
183| 23.02 | 43,444,456.94 | 6.5% | 0.01 | :wavy_dash: `SipHash_32b` (Unstable with ~43,173.2 iters. Increase `minEpochIterations` to e.g. 431732)
184| 5.96 | 167,858,848.11 | 15.9% | 0.02 | :wavy_dash: `Trig` (Unstable with ~244,527.1 iters. Increase `minEpochIterations` to e.g. 2445271)
185| 66,123.00 | 15,123.33 | 2.5% | 0.01 | `VerifyNestedIfScript`
186| 71,879.87 | 13,912.10 | 4.3% | 0.01 | `VerifyScriptBench`
187| 67,780,410.50 | 14.75 | 3.5% | 1.53 | `WalletAvailableCoins`
188| 7,995.70 | 125,067.17 | 3.9% | 0.01 | `WalletBalanceClean`
189| 171,561.20 | 5,828.82 | 10.0% | 0.01 | :wavy_dash: `WalletBalanceDirty` (Unstable with ~6.0 iters. Increase `minEpochIterations` to e.g. 60)
190| 8,292.98 | 120,583.91 | 7.6% | 0.01 | :wavy_dash: `WalletBalanceMine` (Unstable with ~102.5 iters. Increase `minEpochIterations` to e.g. 1025)
191| 34.36 | 29,102,280.22 | 6.8% | 0.01 | :wavy_dash: `WalletBalanceWatch` (Unstable with ~27,349.1 iters. Increase `minEpochIterations` to e.g. 273491)
192| 794,569,135.00 | 1.26 | 1.0% | 8.77 | `WalletCreateEncrypted`
193| 400,911,129.00 | 2.49 | 2.2% | 4.39 | `WalletCreatePlain`
194| 1,724,541.80 | 579.86 | 6.4% | 0.10 | :wavy_dash: `WalletCreateTxUseOnlyPresetInputs` (Unstable with ~5.0 iters. Increase `minEpochIterations` to e.g. 50)
195Assertion failed: (tx_res), function operator(), file wallet_create_tx.cpp, line 133.
196[1] 68585 abort ./src/bench/bench_bitcoin
Expected behaviour
Its expected to run the benchmark and then exit without failure
Steps to reproduce
Steps I took
0./autogen.sh
1./configure --enable-debug=true CC=/usr/bin/clang CXX=/usr/bin/clang++
2sudo make -j"$(($(nproc)+1))" install
3./src/bench/bench_bitcoin
This was done on macOS 14.1.2 (23B92)
Relevant log output
No response
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
d646ca35d991e4f694096fdbd2d2ebd8cebf244e
Operating system and version
macOS 14.1.2 (23B92)
Machine specifications
This is an intel based mac pro 2019