Arduino crashes on Windows 2000 / Athlon 64


I've been searching the internet for a solution to my problem but nothing really came. Here's my setup : Athlon 64/Win2k SP4 (fresh install) and Arduino 0007 (version 0006 gives me exactly the same error).

The problem is that I cannot start the software at all. As soon as I lauch it, I get a window saying that arduino.exe has generated errors and must be stopped. The Dr Watson message says that arduino.exe generated an exception 'c0000005' at address '784AD79A (RtlZeroHeap)'. I also tried to used the run.bat file but in that case, I get : 'Exception in thread "main" java.lang.NoClassDefFoundError: \java'.

The strange thing is that I have nearly the same setup at home (Sempron 64/Win 2k SP4) and I have never had a single problem.

At first, I thought it may be a problem with the Sun Java installed (JRE 1.5.0 update 10 i586), which was highly unprobable cause I know Arduino uses its own java but just in case, I removed it from the system with no help.

Then, as I mistakely installed IE6 in English instead on French (the Win2k is in French), I reinstalled IE6 in French and updated Windows with all the security and stability patches. No success.

Is someone else got the problem? Thanks in advance for any help.



I had problems when I tried to execute arduino.exe directly, but if I execute "run.bat", it works fine.

Two things to try with run.bat:

  1. Replace all the backslashes "\" with forward slashes "/".
  2. Reinstall Sun's Java, and edit run.bat so that JAVA_HOME points to its bin directory. You'll also need to remove java\lib\rt.jar from the CLASSPATH, and java\bin from the PATH.

Do either of those work?

Thanks David for your quick answer. I won't be at work until Monday so I cannot try anything on that particular setup. On my system (Pentium D 925/Win2k), arduino.exe works like a charm but running run.bat gives me exactly the same error as described above. So I thought I might try to get it running from run.bat on my system but I've tried the corrections you suggested and other combinations but so far, nothing works.

On the other hand, my machine at home has a dual boot with Ubuntu 6.10 (64 bits) so I could give a try to compile Arduino from scratch. I followed the method given on gerlad's weblog and, except the fact that I had to symlink to the 64 bits version of, the environment starts.

The problem comes with the USB serial transfer. The board is correctly recognized by the system and /dev/ttySUB0 device was created. I built Arduino the first time from svn sources, getting a 0008-alpha version. The environment works, compiles but uploading does nothing, no communication. Then, on gerald's weblog, he starts from the 0006 source tree so I did the same and under root, everything works. I still have to see how it will goes under a normal user.

After this, I followed the tutorial on installing Arduino on Ubuntu, on the Arduino website. Except the fact that I still had to symlink the library (I supposed I should have modified LIBPATH in the arduino script instead), the environment works (version 0007) but the USB transfer is still inoperative (as a normal user and as root).

I'm still investigating the problem, trying to figure out what makes the 0006 in-situ compiled version different from the 0007 already compiled. But I might miss something really obvious...

Thanks again for the great support!!


As for the Linux setup, the Arduino 0007 distribution comes with a pre-compiled version of uisp that's patched to support the ATmega168. It probably doesn't work on your system. You might need to delete it and install a standard one (if you're using the ATmega8) or compile your own from the source:

For Windows, you're setting JAVA_HOME to the path containing the java executable, not the executable itself, correct? And are you sure you found all the backslashes?

I knew it would be something obvious. I installed uisp from the Ubuntu tree (version 20050207-3) and symlinked uisp from the /usr/bin to the tools directory and it works perfectly. I haven't tried doing much so far (such as serial communication with Processing), I just hope I won't have any "64 bits" surprises such as the librxtxSerial.o ;) At last, I would switch to a 32-bit version of Ubuntu.

If I can get it running smoothly under linux, it's even better! In fact, I will be teaching Arduino in two weeks (that's why I may sound so stressed about getting it running) and if I can restrict the work on linux, it will be a reason for my students to discover it.

Under Windows, I'll check later (as I'm running unix right now :P ) but I remember setting the JAVA_HOME to the right directory. I'll double check the backslashes but, except from the PATH environment variable, I'm pretty sure I changed all the others.

Thanks again,


Ok, I finally found out what was wrong with the run.bat under win2k (at least for my system, I still have to check at work).

In the supplied run.bat, it has the line :

set JAVA_HOME="java\bin"

actually, it should be :

set JAVA_HOME=java\bin

without the ". And then, it works perfectly.

Then, I wanted to try what you suggested, using the Sun Java environment and replace all the backslashes by forwar slashes in the CLASSPATH and it works great too.

Let's keep finger crossed for Monday when I try that trick at work. It's not that I would favour windows but I prefer having a backup in case something goes wrong with the 64-bit Linux. :-/

Finally, I've managed to get some time to try using the run.bat on the initial setup (Athlon 64, Win2k FR SP4) and, with the correction mentioned above (removing the "), it works perfectly. I haven't had the time yet to try under Linux Ubuntu 6.10 AMD64 but I don't suspect a problem anyway.