laitimes

If this continues, the Millennium Worm will have to repeat ten more times

You can grasp everything big and small in the venture capital circle

If this continues, the Millennium Worm will have to repeat ten more times

Tencent Venture | ID:qqchuangye

Author / Du Chen

Edited / Vicky Xiao

At the turn of the century 21 years ago, there was a major event in the world's computer systems and the Internet: the Millennium Bug.

At that time, computer systems processed years in double digits (for example, in 1998, the system would be reduced to 98), while 2000, which was still displayed as 00 in the old system, would be treated by the system as 1900.

However, what no one expected was that just a few days ago, the "Millennium Worm" was repeated...

1

What happened?

First of all, fortunately, the scale of this accident is not as large as that of the Millennium Worm. Only enterprise on-premises mail servers that have adopted Microsoft Exchange Server 2016 and 2019 versions are known to be affected.

Because many enterprises around the world use self-built systems (rather than cloud-based email solutions such as Gmail, NetEase, Alibaba Cloud, etc.), Microsoft's Exchange Server (Microsoft Exchange Server) is a local mail system that many enterprise users are using.

However, on December 31, 2021, the last day of last year, when IT staff were already on vacation, Microsoft suddenly pushed a new version of Exchange Server, directly shutting down the email system of all enterprise customers, and a large number of emails were backlogged in the sending sequence, but could not be sent and received normally.

The error code looks something like this:

Log Name: Application

Source: FIPFS

Logged: 1/1/2022 1:03:42 AM

Event ID: 5300

Level: Error

Computer: server1.contoso.com

Overnight, a large number of IT staff poured their weight on Reddit and Microsoft's official technology community.

"How did this thing come about?" And it's in the new Chinese New Year's Eve??? ”

"The phone calls were all blown up. Microsoft, what do you do? ”

The problem is on the version number of this update pushed by Microsoft.

This update contains the version number of the email malware scanning engine 2201010001, which indicates 00:01:01,01,2022.

The first two digits of this maximum are 21.

That is to say, using this integer method to record and represent time can only normally cover the last second in 2021.

Therefore, when Microsoft pushed out this 2201010001 version, the version number exceeded the maximum number of integers accepted by the system, and the result was that the Exchange Server mail system was directly crashed...

At present, Microsoft has provided a way to fix this problem, you can execute a PowerShell script to fix it automatically, or you can fix it manually. The fix must be performed on all servers that were affected by the Exchange Server 2016 or 2019 version.

Many of the affected corporate IT also encountered various problems in the repair process. In general, this New Year's gift package sent by Microsoft this time has made everyone have not had a good New Year's day...

On Microsoft's official technology forum, a user sent out a soul torture question: Who will push the production environment update on December 31?

2

The Millenium Worm repeats itself, and the reason is still stupid

This bug in Microsoft Mail Server, along with similar date-time processing errors from other companies/products, was named Y2K22 (short for Year 2022).

Why is it named that way? It is precisely because of the problems that cause these bugs to appear that they are almost exactly the same as the Millennium Bug (Y2K bug) 21 years ago.

The article began to mention that the millennium worm appeared because some relatively old computer systems at that time used double-digit abbreviations when dealing with years.

Ordinary people at the time could not have imagined that the arrival of the new millennium would cause computer systems to malfunction —the only people who could predict this would happen were programmers.

And when the Millennium Worm event is about to happen, the COBOL programmers behind the systems that have been in use for ten or even 20 years (most of them have or are about to retire) are asked out of the mountains to fix these vulnerabilities that they "buried" that year...

At that time, there were two ways of repairing:

1) Completely rewrite the code of all systems, called "expansion";

2) Make a quick patch that allows computers to correctly identify numbers from 00 to 20 as 2000 to 2020 – this way is also known as "windowing".

Specifically, this patch allows computer systems to use January 1, 1970, 0:00 seconds (i.e., the Unix timestamp, which programmers are very familiar with) as the midpoint of the century-old "time window", that is, any point in time from 1920 to 2020, which can be represented in computer systems using the distance from its unix timestamp.

A 1999 report by the High Performance Computer News Network showed that at the time, about 80 percent of systems ended up being fixed with a second rapid patch. The cost advantages of the quick patch approach are obvious compared to the total rewrite once and for all, but even so, the estimated repair costs around the world are as high as $300 billion...

If this continues, the Millennium Worm will have to repeat ten more times

