The Yak Shave

12: A new cat named Merb!

Episode Summary

Sean and Sam talk about debugging a memory leak with Crates.io when upgrading to Rust 1.32 that could only be reproduced in production.

Episode Notes

Sean and Sam talk about debugging a memory leak with Crates.io when upgrading to Rust 1.32 that could only be reproduced in production. The problem was related to the jemalloc memory allocator being used in the newer version of Rust. Such an issue causes an impact, regardless of the language being used. Many memory allocators exist, but you’re usually not forced to utilize a specific one or library. Sean was able to find allocations from three places: Libgit 2, OpenSSL, and MIME-types. Is there a single culprit? Or, just a ton of tiny paper cuts? The last resort would be to run Valgrind in production. In addition, Sam expresses his frustration when giving an update on progress with fixtures and script repositories for Ruby autoformatter (Rubyfmt).