wiki:ArduinoIdeErrorOnVista

Arduino IDEがVistaでエラーになる

あるときから、Windows Vista でArduino IDEが動かなくなりました。 たぶん、Microsoft Update(Windows Update)で何かが更新されたせいだと思います。

環境

  • Windows Vista
  • Arduino IDE 0011

症状

Arduino IDEを起動すると、ウィンドウが現れることもなく終了してしまいます。 「arduino.exe」と同じフォルダに「hs_err_pid9999.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)

リンク

Last modified 9 years ago Last modified on Sep 13, 2008 11:46:24 PM