Benchmarks pallet-certification

Je n’arrive pas à lancer les tests de benchmarking sur ce pallet :

./target/release/duniter benchmark pallet \
--chain=gdev-benchmark --steps=50 --repeat=20 \
--pallet=pallet-certification --extrinsic=* --execution=wasm \
--wasm-execution=compiled --heap-pages=4096 \
--header=./file_header.txt \
--output=./runtime/common/src/weights/pallet_certification_cert.rs

Starting benchmark: pallet_certification::force_add_cert
2023-05-12 16:22:05 panicked at 'assertion failed: Self::events().iter().any(|record| record.event == event)', /Users/cgeek/.cargo/git/checkouts/substrate-7b26ec960e31aff5/7f8b8db/frame/system/src/lib.rs:1482:9
Error: Input("Error executing and verifying runtime benchmark: Execution aborted due to trap: wasm trap: wasm `unreachable` instruction executed\nWASM backtrace:\n\n    0: 0x22adb0 - <unknown>!rust_begin_unwind\n    1: 0x4440 - <unknown>!core::panicking::panic_fmt::h57b56b1dc717ba48\n    2: 0x4401 - <unknown>!core::panicking::panic::h152edf3fad35a2e6\n    3: 0x1d1c6e - <unknown>!frame_system::<impl frame_system::pallet::Pallet<T>>::assert_has_event::he5822d3eb3d0ba98\n    4: 0x11f6d2 - <unknown>!core::ops::function::FnOnce::call_once{{vtable.shim}}::h3fc002d15cdf9283\n    5: 0x172ff1 - <unknown>!pallet_certification::benchmarking::<impl frame_benchmarking::utils::Benchmarking for pallet_certification::pallet::Pallet<T,I>>::run_benchmark::h928225e3b0810778\n    6: 0x25d7a - <unknown>!<gdev_runtime::Runtime as frame_benchmarking::utils::runtime_decl_for_Benchmark::BenchmarkV1<sp_runtime::generic::block::Block<sp_runtime::generic::header::Header<u32,sp_runtime::traits::BlakeTwo256>,sp_runtime::generic::unchecked_extrinsic::UncheckedExtrinsic<sp_runtime::multiaddress::MultiAddress<<<sp_runtime::MultiSignature as sp_runtime::traits::Verify>::Signer as sp_runtime::traits::IdentifyAccount>::AccountId,()>,gdev_runtime::RuntimeCall,sp_runtime::MultiSignature,(frame_system::extensions::check_non_zero_sender::CheckNonZeroSender<gdev_runtime::Runtime>,frame_system::extensions::check_spec_version::CheckSpecVersion<gdev_runtime::Runtime>,frame_system::extensions::check_tx_version::CheckTxVersion<gdev_runtime::Runtime>,frame_system::extensions::check_genesis::CheckGenesis<gdev_runtime::Runtime>,frame_system::extensions::check_mortality::CheckMortality<gdev_runtime::Runtime>,pallet_oneshot_account::check_nonce::CheckNonce<gdev_runtime::Runtime>,frame_system::extensions::check_weight::CheckWeight<gdev_runtime::Runtime>,pallet_transaction_payment::ChargeTransactionPayment<gdev_runtime::Runtime>)>>>>::dispatch_benchmark::h386c9c993e7523b6\n    7: 0x1f224c - <unknown>!Benchmark_dispatch_benchmark\n")

Pas de problème avec pallet-identity en revanche.

Et vous ? Je suis sur le commit 406d5f882c3c7f820f75579eca89bab54fe3d3f2, branche master.

2 Likes

Je reproduis le même comportement. Quand j’avais approuvé la MR !145, c’était bon, mais il a dû se passer des trucs entre temps. Il faudrait ajouter les benchmarks à la CI, mais comme elle est déjà très lourde et plante régulièrement à cause des runners, ça donne pas très envie ><

@bgallois tu peux regarder ça ?

[edit] je pense qu’on a dû passer de NewCert à RenewedCert suite à !159 et donc on ne trouve pas l’événement auquel on s’attend :slight_smile:

1 Like

Après !164, ça fonctionne de nouveau.

./target/release/duniter benchmark pallet \ 
--chain=gdev-benchmark --steps=5 --repeat=4 \  
--pallet=pallet-certification --extrinsic="*" --execution=wasm \
--wasm-execution=compiled --heap-pages=4096 \
--header=./file_header.txt \
--output=./runtime/common/src/weights/
1 Like