今朝、角川のネタを出しましたが……あれ、元記事は昨日朝にざーっと書いたものだったんですよね。要点は下部にくっつけた自著宣伝をやるにあたってネタとして書いた……のですが。
昨日あまりに巨大な障害が発生したので、ちょっと時機を逸しましたね。
間抜けですが。
あ、ちなみに昨日アップしたWindowsの記事はネットで拾った対処方法をばらまいておこうと思ってやっただけです。カクヨム上でやってる人は(あの時点では)見当たらなかったので。
でもせっかく書いたから公開したかったので今朝出したわけですが、今度はちゃんとタイムリーな記事です(多分)
Windows障害の混乱。
一夜明けても収束する気配がないですね……まあ仕方ないですが。
一応復旧手順は出てますが、そもそも普通に使ってたらまたなる可能性だってあるでしょう。
というかなってるんじゃないかな?
とりあえず、やはりというか、バグではあるようですね。
サイバー攻撃とかではない、とCrowdStrike社が宣言してるようです。
おそらくOSの基幹部分のメモリを、うっかり上書きするようなエラーがあったんでしょうかね。あるいはあり得ない命令を出してしまうようになっていたか。
いずれにせよ、全く意図せずにでしょう。
昔いた会社で同じようなのがありました。
普通にプログラムが動いてると、突然停止する。
デバッグでやっててもなぜそこで落ちるか全くわからなかったそうです。
で、頼まれて調べたら……。
意図せずメモリを上書きしてたからだったんです。
ただ、そのメモリの上書きしている場所は、全く違うんですよね。
だからデバッガでもまず分からない。
当時私もよく見つけたものだと思いました。
デバッガで分からなかったから、ソースレビューを延々とやったんですが。
なお、めっちゃ上司に感謝されました。
ちなみに、やらかしていたのはこんな感じ(C言語分かる人向け)
char *a;
char b[4] = "abcd";
a = (char*)malloc(sizeof(char));
memcpy(a, b, sizeof(a));
C言語分かる人なら、やらかしに気づくでしょうか(w
もっとも、今時のプログラムって、昔のC言語みたいにメモリを明示的に確保、解放するなんてことはしてないと思うんですが……。
でもセキュリティソフトだと、なんかやっていそうではありますよね。
組み込みのアセンブラとか普通にありそうだし。
いずれにせよ、復旧……っていうか、修正パッチはすぐ配るとしても、起動できない問題は各自自分で昨日書いたような方法でやるしかないんですよねぇ。
いや、マジで色々終わってる。
普通にこの会社、倒産しかねない気がする……。
[追記]
そういえば、この予期せぬメモリ上書き。
これと同系統で有名なバグが、FC版ドラクエ4にあるんですよね。
あのゲーム、逃げた回数をカウントしてて、8回目には必ず逃げられるという救済措置があったらしいのです。
ところが。
ボス戦だけは当然ですが逃げられない。
そうすると、8回目をカウントしてしまう。
で、コンピューターに詳しい方はご存じでしょうが、当時はビットレベルでメモリを削って処理してたのですが、この逃げる回数は絶対上限が8回だから、7回目までしか記録不要なため、4ビットしか割り当てられておらず。
4ビットで記録できる数字は、0~7まで。
ボス戦で8回目逃げると、その隣のビットを潰してしまうんです。
んで。
なんとここに、デバッグ専用の『攻撃が必ず会心の一撃になる』フラグが設定されていたらしく。
故に、あのゲームはボス戦で8回逃げると、以後必ずすべての攻撃が会心の一撃になるというバグがあったんですよね(笑)
さて。記事は終わりですが、宣伝は当面載せることにしたので宣伝です。
〇転移直後に竜殺し
https://kakuyomu.jp/works/16817330660905115993 知らない人ほぼいない気はしますが、私が書いた中では一番人気。
大学生になる直前の青年が異世界転移して剣と魔法の世界を冒険するお話です。
……嘘は言ってない、うん(笑)
基本、二日に一回、0時更新。
今日も更新しました。
〇白雪姫の家族
https://kakuyomu.jp/works/16817330656060480073 超スローペースで進む年の差ジレジレ恋愛モノ。
なお、時間進行それ自体は遅いわけではなく、すでに開始から二年半経過。
高校一年生だったヒロインも今や大学生になってます。
でもまだくっついていません(笑)
基本、今は四日に一回更新。
次の更新は明日の0時、つまり今日の夜です。
画像は さいとう みさき 様が描いてくださったエルフィナ。
食事満喫中。
……さて、テーブルの上のパフェは何個目でしょうかね(笑)