Despite there being now four blog entries to sift through the
Opening Day entries
(one from me,
one from Liane,
one from Claire
and another from me),
there are still some great entries that have gone uncategorized. Many
of these entries fall into the category of “debugging war stories” —
engineers
describing a particularly tough or interesting bug that they nailed.
The
proliferation of these kinds of stories among the Opening Day entries
is revealing: in
some organizations,
you’re a hero among engineers if you come up with a whizzy new app
(even if the implementation is a cesspool),
while in
others you might gain respect among engineers by getting a
big performance win
(even if it makes things a bit flakey),
but in Solaris
development, nothing gains the respect of peers like debugging some
diabolical bug that has plagued the operating system for years.
So if you’re new to
OpenSolaris
and you’re looking to make a name for yourself, a good place to start is
in the never-ending search for elusive bugs.
To get a flavor for the thrill of the hunt, check out:
-
George Shepherd on
using DTrace to debug a nasty STREAMS bug. -
Jim Carlson
on
debugging a hang in ldtermclose.
You can infer how much
we obsess about debugging from the first line of Jim’s entry: “Every
once in a while, a bug sticks with you long enough that you remember the
ID number without having to think about it.” - Adam Leventhal
on debugging a cross call hang. -
Chris Gerhard on a
two line fix in init. -
Sarah Jelinek
on
debugging a UFS file truncation bug. For me personally,
it’s always very gratifying to see a bug like Sarah’s — where
DTrace
was guided by expert hands to help out on a tough problem. -
Sherry Moore on
debugging a bug at the murky interface between compiler and
operating system. - Saurabh Mishra on debugging a memory ordering problem.
-
Alok Aggarwal
on debugging an NFSv4 problem on SPARC. -
Narayana Kadoor
on debugging a logic error in dynamic intimate
shared memory (DISM). -
Surya Prakki
on
debugging kernel memory corruption, surely the most
pernicious of software pathologies. -
Raja Gopal Andra
on debugging an application bug. -
Martin Englund
on tracking down a bug in the audit daemon. -
Peter Harvey on
increasing UNIX group membership. In this entry, Peter
doesn’t dwell on the bug — which is clear in this case — but rather
the complexities of fixing it. It’s a good example of how something that
appears simple can be stubbornly complicated. -
Prabahar Jeyaram on
debugging a nasty panic in the UFS lockfs protocol.
And here are a few more on the simple (but thorough) satisfaction from
fixing old bugs:
-
Paul Roberts on
an ancient bug in xargs. -
Stacey Marshall
on a four year old bug in the name service switch. Stacey’s entry touches
on the larger satisfaction of going from a bug in a strange subsystem
to understanding the code, developing the right fix, verifying the fix
and then writing the test case to be sure. The dedication to this kind
of craftsmanship — taking the time to do it the Right Way, even for small
stuff —
is what has drawn many of us to Solaris; it is, as Stacey says, “what I
love about this job.” - Darren Moffat on a nine year old bug in usermod.
That about does it for today. There are still many more entries to
categorize, but fortunately, I think I can see the light at the end of the
tunnel — or is that just the approach of death from the exhaustion of
sifting through
all of
this content?
Technorati tags:
OpenSolaris
Solaris
DTrace