ひかり電話障害-宅内ルータ連続稼動で発着信不能に
NTT東日本、西日本で利用している宅内ルータに、「電源投入後、約8ヶ月(249日)間連続して利用すると、ひかり電話の発着信ができなくなる」という、バグが発見されました。(Nikkei Net,NTT東日本,NTT西日本) 対象となるのは、NEC製のルータ(NEで終わるもの)、東日本120万台、西日本6万台です。7日をめどにバージョンアップをするというので、しばらくは電源のON/OFFの再起動の応急処置を行う必要があります。
症状からは、起動時に0からスタートし10msecごとに1つずつアップしていく32ビット符号ありの変数のカウンタが存在し、そのカウンタ変数のオーバフロー時に問題が生じていると推測できます。 Linux,Windowsの497日問題など、このようなオーバーフローバグの事例は多いです。バグになるという認識が浸透していないのでしょうか。
なお、値x,yの大小比較をオーバフローを考慮して比較するには、x,yが符号ありintか符号なしintのどちらかの場合、((int)(x-y))と0との大小比較を行う実装方法があります。