There we had a funny bug in one of our security products. Ok let me introduce the author of this bug Mr. John A V. He’s my colleague, senior in my college and he is my room mate as well.
He’s a real a brilliant guy who is having in-depth knowledge in C++, Windows Operating System, Linux and UNIX. He worked with security products and drivers in all platforms.
But this brilliant guy had a funny bug in his early days of his career. Let me explain the bug.
John was the person who supposed to do the registry monitoring part of the application. The key responsibility of his module was to monitor the registry keys used by the application and if somebody change those settings manually or programmatically, (in simple word if a change occurs) this module will replace the keys with it’s previous (original) values.
John did its coding in a well manner, and prepared for testing. He started the application. As the part of testing, he deleted the key which supposed to use by the application. Suddenly his application caught into a deadlock. He checked the code. he could not find any problems with that. When analyzed once more, he found the problem.
His module implements a call back mechanism, which is invoked whenever the registry keys’ value changed. As usual, his callback function invoked when the registry value changed. Suddenly the module, changed it back to the old (original) value. But his modification was also a change and “this change” gave him a callback that “the key you are watching has been changed”. Finally the module stuck up. Anyway he fixed it and it’s working fine now… but still we’re used to remember him this funny bug:).
A Funny Bug
There we had a funny bug in one of our security products. Ok let me introduce the author of this bug Mr. John A V. He’s my colleague, senior in my college and he is my room mate as well.
He’s a real a brilliant guy who is having in-depth knowledge in C++, Windows Operating System, Linux and UNIX. He worked with security products and drivers in all platforms.
But this brilliant guy had a funny bug in his early days of his career. Let me explain the bug.
John was the person who supposed to do the registry monitoring part of the application. The key responsibility of his module was to monitor the registry keys used by the application and if somebody change those settings manually or programmatically, (in simple word if a change occurs) this module will replace the keys with it’s previous (original) values.
John did its coding in a well manner, and prepared for testing. He started the application. As the part of testing, he deleted the key which supposed to use by the application. Suddenly his application caught into a deadlock. He checked the code. he could not find any problems with that. When analyzed once more, he found the problem.
His module implements a call back mechanism, which is invoked whenever the registry keys’ value changed. As usual, his callback function invoked when the registry value changed. Suddenly the module, changed it back to the old (original) value. But his modification was also a change and “this change” gave him a callback that “the key you are watching has been changed”. Finally the module stuck up. Anyway he fixed it and it’s working fine now… but still we’re used to remember him this funny bug:).