Arduino IDEがVistaでエラーになる
あるときから、Windows Vista でArduino IDEが動かなくなりました。 たぶん、Microsoft Update(Windows Update)で何かが更新されたせいだと思います。
環境
- Windows Vista
- Arduino IDE 0011
症状
Arduino IDEを起動すると、ウィンドウが現れることもなく終了してしまいます。
「arduino.exe
」と同じフォルダに「hs_err_pid
9999.log
」というようなファイルが現れます。
このファイルを開くと、以下のようなエラーが書いてあります。
An unexpected exception has been detected in native code outside the VM. Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x42D4031 Function=JNI_OnLoad+0x4C3 Library=C:\Users\?????\Desktop\arduino-0011\java\bin\fontmanager.dll Current Java thread: at sun.awt.font.NativeFontWrapper.getCharMetrics(Native Method) - locked <0x18215090> (a java.lang.Class)
原因
ウィンドウズに入っているフォントファイルの1個以上が、Javaランタイムの「fontmanager.dll
」でうまく解釈できないため、異常な動作をしたのが原因のようです。Arduino IDEに同梱されているJavaランタイムのバージョンは1.4.2で、だいぶ古いです。当時想定していなかった形式のフォントファイルが今は存在するのかもしれません。
参考:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4762039
対処の方針
Arduino IDEに同梱されているJavaランタイムを、最新の物に置き換えます。
対処
最新のJREまたはJDKをすでにインストールしてある人は、ここは飛ばします。
- Sunのサイトから、最新のJRE(Java Runtime Environment)をダウンロードします。 現時点での最新は、「Java Runtime Environment (JRE) 6 Update 7」でした。 JDKってのもあって、JDKはJRE+アルファなので、JREで十分です。
- インストールします。
Arduino IDEのJavaランタイムを置き換えます。
- Arduino IDEを解凍しておきます。
- この中の「
java
」フォルダを削除します。 - 先ほどインストールしたJREのフォルダを探し、Arduino IDEのフォルダにコピーします。
僕の環境では「
C:\Program Files\Java\jre1.6.0_07
」でした。 - コピーしたフォルダの名前を「
java
」に変更します。
対処その2
最新のJREまたはJDKをすでにインストールしてある環境なら、単に「java
」フォルダを削除するだけでも動きます。
ダウンロード
上記の対処を行った物を置いておきます。
http://www.switch-science.com/static/Arduino-0011-win-vista-ja.zip
Javaの再配布のライセンスがどうなのかちゃんと調べていません。 あと、ウィルスなどは含まれていないはずですが、何かまずいことがあっても責任は持ちません。 心配な方は、上記の手順でご自身で作業して下さい。
(2008/7/19 - sgk)