I wrote a post about data rot over on the Circonus blog.
Picking up right where we left off in our previous exercises. We’ve got a core due to an error. We fix the error by removing line 31 from myprog.c and rebuilding. The program runs now… prints out some text and pauses… to simulate a long-running program that we need to debug without disrupting too much. Let’s get a core! # UMEM_DEBUG=default ./myprog &  74502 read 25144 words. # echo '::gcore' | mdb -p `pgrep myprog` mdb: core.
So what’s this all about then? Debugging. I’ve written a lot of C, I still write a lot of C and I sure as hell end up debugging a lot of C. One thing that pisses me off is when I’ve got a core file, but I’ve no idea about the exact version or build of the ELF binary that produced it. The bottom line is that I still need to find the failure.
I’ve seen various posts from a diaspora of “entrepreneurs” that have resulted in nothing more than a cacophony of conflicting advice. Some of that advice was (in my opinion) bad. What better way to fix this than add my own! I started by first business OmniTI in 1997 and then proceeded to found three other companies: Fontdeck, MessageSystems, and Circonus. I’ve been around a bit and understand the stresses of growing a company from nothing (no funding) as well as from taking rounds of financing and leveraging debt.