Monday, August 7, 2017

They say debugging is like investigating a crime scene where you're the murder.

We have been planning to Integrate a python distributed computing library named "Dask" to our Stingray library. After planning I started implementing it step by step. Everything was moving smoothly and I was almost done with the very first working example. I ran the default tests in the library and all tests passed except for a single one!

It didn't look so bad as 47 tests have passed and only a single test failed, yet I have never been so wrong. The failing test was the beginning of a 3 days nightmare! For 3 days straight I've stopped progressing, and all I was doing is continuously debugging trying to figure out what is causing the bug.

At the end of the second day I started to feel powerless and stuck, so I asked my mentor for help. He responded immediately and asked me to write him a failing test so he can investigate himself.
Shortly, he joined me in the debugging fiesta. We've spent the rest of the day investigating.
By the third day I almost lost hope and I was about to postpone the debugging and begin with a new task, but my mentor told me otherwise, so I went back to debug and suddenly! There was it! A single word of code was causing all this mess. Literally all I had to do was to remove a single word!

This was by far the most challenging bug I've faced during GSoC. As much as I've learned how much trouble a single word of code can cause, I hope I don't face a similar bug ever!

No comments:

Post a Comment