Debugging Reproducibility Issues in Rust Software
Summary
This article documents debugging reproducibility issues in Rust software using diffoscope, focusing on a non-deterministic procedural macro in an indirect dependency that breaks reproducible builds. It describes isolating the cause by diffing dependencies, inspecting LLVM IR, and identifying HashMap iteration order as the root cause, with a call-out to report a bug in the hashify crate and practical guidance for building reproducible software.