During the first days of October 2012, we had an illumos day, and a one day illumos hackathon that was very well attended by some of the best and brightest in our community (and I daresay, in any open source community.)
The purpose of the hackathon, besides just doing some cool projects, is to give folks a chance to interact with other domain experts, and code, particularly in areas outside their particular area of expertise.
This year a number of interesting projects were worked on, and I think some of these are at the point of starting to bear fruit. The project I undertook was the addition of post-mortem analysis support for pfiles(1). That is, making it possible to use pfiles against a core(4) file. Adam Leventhal suggested the project, and provided the initial suggestion on the method to use for doing the work.
This is a particularly interesting project, because the information that pfiles reports is located in kernel state (in the uarea) and has not traditionally been available in a core file.
To complete this project, I had to work in a few areas that were unfamiliar to me. Especially I had never looked at the innards of ELF files, nor at the process by which a core file is generated. To add the necessary information, I had to create a new type of ELF note, and then add code to generate it to libproc (used by gcore) and elfexec (for kernel driven core dumps). I also had to add support to parse this to libproc (for pfiles), and elfdump. The project turned out to be bigger than anticipated, consisting of almost a thousand lines of code. So it took me a little more than a day to complete it.
A webrev with the associated changes is presented for your enjoyment. I'd appreciate any review feedback, and especially any further testing.
"hackathon project: pfiles - postmortem analysis"
No comments yet. -