Sha512 doesn't work under Miri on macOS
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 66/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- rust
- Domaine
- cryptography
Piste de recherche
Commencez par lire l’implémentation SHA-512 pour AArch64 dans la dépendance sha2 indiquée dans la trace, ainsi que la configuration des tests Miri du dépôt. Reproduisez le problème avec cargo miri test sur macOS ; l’échec se produit lorsque Miri appelle l’intrinsic matériel SHA-512. Le travail est terminé lorsque les tests Miri peuvent s’exécuter sur macOS sans cette erreur d’opération non prise en charge.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
This is similar to https://github.com/RustCrypto/block-ciphers/issues/585. Sha3 is enabled on macOS by default, but not actually implemented under Miri, so users can't just cargo miri test:
error: unsupported operation: can't call LLVM intrinsic `llvm.aarch64.crypto.sha512h` on architecture `aarch64`
--> /Users/runner/.rustup/toolchains/nightly-2026-11-06-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/../../stdarch/crates/core_arch/src/aarch64/neon/generated.rs:23153:14
|
test tests::seal_for_another_pre_seal_hash_is_ignored ...
23153 | unsafe { _vsha512hq_u64(a, b, c) }
| ^^^^^^^^^^^^^^^^^^^^^^^ unsupported operation occurred here
|
= help: this means the program tried to do something Miri does not support; it does not indicate a bug in the program
= note: this is on thread `tests::seal_for_another_pre_seal_hash_is_ignored`
= note: stack backtrace:
0: std::arch::aarch64::vsha512hq_u64
at /Users/runner/.rustup/toolchains/nightly-2026-11-06-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/../../stdarch/crates/core_arch/src/aarch64/neon/generated.rs:23153:14: 23153:37
1: sha2::sha512::aarch64_sha3::compress
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.11.1/src/sha512/aarch64_sha3.rs:35:28: 35:90
2: sha2::sha512::compress
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.11.1/src/sha512.rs:64:41: 64:78
3: sha2::sha512::compress512
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.11.1/src/sha512.rs:79:5: 79:28
4: <sha2::block_api::Sha512VarCore as digest::block_api::VariableOutputCore>::finalize_variable_core::{closure#0}
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.11.1/src/block_api.rs:192:47: 192:83
5: block_buffer::BlockBuffer::<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, block_buffer::Eager>::digest_pad::<{closure@<sha2::block_api::Sha512VarCore as digest::block_api::VariableOutputCore>::finalize_variable_core::{closure#0}}>
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.12.1/src/lib.rs:399:9: 399:22
6: block_buffer::BlockBuffer::<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, block_buffer::Eager>::len128_padding_be::<{closure@<sha2::block_api::Sha512VarCore as digest::block_api::VariableOutputCore>::finalize_variable_core::{closure#0}}>
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.12.1/src/lib.rs:420:9: 420:65
7: <sha2::block_api::Sha512VarCore as digest::block_api::VariableOutputCore>::finalize_variable_core
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.11.1/src/block_api.rs:192:9: 192:84
8: <digest::block_api::ct_variable::CtOutWrapper<sha2::block_api::Sha512VarCore, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as digest::block_api::FixedOutputCore>::finalize_fixed_core
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.11.3/src/block_api/ct_variable.rs:109:9: 109:65
9: <sha2::Sha512 as digest::FixedOutput>::finalize_into
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.11.3/src/buffer_macros/fixed.rs:224:17: 224:91
10: <sha2::Sha512 as digest::FixedOutput>::finalize_fixed
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.11.3/src/lib.rs:104:9: 104:37
11: <sha2::Sha512 as digest::digest::Digest>::finalize
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.11.3/src/digest.rs:88:9: 88:42
12: ed25519_dalek::signing::<impl std::convert::From<&[u8; ed25519_dalek::::signing::SecretKey::{constant#0}]> for ed25519_dalek::hazmat::ExpandedSecretKey>::from
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-3.0.0/src/signing.rs:866:20: 866:73
13: ed25519_dalek::SigningKey::from_bytes
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-3.0.0/src/signing.rs:116:49: 116:84
14: <ed25519_dalek::SigningKey as std::convert::From<[u8; ed25519_dalek::::signing::SecretKey::{constant#0}]>>::from
at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-3.0.0/src/signing.rs:677:9: 677:34
15: tests::seal_for_another_pre_seal_hash_is_ignored
at crates/node/ab-node-rpc-server/src/tests.rs:121:23: 121:47
16: tests::seal_for_another_pre_seal_hash_is_ignored::{closure#0}
at crates/node/ab-node-rpc-server/src/tests.rs:120:47: 120:47
- Langage dominant
- Rust
- Étoiles
- 2.3k
- Forks
- 350
- Merge moyen
- 18 h 14 min
- PR mergées (30 j)
- 11
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de RustCrypto/hashes
-
`blake2::Blake2b512` does not implement `ZeroizeOnDrop`Peut-être pris @Johnsonajibi l’a pris il y a 69 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
RustCrypto/hashes#912 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
RustCrypto/hashes#909 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
RustCrypto/hashes#908 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
RustCrypto/hashes#763 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
blake2: implement `CustomizedInit` using `digest` macroPeut-être à nouveau libre @MavenRain l’a pris il y a 102 jours, et aucune pull request n’est ouverte. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
RustCrypto/hashes#747 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de RustCrypto/hashes
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
software-mansion/pathfinder#3620 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
bug priority: low
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
storytold/wordcraft#6211 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
backlog multiple issues priority: low
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
storytold/pdfcraft#6911 · 2 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
DGNIMPORT: "The DGN model has nothing that can be imported" when the first element streams are emptyOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
HakanSeven12/OpenCADStudio#2820 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour