闽公网安备 35020302035485号
1990 年 1 月 15 日,AT&T 的新泽西运营中心检测到大范围的系统故障,网络显示屏上出现了大量红色警告。尽管试图排除故障,但网络故障仍持续了 9 个小时,导致呼叫连接故障率达到 50%。AT&T 因此损失了 6000 多万美元,6 万多名美国人的电话完全无法接通。此外,500 个航班延误,8.5 万人受到影响。
然而,就在这一天,从纽约的一个交换机开始,整个网络出现了故障。这是由于最近一次更新中的一个软件错误造成的,该错误影响了网络中的 114 个交换机。当纽约的交换机复位并发出信号时,这个错误引发了多米诺骨牌效应,导致大范围的网络中断。
有趣的是,这个软件并没有经过测试。由于代码改动较小,因此按照管理层的要求绕过了测试。
1 while (ring receive buffer not empty
and side buffer not empty):
2 Initialize pointer to first message in side buffer
or ring receive buffer
3 get copy of buffer
4 switch (message):
5 case (incoming_message):
6 if (sending switch is out of service):
7 if (ring write buffer is empty):
8 send "in service" to status map
9 else:
10 break // The error was here!
END IF
11 process incoming message, set up pointers to
optional parameters
12 break
END SWITCH
13 do optional parameter work