3 most popular bugs


There are easy and hardly fixable bugs. If the easy bugs could be fixed and forgotten, then the other type of BUGS remains with us forever. I want to share with you 3 such BUGS.

The first bug occurred in 2005 when I worked at the firm of FriendScout24. We had tools for monitoring in which was html tag in every line on the server. If the server responded normally there was green color, if it did not there was red. Usually, it showed all green, and then on one fine day the servers started failing, 4 servers went down for 3 minutes. Then, after 5 minutes everything turned green again, as if nothing had happened.

The same situation repeated the next day, then every other day, and so the whole week. So we eliminated the usual-suspects (loadbalancer and javascript) and came to the conclusion that this might be some user. As there were about 2 million users and 25,000 were logged on at the same time, it has been difficult to find one. However, we have already had the situation in the history of FriendScout24 when one user crashed the entire system, so we decided not to give up and keep looking for that user.

Finally, we found the cause it was a picture. One girl decided to change her profile picture, which was good, but her picture was in the PDF format. At that time we did not accept the PDF format, we took only JPEGs and GIFs. The girl was not fool she renamed foto.pdf in foto.jpg. Thus she bypassed the mime-type check, and her picture got into the system. There was imagemagick, which was the state-of-the-art library for processing images at that time. So imagemagick instead of sending the picture back recognized the PDF format of the picture and called ghostscript to handle this PDF. Since there was not any ghostscript, that caused the light seg fault in native library.

The girl has tried to do it all over again using the next server, and she was killing one by one the remaining servers. By the way, thanks to her that she did not have the patience to try it 12 times in a raw, because we had only 12 web servers at that time.

The second bug occurred long time ago, when I was doing one of the first version of this site. The website had information about all kinds of equipment for dry-cleaners and laundries, and all equipment was loaded in the content-management-system of the site. At first everything was fine, a customer was satisfied and so on. A week later the customer called and complained that the addition of new equipment takes too much time. I checked the logs, they were empty and the server stood idle, I did not find anything wrong. The customer called back and said that he added 100 units of equipment again, and now every new unit takes about a minute to be loaded. I checked again, it turned out that the customer was right, I found the bug. It was log.debug (cache).

At the same time debug was off, therefore I have not seen anything in logs, but toString method of the cache just drew every detail of that for me. Since then I have used log.isDebugEnabled ().

Finally, here is my favorite bug. This is the main bug at all times. It happened in 2003 at the same firm of FriendScout24. Before they hired me the platform was not very stable, failing often, and it was serviced by people who had little understanding of what they were doing. And when people cannot understand the cause of bad behavior of the system, they have one repair method “ctrl-alt-del”. Oops. After all what is good for Windows that should be good everywhere, is not it?

In our case, one of the administrators wrote a super-smart script that read the system logs, and if it found there keyword FATAL, then it restarted all applications. When there were too many restarts, they had to reconsider their policy. And it happened like this:
Some woman has called in customer support service center and said:

Woman: "Why when I login into your system, it immediately shuts down?"
Customer support service representative: "What is your username?"
Woman: "femme-fatale."

You got it :)!
Killer 30 january 2012, 18:03
Vote for this post
Bring it to the Main Page


Leave a Reply

Avaible tags
  • <b>...</b>highlighting important text on the page in bold
  • <i>..</i>highlighting important text on the page in italic
  • <u>...</u>allocated with tag <u> text shownas underlined
  • <s>...</s>allocated with tag <s> text shown as strikethrough
  • <sup>...</sup>, <sub>...</sub>text in the tag <sup> appears as a superscript, <sub> - subscript
  • <blockquote>...</blockquote>For  highlight citation, use the tag <blockquote>
  • <code lang="lang">...</code>highlighting the program code (supported by bash, cpp, cs, css, xml, html, java, javascript, lisp, lua, php, perl, python, ruby, sql, scala, text)
  • <a href="http://...">...</a>link, specify the desired Internet address in the href attribute
  • <img src="http://..." alt="text" />specify the full path of image in the src attribute