Skip to content

[bench] Assertion error on wallet_create_tx.cpp, line 133. #29069

@kevkevinpal

Description

@kevkevinpal

Is there an existing issue for this?

  • I have searched the existing issues

Current behaviour

On bitcoin/master d646ca3
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

./src/bench/bench_bitcoin

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|        1,404,059.73 |              712.22 |    5.0% |      0.17 | `AddAndRemoveDisconnectedBlockTransactions10`
|        1,294,287.55 |              772.63 |    2.2% |      0.16 | `AddAndRemoveDisconnectedBlockTransactions90`
|        1,254,398.83 |              797.19 |    3.0% |      0.15 | `AddAndRemoveDisconnectedBlockTransactionsAll`
|       45,671,853.00 |               21.90 |    6.8% |      0.51 | :wavy_dash: `AddrManAdd` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
|      127,220,073.00 |                7.86 |    6.6% |      1.41 | :wavy_dash: `AddrManAddThenGood` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
|          171,068.17 |            5,845.62 |    0.6% |      0.01 | `AddrManGetAddr`
|              144.86 |        6,903,190.28 |    4.9% |      0.01 | `AddrManSelect`
|          453,220.50 |            2,206.43 |   51.2% |      0.01 | :wavy_dash: `AddrManSelectByNetwork` (Unstable with ~1.8 iters. Increase `minEpochIterations` to e.g. 18)
|           99,628.00 |           10,037.34 |   16.5% |      0.01 | :wavy_dash: `AddrManSelectFromAlmostEmpty` (Unstable with ~9.1 iters. Increase `minEpochIterations` to e.g. 91)
|          333,518.33 |            2,998.34 |    5.3% |      0.01 | :wavy_dash: `AssembleBlock` (Unstable with ~3.0 iters. Increase `minEpochIterations` to e.g. 30)

|             ns/ecdh |              ecdh/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|           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)

|             ns/byte |              byte/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|               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.03 |       45,384,476.83 |    2.2% |      0.01 | `Base58Decode`
|               68.53 |       14,592,583.70 |    0.4% |      0.01 | `Base58Encode`
|               12.49 |       80,052,422.25 |    0.2% |      0.01 | `Bech32Decode`
|               27.40 |       36,497,890.54 |    0.2% |      0.01 | `Bech32Encode`

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|              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)

|             ns/byte |              byte/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|                2.19 |      457,372,222.78 |   10.2% |      0.02 | :wavy_dash: `BenchRIPEMD160` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|               28.48 |       35,112,077.29 |    2.3% |      0.01 | `BenchTimeDeprecated`
|               24.88 |       40,199,467.44 |    1.7% |      0.01 | `BenchTimeMillis`
|               23.66 |       42,258,804.89 |    0.3% |      0.01 | `BenchTimeMillisSys`
|                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)
|      906,910,349.00 |                1.10 |    0.9% |      9.95 | `BlockAssemblerAddPackageTxns`
|      107,240,809.00 |                9.32 |    1.9% |      1.20 | `BlockToJsonVerbose`
|       46,955,665.00 |               21.30 |    2.8% |      0.53 | `BlockToJsonVerboseWrite`
|          821,344.00 |            1,217.52 |    3.2% |      0.01 | `BnBExhaustion`

|              ns/job |               job/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|            1,057.21 |          945,884.89 |    2.4% |      0.38 | `CCheckQueueSpeedPrevectorJob`

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|              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)

|             ns/byte |              byte/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|                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)
|                1.76 |      567,285,183.13 |    1.6% |      0.01 | `CHACHA20_256BYTES`
|                1.88 |      531,709,143.26 |    0.4% |      0.01 | `CHACHA20_64BYTES`

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|        1,124,437.00 |              889.33 |    2.4% |      0.01 | `CoinSelection`
|      281,890,514.00 |                3.55 |    2.1% |      3.09 | `ComplexMemPool`

