OrangeGardenRoom

技術系のメモ

ClamAVのエラー LibClamAV Error: mpool_malloc(): Attempt to allocate bytes.

2016年10月22日……。

僕の地獄はここから始まった……。

サーバが繋がらなくなった、という連絡が入り、たまに壊れるのでまあ、あるかとその時は思っていましたね。

 

世界で同時多発したらしい、ClamAVのメモリアロケーションエラー。

最新版のClamAVが入ってれば起こりません。

 

 

 

Bug 11647 - bugzilla.clamav.net

https://bugzilla.clamav.net/show_bug.cgi?id=11647

 

上記でバグ報告上がってます。

 

 

Comment 7にて、

8388608 byte ≒ 128Mbyte までしか使えないようです。

libclamav.so.バージョン のファイルの、最後に書いてある 16進数を0x80000から0x100000へ書き換えれば動くようになるけど自己責任で、と書いてありますが……!

最新バージョンは、この割当量が増えてます。

 

 

 

とりあえず最新バージョンに上げれるなら上げてしまったほうがいいです。

 

ClamAVは、「clamav本体」「clamavのデーモン」「clamavの更新プログラム」の3個から成ってますので、

全てアップグレードしないとアロケーションエラーが出るようです。

それぞれ、clamav、clamav-daemon(clamd)、freshclam、となりますので、

この3個共パッケージちゃんとアップグレードしましょう。

 

 

 

ちなみに、ClamAVのバージョンが、0.97で起こっているようです。

0.98以上に上げれば問題無いのですが、上げれない場合もあります。

僕のように、Ubuntu 11.10(Oneiric)を使っていると上げれないようです。

色々やってみましたが、僕の知識が少ないのでできず……。

 

 

 

結論、ClamAVを止める or Ubuntu 12.04にアップグレードする、が最短手段?のようです。

ClamAVを止めるとセキュリティ的なところもあると思いますので、アップグレードかなと。

 

SSHや、端末でログインすると、”Run ‘do-release-upgrade’ to upgrade to it.”というのが出るので、do-release-upgradeとコマンドいれてアップグレードしましょう。

 

 

 

 

起動時、上記エラーが出てしまい、ログイン出来ない場合。

 

 

Ubuntuであれば、GRUB画面でrecovery modeを選び、remountしてからrootログインを行い、

とりあえず、clamav-daemonのパーミッションから、実行権限抜いてあげれば起動します。

 

chmod a-x /etc/init.d/clamav-daemon

 

 

たまにremountで止まって進まない場合は、

GRUBの選択画面で、eを押して、linuxの行から、roとなっているところをrwに変更してF10で起動します。

選択画面でてきたら、remount選ばずroot選べば直接読み書きできるようになってます。

 

 

ついでに、ログも肥大化してる可能性大なので、お気をつけください。

HDDの空き容量0%になってる場合あります。

 

 

 

その他OSに関しても、シングルユーザーモードでログインすれば大丈夫なんじゃないかと。

もしかしたらUNIXで起こってるのはUbuntuだけかもしれないですが。。。

Mac OS Xでも起こっているようで大変ですねほんと。

Mac OS Xでメール関連エラーで数分起きリブートがかかる?ようで、対処方法は上記リンクの中にあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です