uutils/coreutils · error

OpenSSL hasher finish failed

Error message

OpenSSL hasher finish failed

What it means

Error "OpenSSL hasher finish failed" thrown in uutils/coreutils.

Source

Thrown at src/uucore/src/lib/features/sum.rs:535

                }
            }
        }

        impl Digest for $algo_type {
            fn hash_update(&mut self, input: &[u8]) {
                match self {
                    Self::OpenSsl(h) => {
                        h.update(input).expect("OpenSSL hasher update failed");
                    }
                    Self::PureRust(h) => digest::Digest::update(h, input),
                }
            }

            fn hash_finalize(&mut self, out: &mut [u8]) {
                match self {
                    // `finish` finalizes the hash and resets the underlying context.
                    Self::OpenSsl(h) => {
                        let result = h.finish().expect("OpenSSL hasher finish failed");
                        out.copy_from_slice(&result);
                    }
                    Self::PureRust(h) => {
                        let result = digest::Digest::finalize_reset(h);
                        out.copy_from_slice(&result);
                    }
                }
            }

            fn reset(&mut self) {
                *self = Self::default();
            }

            fn output_bits(&self) -> usize {
                Self::BIT_SIZE
            }
        }
    };

View on GitHub (pinned to 0b77ced485)

Solutions

  1. Call finish only once per hasher instance; create a new context for each digest.
  2. Check the OpenSSL error stack for the root cause of the finalize failure.

When it happens

Trigger: Occurs when the OpenSSL-backed hasher fails while finalizing the digest.

Common situations: OpenSSL finalization failure after update errors or invalid hasher state.


AI-assisted analysis of uutils/coreutils@0b77ced485 (2026-08-19). Data as JSON: /api/errors/9d8e58b788ef6d43. Report an issue: GitHub.