|            ns/block |             block/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|        6,264,009.00 |              159.64 |    9.5% |      0.07 | :wavy_dash: `DeserializeAndCheckBlockTest` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
|        4,689,212.00 |              213.26 |    1.5% |      0.05 | `DeserializeBlockTest`

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|        6,843,852.00 |              146.12 |    4.4% |      0.08 | `DuplicateInputs`

|           ns/pubkey |            pubkey/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|           36,552.31 |           27,358.05 |    3.1% |      0.01 | `EllSwiftCreate`

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|           10,464.20 |           95,563.96 |    5.0% |      0.01 | :wavy_dash: `EvictionProtection0Networks250Candidates` (Unstable with ~88.5 iters. Increase `minEpochIterations` to e.g. 885)
|            8,047.51 |          124,262.04 |    5.9% |      0.01 | :wavy_dash: `EvictionProtection1Networks250Candidates` (Unstable with ~93.6 iters. Increase `minEpochIterations` to e.g. 936)
|           15,605.87 |           64,078.46 |   27.3% |      0.01 | :wavy_dash: `EvictionProtection2Networks250Candidates` (Unstable with ~51.9 iters. Increase `minEpochIterations` to e.g. 519)
|            3,338.20 |          299,562.81 |    8.2% |      0.01 | :wavy_dash: `EvictionProtection3Networks050Candidates` (Unstable with ~308.2 iters. Increase `minEpochIterations` to e.g. 3082)
|           11,651.77 |           85,823.86 |   13.8% |      0.01 | :wavy_dash: `EvictionProtection3Networks100Candidates` (Unstable with ~92.5 iters. Increase `minEpochIterations` to e.g. 925)
|           19,133.39 |           52,264.66 |    4.0% |      0.01 | `EvictionProtection3Networks250Candidates`
|       20,708,737.00 |               48.29 |    1.9% |      0.23 | `ExpandDescriptor`

|             ns/byte |              byte/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|                1.98 |      504,919,295.81 |    4.5% |      0.02 | `FSCHACHA20POLY1305_1MB`
|                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)
|                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)

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|                1.42 |      704,872,115.47 |    0.1% |      0.01 | `FastRandom_1bit`
|                7.87 |      127,003,264.54 |    2.1% |      0.01 | `FastRandom_32bit`
|               83.79 |       11,934,834.05 |    4.3% |      0.01 | `FindByte`
|          429,806.50 |            2,326.63 |    5.5% |      0.01 | :wavy_dash: `GCSBlockFilterGetHash` (Unstable with ~2.0 iters. Increase `minEpochIterations` to e.g. 20)
|       12,045,240.00 |               83.02 |   13.6% |      0.14 | :wavy_dash: `GCSFilterConstruct` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
|        2,083,659.00 |              479.92 |    1.9% |      0.02 | `GCSFilterDecode`
|            9,252.21 |          108,082.26 |    1.6% |      0.01 | `GCSFilterDecodeSkipCheck`
|          242,903.75 |            4,116.86 |    3.5% |      0.01 | `GCSFilterMatch`

|             ns/byte |              byte/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|                0.47 |    2,129,267,534.37 |    0.8% |      0.01 | `HexStrBench`

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|       19,072,145.00 |               52.43 |    0.8% |      0.21 | `LoadExternalBlockFile`
|            9,338.32 |          107,085.68 |    1.4% |      0.01 | `LogPrintLevelWithThreadNames`
|            8,827.85 |          113,277.82 |    0.8% |      0.01 | `LogPrintLevelWithoutThreadNames`
|            8,973.99 |          111,433.14 |    1.7% |      0.01 | `LogPrintWithCategory`
|                7.70 |      129,923,111.50 |    0.1% |      0.01 | `LogPrintWithoutCategory`
|            8,892.90 |          112,449.28 |    0.8% |      0.01 | `LogPrintfCategoryWithThreadNames`
|            8,885.83 |          112,538.78 |    1.2% |      0.01 | `LogPrintfCategoryWithoutThreadNames`
|            8,827.92 |          113,276.94 |    1.3% |      0.01 | `LogPrintfWithThreadNames`
|            8,781.48 |          113,876.07 |    1.9% |      0.01 | `LogPrintfWithoutThreadNames`
|               89.91 |       11,122,615.61 |    0.0% |      0.01 | `LogWithoutWriteToFile`
|       77,830,848.00 |               12.85 |    2.7% |      0.86 | `MempoolCheck`
|           46,574.00 |           21,471.21 |    8.2% |      0.01 | :wavy_dash: `MempoolEviction` (Unstable with ~24.2 iters. Increase `minEpochIterations` to e.g. 242)

