hyperledger / besu

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
1.53k stars 849 forks source link

PrivDebugGetStateRootOnchainGroupAcceptanceTest acceptance test failure #1909

Closed RatanRSur closed 3 years ago

RatanRSur commented 3 years ago
org.hyperledger.besu.tests.acceptance.privacy.PrivDebugGetStateRootOnchainGroupAcceptanceTest > blockParamShouldBeApplied FAILED
    java.lang.AssertionError: 
    Expecting:
      <TransactionReceipt{transactionHash='null', transactionIndex='0x0', blockHash='0x927c6abf3adcfe583679b27729559c6eb4fccab8b75b232846746410d6562906', blockNumber='0x29', cumulativeGasUsed='null', gasUsed='null', contractAddress='null', root='null', status='null', from='null', to='null', logs=null, logsBloom='0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', revertReason='null'}>
    to be equal to:
      <TransactionReceipt{transactionHash='null', transactionIndex='null', blockHash='null', blockNumber='null', cumulativeGasUsed='null', gasUsed='null', contractAddress='null', root='null', status='null', from='null', to='null', logs=null, logsBloom='null', revertReason='null'}>
    when recursively comparing field by field, but found the following 2 differences:

    field/property 'output' differ:
    - actual value   : "0x"
    - expected value : "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002035695b4cc4b0941e60551d7a19cf30603db5bfc23e5ac43a56f57f25f75486a2a8d9b56a0fe9cd94d60be4413bcb721d3a7be27ed8e28b3a6346df874ee141b"

    field/property 'status' differ:
    - actual value   : "0x0"
    - expected value : "0x1"

    The recursive comparison was performed with this configuration:
    - the following fields were ignored in the comparison: commitmentHash, logs, blockHash, blockNumber, logsBloom, transactionIndex
    - no overridden equals methods were used in the comparison (except for java types)
    - these types were compared with the following comparators:
      - java.lang.Double -> DoubleComparator[precision=1.0E-15]
      - java.lang.Float -> FloatComparator[precision=1.0E-6]
    - actual and expected objects and their fields were compared field by field recursively even if they were not of the same type, this allows for example to compare a Person to a PersonDto (call strictTypeChecking(true) to change that behavior).
        at org.hyperledger.besu.tests.acceptance.dsl.privacy.condition.ExpectValidPrivateTransactionReceipt.verify(ExpectValidPrivateTransactionReceipt.java:51)
        at org.hyperledger.besu.tests.acceptance.dsl.privacy.PrivacyNode.verify(PrivacyNode.java:215)
        at org.hyperledger.besu.tests.web3j.privacy.OnChainPrivacyAcceptanceTestBase.createOnChainPrivacyGroup(OnChainPrivacyAcceptanceTestBase.java:86)
        at org.hyperledger.besu.tests.web3j.privacy.OnChainPrivacyAcceptanceTestBase.createOnChainPrivacyGroup(OnChainPrivacyAcceptanceTestBase.java:45)
        at org.hyperledger.besu.tests.acceptance.privacy.PrivDebugGetStateRootOnchainGroupAcceptanceTest.blockParamShouldBeApplied(PrivDebugGetStateRootOnchainGroupAcceptanceTest.java:85)
RatanRSur commented 3 years ago

@mark-terry assigned you cause I saw you on the git blame. Feel free to pass it off as you see fit :)

macfarla commented 3 years ago

This could also be related to https://github.com/hyperledger/besu/issues/2202 and https://github.com/hyperledger/besu/issues/2201

macfarla commented 3 years ago

Think this was caused by the EC Curve being static bug. Haven't seen this fail since we fixed that.