壊れた PC のケースを使い中身を新調した。

 

マザーボードに CPU と RAM を付け、外部端子は HDMI と USB にキーボードを接続して電源を入れる。

 

マザーボードからビープ(エラー)音が鳴って画面も出ず起動しない。

 

キーボードの NUM LOCK を押す。

 

NUM LOCK の LED に反応があるときは LED の変更処理を実行する CPU と RAM とキーボードは正常動作していることを意味する。

 

NUM LOCK の LED に反応がないときは CPU か RAM だろう。

 

今回は LED に反応があったので、残るは HDMI しかない。

 

HDMI ケーブルを交換すると PC が起動して BIOS 画面が出た。

 

HDMI ケーブルが原因で、マザーボード レベルのエラーになっていたらしい…

 

アクティビティモニタで eset_daemon の「UNIXシステム呼び出し」を確認すると

となっていた。 さらに com.eset.endpoint を確認すると

同じ 2147483647 となっている。

 

この数字は 10進数で表現されているが、16進数では 7FFFFFFF と表現される。

 

これは符号付き32ビット整数の上限になっている。

 

2進数では 111 1111 1111 1111 1111 1111 1111 1111 と表現される。

 

イメージしやすいように 1 を 9 に置き換えると

    999 9999 9999 9999 9999 9999 9999 9999

となる。

 

以前の macOS では符号なし32ビット整数の上限 4294967295 まで表示されていたので、表示される数値を制限したのだろう。

 

簡単に再現できないのでデバッグは難しい部類に入るだろうけど、バグってそうなコードは絞られるので、そこを全てチェックすれば修正できる。

 

しかし、その能力が ESET にあるのか疑わしいので、直るとしたら相当先だろう。

 


参考記事
 

 

 

ワイヤレス給電 兼 モバイル バッテリー機器。

 

機器を置く側が盛り上がっている。

 

モバイル バッテリーにもなるので中のバッテリーが膨らんだようだ。

 

調子が良くなかったので使用中止してから暫く経っている。


使用を中止しても経年劣化で中にガスが発生するらしい。
 

今にも弾けそうな感じが少々恐い。

何の前触れもなく

が現れた。詳細を見ると

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       UNKNOWN_0xD at 0x0000000000000000
Exception Codes:       0x000000000000000d, 0x0000000000000000
〜〜〜(略)〜〜〜

Thread 2 Crashed::  Dispatch queue: com.apple.biomesyncd
0   libsqlite3.dylib                        0x7ff811556618 sqlite3DbMallocRawNN + 56
1   libsqlite3.dylib                        0x7ff811578c04 sqlite3ExprListSetSpan + 212
2   libsqlite3.dylib                        0x7ff8114bc755 yy_reduce + 3013
3   libsqlite3.dylib                        0x7ff8114bac35 sqlite3RunParser + 821
4   libsqlite3.dylib                        0x7ff8114ba1a3 sqlite3Prepare + 371
5   libsqlite3.dylib                        0x7ff8114b9eba sqlite3LockAndPrepare + 202
6   libsqlite3.dylib                        0x7ff81150da72 sqlite3_prepare_v2 + 50
7   biomesyncd                                 0x107637c3e 0x1075f0000 + 293950

となっている。

 

内部で使用している SQLite3の問題 のようだけど…