|             ns/leaf |              leaf/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|              137.16 |        7,290,892.10 |    0.4% |      0.01 | `MerkleRoot`

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|            5,742.17 |          174,150.32 |    5.3% |      0.01 | :wavy_dash: `MuHash` (Unstable with ~165.7 iters. Increase `minEpochIterations` to e.g. 1657)
|            4,643.77 |          215,342.48 |    3.0% |      0.01 | `MuHashDiv`
|            4,221.39 |          236,888.85 |    5.0% |      0.01 | :wavy_dash: `MuHashMul` (Unstable with ~225.7 iters. Increase `minEpochIterations` to e.g. 2257)
|              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)

|             ns/byte |              byte/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|                0.63 |    1,584,500,971.26 |    0.1% |      0.01 | `POLY1305_1MB`
|                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)
|                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)

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|               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)
|               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)
|              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)
|                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)
|               10.19 |       98,153,251.14 |    3.7% |      0.01 | `PrevectorClearTrivial`
|              383.99 |        2,604,250.31 |   10.3% |      0.01 | :wavy_dash: `PrevectorDeserializeNontrivial` (Unstable with ~2.8 iters. Increase `minEpochIterations` to e.g. 28)
|               20.76 |       48,177,485.86 |   11.6% |      0.01 | :wavy_dash: `PrevectorDeserializeTrivial` (Unstable with ~47.5 iters. Increase `minEpochIterations` to e.g. 475)
|                   - |                   - |       - |         - | :boom: `PrevectorDestructorNontrivial` (iterations overflow. Maybe your code got optimized away?)
|                   - |                   - |       - |         - | :boom: `PrevectorDestructorTrivial` (iterations overflow. Maybe your code got optimized away?)
|            6,262.69 |          159,675.72 |    4.4% |      0.01 | `PrevectorFillVectorDirectNontrivial`
|            2,360.83 |          423,579.24 |   13.9% |      0.01 | :wavy_dash: `PrevectorFillVectorDirectTrivial` (Unstable with ~416.3 iters. Increase `minEpochIterations` to e.g. 4163)
|           20,881.96 |           47,888.22 |    5.0% |      0.01 | `PrevectorFillVectorIndirectNontrivial`
|           13,908.64 |           71,897.74 |    5.8% |      0.01 | :wavy_dash: `PrevectorFillVectorIndirectTrivial` (Unstable with ~68.2 iters. Increase `minEpochIterations` to e.g. 682)
|                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)
|                5.10 |      196,114,852.61 |    2.7% |      0.01 | `PrevectorResizeTrivial`
|              331.25 |        3,018,826.33 |    0.3% |      0.01 | `RegularPadded`
|              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)
|           27,072.58 |           36,937.74 |    9.5% |      0.01 | :wavy_dash: `RollingBloomReset` (Unstable with ~38.7 iters. Increase `minEpochIterations` to e.g. 387)
|        8,006,783.00 |              124.89 |    9.2% |      0.09 | :wavy_dash: `RpcMempool` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)

