📜 ⬆️ ⬇️

Funny computer errors

The following funny and interesting computer (and in fact human) errors once took place and left their mark on the mythology of information technology.

Death spider


This old (about 8 years old) story perfectly illustrates how easily total blasphemy can ruin everything. Josh Breckman worked for a company that received a large order to develop a content management system for a government site. CMS was needed so that employees could edit the content on the site. The customer already had a large site, so it took some time to transfer the old content. A few months later the new site was ready to launch.

Everything went well, and the website worked without any problems. But after six days all the content disappeared completely. There are only standard messages about the void databases, calling for adding content to the newly created site. The result of the investigation showed that all content was deleted from a single IP address.
')
The malicious hacker was not someone from across the ocean - from China, Russia, India, or some other state known for its unfriendly hackers. It was googlebot.com. No, Google is not engaged and hacked into the sites of the state apparatus in order to fool that way. As it turned out later, human participation was not in principle. Here is what really happened:


Fortunately, Josh managed to restore an earlier version of the site from backups. His leadership did not understand what was wrong with this system, where cookies and Javascript redirection code to the authorization page are used to verify login. Instead of correcting this shortcoming, the client was simply forbidden to copy and paste content through the clipboard.

500 miles email


This story dates back to November 24, 2002, when it was first published. In fact, it happened earlier, approximately in the period of 1994-1997, just its author, Trey Harris, preferred to leave it as a particularly interesting anecdote for communication at business and not so meetings. A few moments in it are changed (for example, he first corrected the problem, and only later began an investigation), but, as the author claims, it really happened.

Harris served the e-mail operation of the campus of the University of North Carolina at Chapel Hill. Most of the campus mail servers were serviced by Sendmail with configuration files that were written by Harris. Once the head of the statistics department phoned the system administrator.

- We had problems with sending letters to the department.
- What problems? - I asked.
“We cannot send an email further than 500 miles,” he replied.
I choked coffee.
- What?
- We can send emails for only 500 miles. Generally a little more. Say 520. But no further.
“Well ... E-mail doesn't work that way, in general,” I replied, trying to keep confusion in my own voice. Confusion to show the head of the department is impossible, even if it is some seedy department of statistics. - What makes you think that letters do not go beyond 500 miles?
“This is not what I think ,” he began hot-temperedly. “You see, when we first noticed this a few days ago ...”
- Have you waited days? - I interrupted him with a ringing in his voice. - And you could not send emails all this time?
- We could. Just no further ...
“... than 500 miles,” I finished. - I understood. But why haven't you called before?
- Well, up to this point we didn’t have enough data to be sure about what is really happening - yeah. This is a department of statistics . - So, I asked one of our geostatistics to see what ...
- Geostatistics ...
“... yes, she made a map with a radius by which we can send letters, and it turned out a little more than 500 miles. However, within this radius there are points to which we cannot send letters, and to some we can, but not always. Further this radius does not work.
“I see,” I replied, and wrapped my hands around my head. - When did it start? You said that a few days ago. Did something change with the system during this period?
- Well, the worker came, patched our server and rebooted it. But I already called him, and he said that the mailer did not touch.
“Well, now I’ll look and call you back,” I hung up, hardly trying to convince myself that it was not a joke. No, it was not the first of April. I was trying to remember if someone should play me.

Harris immediately tried sending out a few letters. Letters without problems went to the Research Triangle of North Carolina, Richmond, Atlanta, Washington and Princeton. But before Memphis the letter did not go. A similar situation happened with the servers in Boston and Detroit. Harris began to narrow the search: New York (420 miles) worked, but Providence (580) did not.

Here, he began to feel that he was losing his sanity, but after a failed attempt to send a letter to a friend in North Carolina, whose network provider had a connection in Seattle, it became clear that it was not a matter of geography.

Checking the sendmail.cf configuration file showed that it was not edited; it was the same file Harris wrote. The FAIL_MAIL_OVER_500_MILES were also not there and could not be. The administrator connected to the SMTP port via Telnet, and he happily responded with a SendOS SunOS banner.

And only here began to reveal the cause of all the problems. At that time, Sun still included Sendmail 5 in its operating system, despite the good degree of efficiency of Sendmail 8. Harris was well versed in this matter, so he installed a new version and wrote configuration files for it. It goes without saying that they included variables only for Sendmail 8.

The puzzle details fell into place: that worker patched the server and updated the SunOS version, which rolled back the Sendmail version. The sendmail.cf file remained unchanged, and for some reason, Sendmail 5 could partially use this new version of the configuration file. New, unfamiliar settings were skipped. Unspecified options were equated to zero.

One of these settings was the timeout value for connecting to a remote SMTP server. After experiments on this particular server, it became clear that a zero timeout means interruption of the connection after 3 milliseconds. The entire campus network was built entirely with the help of switches, so there were no delays, except for the speed of light.

Harris opened the console.

 $ units 1311 units, 63 prefixes You have: 3 millilightseconds You want: miles * 558.84719 / 0.0017893979 

“... 500 miles Generally, a bit more. ”

Mail server crash


Very often, corporate and public mail servers are clogged with copies of letters if some filters, auto replies or rules are incorrectly configured. Caroline Zilonka gives a typical example of such a situation. She sent a letter with the subject “Fuck this shit”, and a language filter worked on it.

This filter sent a typical warning that the use of such vocabulary is unacceptable. But the response letter had the theme “Re: Fuck that shit”, so the filter already worked on this letter again, responding with the letter “Re: Re: Fuck that shit”. The cycle continued.

The next day, upon arrival at work, an employee found that her mailbox was packed to capacity. The rest of the workers responded to this letter, which hammered to the full and their boxes, so the mail was completely. After this incident, the policy of abusive letters was weakened.

Integer overflow


The traditional song in the USA and Canada “ 99 bottles of beer ” in the context of this error is given in the following form:

0 bottles of beer on the wall
0 bottles of beer!
Take one, go in a circle
4,294,967,295 bottles of beer on the wall!

This is a integer overflow error joke, integer overflow (or underflow?). A 32-bit unsigned integer cannot store negative values, and is not checked for correctness here when we subtract one from it. The result is 2 32 −1, or 4 294 967 295.

This error is common everywhere, but the most famous manifestation of it is the behavior of Mahatma Gandhi in the very first game of the legendary series “Civilization” (Civilization).

In these step-by-step strategies, each nation has its own personification - one of the most famous rulers. The goal of the game is to win by various parameters - it can be time, conquest, politics, scientific, cultural or some other indicators.

The player can control the whole state. Geopolitics, culture, science, religion, industry, international relations, wars and other aspects of the game have a complex mathematical model with many parameters.

Real Gandhi was the author of the philosophy of non-violence in the struggle for the independence of India from Britain. And the creators of the game decided to reflect this: his parameter of aggression was equal to 1 on a scale from 1 to 10, which meant the minimum level of violence on his part.

The problem manifested itself in the adoption of a democratic system that reduced the level of aggression by 2 units. The variable responsible for storing this parameter was an unsigned short integer, so the level of aggression increased to 255 out of 10, which made India as aggressive as possible. Gandhi went crazy and immediately unleashed an armed conflict with the rest of the game world.

Of course, this bug was fixed in the next games in the series. In the last, the fifth “Civilization,” they decided to add him, but in the form of an “ Easter egg ”: Gandhi does behave peacefully, but he is much more than all the other leaders (their value is in the region of 4-6, maximum 8) is inclined to use nuclear weapons ( value 12). After reaching the atomic era, India can easily make several nuclear strikes.

Source: https://habr.com/ru/post/363005/


All Articles