When faced with a problem that is large enough, I believe that the normal reaction of the average person is that "sooner or later this problem must be completely solved", and it will also tend to solve the problem once and for all.

However, at that time, people did not choose to be once and for all, but chose to patch, and there was another layer of consideration, that is, these systems are old enough to always be repaid in the next 20 years, so there is no need to rewrite them once and for all.

Professor Dylan Mulvin of the London School of Economics said, "Windowing was the worst of all the options even then, and it was the practice of kicking the ball to posterity. ”

Sure enough, when the new system replaced the old system, the programming ideas of the year were still inherited...

In fact, by 2020, some of the systems that Millennium Worm had repaired, as well as newly installed systems, had once again had almost the same problem as Millennium Worm: the Y2K20 bug.

For example, at the time, some users were surprised to find that the bills they received from broadband companies showed the date 1920:

If this continues, the Millennium Worm will have to repeat ten more times

The wrestling game "WWE 2K20" developed by the game company 2K also went down in the first second of the first day of the year in the title of the game:

At that time, many parking automatic payment machines in New York City also triggered a firewall mechanism due to the wrong system time, and could not accept credit card payments:

If this continues, the Millennium Worm will have to repeat ten more times

And guess what? These failures were quickly fixed.

As for which line of thinking they adopted – whether it was once and for all, or a quick patch – you should be able to guess it too...

If there is anything that human beings cannot do, it must be to learn from history.

Then came the Y2K21 bug. For example, last year, there was a major error in the official database of the United States Weather Service (NWS), and the data provided by the external interface was a full day late, resulting in errors in the weather data of many third-party agencies, affecting the normal operation of many industries such as civil aviation, marine fishing, and animal husbandry.

If this continues, the Millennium Worm will have to repeat ten more times

There are also some ordinary users who find that their computer dreams back to 1921:

If this continues, the Millennium Worm will have to repeat ten more times

Then, 2021 also turned over, and the Y2K22 bug came on time without suspense...

In addition to the Microsoft Exchange Server failure this time, some Honda owners have also found that their car automatically jumps back to 2002 every morning when it starts.

Automotive professionals investigated and analyzed and found that the cause of the problem of Honda's in-vehicle system is the same as Microsoft's, it is all in the Int32 integer, the string of the first 22 cannot be read, and here in Honda it becomes a time regression to 2002... Hundreds of models from 2004 to 2012 had a high chance of encountering this problem.

If this continues, the Millennium Worm will have to repeat ten more times

In public, a Honda spokesperson said it was still investigating the specific cause of the problem. However, some car friends posted on the forum that Honda sent someone to contact them, saying that the problem will be eliminated by itself in August this year...

In the foreseeable future, Y2K23, 24, 25... all kinds of problems will continue to occur.

Also, Unix timestamps, which have been widely used in various computer systems, can also cause a problem in 32-bit systems that prevents some software from working after 3:14:14:07 on January 19, 2038:

If this continues, the Millennium Worm will have to repeat ten more times

For the "2038 problem", the response of the entire industry (especially the embedded industry with extremely long hardware life) is the same as 21 years ago: anyway, by 2038, the new system should be replaced again, and then it will be said...

It seems that people do not want to completely solve the "millennium worm" and its derivative problems.

But why?

3

"Once and for all", is it better to work more and get more?

For such a recurring situation as the millennium worm, some people joke that it is a pit buried by programmers

At least when the millennium worm was rampant, when the old COBOL programmers were asked out of the mountains to fix the problem, some people questioned: Did they deliberately bury the pit for us?

There's a reason for this idea: programmers' careers are limited, and not everyone can rise to the top of the ladder. So how do mediocre programmers ensure that they can still be needed when they are about to retire?

There is nothing wrong with burying a loophole that only you know how to fix? A cycle of 20 years, just covering from college graduation to middle age is not confused...

Of course, in fact, in the specific operation, most of the companies operating computer systems, when the accident occurs, will also be more inclined to choose a fast, fast effect, low cost repair method.

So, programmers aren't conspirators either, because they're not decision makers — they're just executing the right solution at the right time for everyone.

Note: The cover image is from Business Insider and the copyright belongs to the original author. If you do not agree to use, please contact us as soon as possible and we will delete it immediately.

END

What do you think is a programmer's career?

Welcome to leave a message in the comment area and share it with you.

Read on