|             ns/byte |              byte/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|                1.81 |      553,945,727.72 |   20.6% |      0.02 | :wavy_dash: `SHA1` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
|                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)
|                5.18 |      192,994,562.80 |    1.6% |      0.01 | `SHA256D64_1024_SHANI using the 'sse4(1way),sse41(4way)' SHA256 implementation`
|                5.06 |      197,514,195.13 |    1.0% |      0.01 | `SHA256D64_1024_SSE4 using the 'sse4(1way),sse41(4way)' SHA256 implementation`
|               12.70 |       78,726,271.96 |    0.9% |      0.01 | `SHA256D64_1024_STANDARD using the 'standard' SHA256 implementation`
|                6.72 |      148,840,226.81 |    4.5% |      0.01 | `SHA256_32b_AVX2 using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation`
|                7.43 |      134,570,878.05 |    1.0% |      0.01 | `SHA256_32b_SHANI using the 'sse4(1way),sse41(4way)' SHA256 implementation`
|                7.42 |      134,766,372.01 |    1.3% |      0.01 | `SHA256_32b_SSE4 using the 'sse4(1way),sse41(4way)' SHA256 implementation`
|               10.77 |       92,889,906.04 |    0.2% |      0.01 | `SHA256_32b_STANDARD using the 'standard' SHA256 implementation`
|                2.77 |      361,075,745.75 |    3.4% |      0.03 | `SHA256_AVX2 using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation`
|                2.59 |      386,561,872.32 |    1.7% |      0.03 | `SHA256_SHANI using the 'sse4(1way),sse41(4way)' SHA256 implementation`
|                2.54 |      393,429,259.26 |    2.2% |      0.03 | `SHA256_SSE4 using the 'sse4(1way),sse41(4way)' SHA256 implementation`
|                3.94 |      253,670,806.83 |    2.5% |      0.04 | `SHA256_STANDARD using the 'standard' SHA256 implementation`
|                3.09 |      323,698,658.56 |    2.8% |      0.04 | `SHA3_256_1M`
|                2.56 |      389,866,587.65 |   11.2% |      0.03 | :wavy_dash: `SHA512` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)

|               ns/op |                op/s |    err% |     total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
|               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)
|                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)
|           66,123.00 |           15,123.33 |    2.5% |      0.01 | `VerifyNestedIfScript`
|           71,879.87 |           13,912.10 |    4.3% |      0.01 | `VerifyScriptBench`
|       67,780,410.50 |               14.75 |    3.5% |      1.53 | `WalletAvailableCoins`
|            7,995.70 |          125,067.17 |    3.9% |      0.01 | `WalletBalanceClean`
|          171,561.20 |            5,828.82 |   10.0% |      0.01 | :wavy_dash: `WalletBalanceDirty` (Unstable with ~6.0 iters. Increase `minEpochIterations` to e.g. 60)
|            8,292.98 |          120,583.91 |    7.6% |      0.01 | :wavy_dash: `WalletBalanceMine` (Unstable with ~102.5 iters. Increase `minEpochIterations` to e.g. 1025)
|               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)
|      794,569,135.00 |                1.26 |    1.0% |      8.77 | `WalletCreateEncrypted`
|      400,911,129.00 |                2.49 |    2.2% |      4.39 | `WalletCreatePlain`
|        1,724,541.80 |              579.86 |    6.4% |      0.10 | :wavy_dash: `WalletCreateTxUseOnlyPresetInputs` (Unstable with ~5.0 iters. Increase `minEpochIterations` to e.g. 50)
Assertion failed: (tx_res), function operator(), file wallet_create_tx.cpp, line 133.
[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

./autogen.sh
./configure --enable-debug=true CC=/usr/bin/clang  CXX=/usr/bin/clang++
sudo make -j"$(($(nproc)+1))" install
./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?

d646ca3

Operating system and version

macOS 14.1.2 (23B92)

Machine specifications

This is an intel based mac pro 2019

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions