Page MenuHomePhabricator

[chronik] Fix handling of -chronikelectrummaxhistory
ClosedPublic

Authored by Fabien on Fri, Feb 21, 13:35.

Details

Reviewers
tobias_ruck
Group Reviewers
Restricted Project
Commits
rABC4261e4fe94d7: [chronik] Fix handling of -chronikelectrummaxhistory
Summary

The option is assiging a 64 bits signed integer into a 32 bit unsigned integer, which might not work. This diff makes sure the value is withing bounds.

Test Plan
ninja all check-all

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Fabien requested review of this revision.Fri, Feb 21, 13:35
tobias_ruck added a subscriber: tobias_ruck.

works on my machine

This revision is now accepted and ready to land.Fri, Feb 21, 13:39

Failed tests logs:

====== Bitcoin ABC functional tests: chronik_plugins.py ======

------- Stdout: -------
2025-02-21T13:51:33.214000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250221_134830/chronik_plugins_181
2025-02-21T13:51:37.056000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 149, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 139, in _run_test_internal
    self.run_test()
  File "/work/test/functional/chronik_plugins.py", line 207, in run_test
    assert_equal(list(plugin.unconfirmed_txs(b"a").ok().txs), txs)
  File "/work/test/functional/test_framework/util.py", line 56, in assert_equal
    raise AssertionError(
AssertionError: not([txid: "\210\027\303\333\034\3126\365T\234\351\010\345?\231\266f\037N\320\301lk\367~\353\335\306\277u\t\336"
version: 1
inputs {
  prev_out {
    txid: "\023F\017\3045\022\037\306\334,\006\304\032\247_X\246A\241\313\236S\367~D\337^\245\3745\244?"
  }
  input_script: "\001Q"
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  value: 5000000000
}
outputs {
  output_script: "j\004TEST\004argo\004alef\003abc"
}
outputs {
  value: 1000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  plugins {
    key: "my_plugin"
    value {
      groups: "a"
      data: "argo"
    }
  }
}
outputs {
  value: 1000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  plugins {
    key: "my_plugin"
    value {
      groups: "a"
      data: "alef"
    }
  }
}
outputs {
  value: 4999990000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  spent_by {
    txid: "~\3372\177\005d\027s0\032\233\225\242\227\273\327\272\013\266b\353\357\221\372!\3413[\305uM,"
  }
  plugins {
    key: "my_plugin"
    value {
      groups: "a"
      data: "abc"
    }
  }
}
time_first_seen: 1740145896
size: 178
, txid: "~\3372\177\005d\027s0\032\233\225\242\227\273\327\272\013\266b\353\357\221\372!\3413[\305uM,"
version: 1
inputs {
  prev_out {
    txid: "\210\027\303\333\034\3126\365T\234\351\010\345?\231\266f\037N\320\301lk\367~\353\335\306\277u\t\336"
    out_idx: 3
  }
  input_script: "\001Q"
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  value: 4999990000
  plugins {
    key: "my_plugin"
    value {
      groups: "a"
      data: "abc"
    }
  }
}
outputs {
  output_script: "j\004TEST\004blub\004borg\005bjork"
}
outputs {
  value: 1000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  plugins {
    key: "my_plugin"
    value {
      groups: "b"
      data: "blub"
      data: "abc"
    }
  }
}
outputs {
  value: 1000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  plugins {
    key: "my_plugin"
    value {
      groups: "b"
      data: "borg"
    }
  }
}
outputs {
  value: 4999980000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  plugins {
    key: "my_plugin"
    value {
      groups: "b"
      data: "bjork"
    }
  }
}
time_first_seen: 1740145897
size: 180
] == [txid: "~\3372\177\005d\027s0\032\233\225\242\227\273\327\272\013\266b\353\357\221\372!\3413[\305uM,"
version: 1
inputs {
  prev_out {
    txid: "\210\027\303\333\034\3126\365T\234\351\010\345?\231\266f\037N\320\301lk\367~\353\335\306\277u\t\336"
    out_idx: 3
  }
  input_script: "\001Q"
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  value: 4999990000
  plugins {
    key: "my_plugin"
    value {
      groups: "a"
      data: "abc"
    }
  }
}
outputs {
  output_script: "j\004TEST\004blub\004borg\005bjork"
}
outputs {
  value: 1000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  plugins {
    key: "my_plugin"
    value {
      groups: "b"
      data: "blub"
      data: "abc"
    }
  }
}
outputs {
  value: 1000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  plugins {
    key: "my_plugin"
    value {
      groups: "b"
      data: "borg"
    }
  }
}
outputs {
  value: 4999980000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  plugins {
    key: "my_plugin"
    value {
      groups: "b"
      data: "bjork"
    }
  }
}
time_first_seen: 1740145897
size: 180
, txid: "\210\027\303\333\034\3126\365T\234\351\010\345?\231\266f\037N\320\301lk\367~\353\335\306\277u\t\336"
version: 1
inputs {
  prev_out {
    txid: "\023F\017\3045\022\037\306\334,\006\304\032\247_X\246A\241\313\236S\367~D\337^\245\3745\244?"
  }
  input_script: "\001Q"
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  value: 5000000000
}
outputs {
  output_script: "j\004TEST\004argo\004alef\003abc"
}
outputs {
  value: 1000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  plugins {
    key: "my_plugin"
    value {
      groups: "a"
      data: "argo"
    }
  }
}
outputs {
  value: 1000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  plugins {
    key: "my_plugin"
    value {
      groups: "a"
      data: "alef"
    }
  }
}
outputs {
  value: 4999990000
  output_script: "\251\024\332\027E\351\265I\275\013\372\032V\231q\307~\2720\315ZK\207"
  spent_by {
    txid: "~\3372\177\005d\027s0\032\233\225\242\227\273\327\272\013\266b\353\357\221\372!\3413[\305uM,"
  }
  plugins {
    key: "my_plugin"
    value {
      groups: "a"
      data: "abc"
    }
  }
}
time_first_seen: 1740145896
size: 178
])
2025-02-21T13:51:37.107000Z TestFramework (INFO): Stopping nodes
2025-02-21T13:51:37.359000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250221_134830/chronik_plugins_181
2025-02-21T13:51:37.359000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250221_134830/chronik_plugins_181/test_framework.log
2025-02-21T13:51:37.359000Z TestFramework (ERROR): 
2025-02-21T13:51:37.359000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-chronik-plugins/test/tmp/test_runner_₿₵_🏃_20250221_134830/chronik_plugins_181' to consolidate all logs
2025-02-21T13:51:37.359000Z TestFramework (ERROR): 
2025-02-21T13:51:37.359000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2025-02-21T13:51:37.359000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2025-02-21T13:51:37.359000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: chronik_plugins.py

This revision was landed with ongoing or failed builds.Fri, Feb 21, 13:57
This revision was automatically updated to reflect the committed changes.