?

Log in

No account? Create an account

Fixing bugs in Open Source - Journal of Omnifarious

Mar. 14th, 2006

06:26 pm - Fixing bugs in Open Source

Previous Entry Share Next Entry

Up until recently, I've semi-ignored bugs in Open Source projects. I filed bugs for problems that irritated me and moved on. More recently, I've decided to try fixing them.

Part of the reason I've decided to do this is to improve my own skills at being able to quickly pull apart a program and find a bug. I've not been so great at that in the past, having done mostly new development and/or working on projects I wrote.

This is how I got involved in the Mercurial project. And I've also managed to have the displeasure of having Ulrich Drepper tell me that some broken behavior in glibc was going to continue because there was no spec that declared it broken.

My most recent bit of bug fixing was for a program called highlight that generates nice formatted and syntax highlighted source code listings. I submitted the bug and when it became apparent it wasn't going to get fixed anytime soon by anybody, I went ahead and fixed it myself. I'm mildly proud of myself, since fixing it myself took all of about 2 hours worth of work, including the time it took to add the attachments containing the fix to the bug report.

I also feel like I'm doing more to pull my weight in the Open Source community now. Getting my name around a little more and letting people know who I am.

Current Mood: [mood icon] contemplative

Comments:

[User Picture]
From:pphaneuf
Date:March 15th, 2006 04:25 am (UTC)
(Link)
Welcome to the "death to Ulrich" club.
(Reply) (Thread)
[User Picture]
From:hozed
Date:March 15th, 2006 04:32 am (UTC)
(Link)
Hear hear!

All hail our new uclibc overlords.

Well, I can hope anyway..

Have I ever mentioned glibc is a big pile of stinking.. something. Have I complained about the fact that the fast native async I/O interfaces supported by Linux *aren't* by glibc?
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:March 15th, 2006 04:04 pm (UTC)
(Link)

I've not heard of uclibc. Are there any distros that use it? :-)

(Reply) (Parent) (Thread)
[User Picture]
From:pphaneuf
Date:March 15th, 2006 04:39 pm (UTC)
(Link)
It's the libc made for and used by ucLinux. dietlibc is made for static linking, I think that uclibc is a bit "bigger", more of a middle range between the two. The upshot is that most "normal" applications will work just fine with uclibc, if I recall.
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:March 16th, 2006 02:51 pm (UTC)
(Link)

I bet uclibc would work for most of the things I write. I bet it'd even work for something like Python. It would be interesting to compile the Python interpreter with it, then benchmark it.

(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:March 15th, 2006 04:15 pm (UTC)
(Link)

What's to recommend it over dietlibc?

(Reply) (Parent) (Thread)
[User Picture]
From:pphaneuf
Date:March 15th, 2006 04:46 pm (UTC)
(Link)
I really love how the aiocb structure is too big, and that one of the most commonly referred member is just after the cache line size of most x86 processor. Moving this member higher up (incompatible change, so never going to happen) increased the performance of glibc's AIO significantly, argh...
(Reply) (Parent) (Thread)
[User Picture]
From:omnifarious
Date:March 15th, 2006 05:05 pm (UTC)
(Link)

That's kinda sad. It'd basically require a libc5->libc6 level of change to fix that now. :-(

(Reply) (Parent) (Thread)
[User Picture]
From:sfllaw
Date:March 15th, 2006 04:57 am (UTC)
(Link)
I love Ulrich. But only because I have friends in the right places. :)
(Reply) (Parent) (Thread)