![]() ![]() Sometimes I’d think that I had a bug fix, but it would turn out to be not quite right and someone else would come in to discuss the problem or propose their own solution.Īnd sometimes, when investigating a bug, I’d form a clear enough mental model of the code that the clouds would part and I’d spot bugs lurking in the shadows. Sometimes, I would see an interesting discussion in a mailing list and would offer my two cents 9. But this pressure also pushes me to give my best work. Now I wince whenever I botch a patch series and have to resend/update it, since anyone could be watching. Before then, I thought that hardly anyone paid attention to my patches, but suddenly a deluge of seasoned engineers came pouring in with their opinions. I once received a comment on my patch that contradicted what another maintainer had suggested. (Hey, that’s what release candidates are for, yeah?) Slightly devastating, but I’m working on it. Another bug… actually turned out to be a regression that I introduced. One was a pre-existing bug that was revealed after I touched the code, and I managed to fix that too 8. ![]() Then, less than a week later, more bug reports for my other fixes came in. It was ultimately unrelated to my code change and only shared the same call trace, but I managed to fix it anyway. But this time, after some back-and-forth discussions, my pattern recognition senses kicked in and I realized that this new bug could be fixed with the same observation that fixed the old bug.Ībout two months in, I received my first bug report for a change I’d made 7. The root cause for the old bug was very far away from its symptoms, and someone else had to fix it with an astute observation 6. One of my recent bug fixes was very reminiscent of one of the earliest bugs I’d looked at but failed to fix in another subsystem far far away. It was no longer a matter of whether I could fix something, but how much time it would take. But gosh darn it, I could fix those bugs. Sometimes I had to spend days studying a kernel mechanism, or diving through a decade of logs 5, or reading the specific protocol specification/random powerpoint slides from 2012/scatterings of blog posts from when the feature was first implemented. ![]() Sometimes I tried tackling harder bugs, but I would often hit dead ends.įrom the practice, and from observing how other people tackled problems, I soon started analysing bug reports that were more complex and appeared in widely-used parts of the code. Some of these bugs weren’t too tricky, but they weren’t fixed because there were less eyes on them. At first, the bugs I could tackle were found in less maintained parts of the code base where errors popped out from neglect (or were present since the dawn of time). In the first few weeks, I started by fixing small bugs here and there. Following his suggestions, I found myself regularly contributing to the DRM subsystem, and working on larger and larger portions of the code base over the months. Very shortly after, Daniel Vetter felt that something was odd since I fixed two very similar bugs in the same area of code, so he audited the Direct Rendering Manager (DRM) auth and lease code. (This turned out to be a pretty exhilarating way to pass the time, and I can still recall how hard my heart was pounding when I hit send on my first patch.)ģ months ago, I was accepted into the Linux Kernel Mentorship Program 3.Īfter a week of completing the initial tasks 4, while anxiously scrolling through bug reports wondering if I could do anything useful, I fixed my first bug.Ī day later, Dan Carpenter pointed out that the Sparse static code analyser found a warning that was similar to the bug I just fixed. I was visiting home and was under quarantine, so I thought what the heck, why not spend all my days and nights diving into the kernel. Help spread the word, the last two rounds of this resulted in loads of kernel patches submitted in lots of different areas and a few job offers.- Greg K-H January 24, 2021Ĥ months ago, I saw that applications for the summer programs were open, but I was busy with final exams, so I put it aside again.ģ and 1/2 months ago, applications had been open for awhile, and though I thought that many people had probably been working on the code challenge and/or making initial contributions for weeks, if not months 2, I decided to apply anyway. Linux Kernel mentor program for Spring 2021 to help fix kernel bugs is now open for applications: ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |