Serial Monitor Crash (AMD64)

I just got the duemilanove. I'm running Ubuntu 8.10 AMD64(x86_64) with openjdk-6, librxtx-java 2.1.7. I've copied librxtxSerial.so from /usr/lib/ to arduino lib and it's working fine. I'm able to program the board fine. However, I cannot initiate serial monitoring... it crashes with this:

Stable Library

Native lib Version = RXTX-2.1-7 Java lib Version = RXTX-2.1-7

RXTX Warning: Removing stale lock file. /var/lock/LCK..ttyUSB0

An unexpected error has been detected by Java Runtime Environment:

SIGSEGV (0xb) at pc=0x00007f705431a462, pid=12139, tid=140120570689872

Java VM: OpenJDK 64-Bit Server VM (1.6.0_0-b12 mixed mode linux-amd64)

Distribution: Ubuntu 8.10, package 6b12-0ubuntu6.1

Problematic frame:

C [librxtxSerial.so+0x6462] read_byte_array+0x52

An error report file with more information is saved as:

/home/kam/Desktop/arduino-0013/hs_err_pid12139.log

If you would like to submit a bug report, please include

instructions how to reproduce the bug and visit:

httpsbugs.launchpad.net/ubuntu/+source/openjdk-6/

The crash happened outside the Java Virtual Machine in native code.

See problematic frame for where to report the bug.

Aborted I've tried updating to the jaunty librxtx-java deb and even compiling newer versions of the RXTX api. At this point I have no idea what the problem is. I've tried serial monitoring in windows and it works just fine. I absolutely hate logging into windows so I'm desperate for a solution here. Thanks.

Let me know if needing error report.

Anyone?

Did you replace the Java portion of the RXTX library as well? (RXTXcomm.jar or something like that.) You can also use screen to see the data coming from the board.

I realized that this is in the wrong section… should be under the Software Troubleshooting section.

Yes, I did copy RXTXcomm.jar. I’m not sure what the problem is but in the meantime I will explore with screen. Also, I will mess around with the C and C++ workarounds for serial communication…

Ubuntu crashed last night and I was not able to log back in. I tried reinstalling Nvidia drivers, checking GDM and Xorg logs, installing kdm instead of gdm... something went bad.

I reinstalled Ubuntu 8.10. I install arduino... yet this time I couldn't get avrdude to run from hardware/tools...which is strange because it ran perfectly last time without the need to compile avrdude. I had to compile avrdude which took some time because I needed to get all the dependencies settled. Anyways, now I'm uploading to the arduino and serial communication is working perfectly for some reason. I just copied librxtxSerial.so like last time... this time no errors.

This is all getting quite annoying. I had a working setup (Arduino Duemilanove, Ubuntu 8.10) It worked straight away. And then suddenly, it doesn’t work.

/arduino-0015$ ./arduino 
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
      at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1698)
      at java.lang.Runtime.loadLibrary0(Runtime.java:840)
      at java.lang.System.loadLibrary(System.java:1047)
      at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
      at processing.app.Editor.populateSerialMenu(Editor.java:903)
      at processing.app.Editor.buildToolsMenu(Editor.java:800)
      at processing.app.Editor.<init>(Editor.java:190)
      at processing.app.Base.<init>(Base.java:149)
      at processing.app.Base.main(Base.java:104)
arduino-0015$

Following the instructions for installing rxtx doesn’t help (the instructions fail, and the failure isn’t addressed by the instructions).

Before anyone suggests that I’ve made some mistake installing rxtx, consider that Processing somehow manages to work (as in: I can communicate with my Arduino via Processing)

I had it working on 8.10 64bit, but now I've got the same problem as you on 9.04

Just wanted to say that I am having the same issue with 9.04 as well, has anyone found a solution?

I've got mine working on 9.04. I'll try to post what I did when I get home tonight. It did involve installing a 32 bit java library via synaptic.

Ver

much appreciated :)

I got impatient, so I set out on my own solution. First I tried the running 32 bit java within 64 bit linux method without any luck.

Then, I found mention of the issue on launchpad here: https://bugs.launchpad.net/ubuntu/+source/rxtx/+bug/367833

So I downloaded the rxtx-2.2pre2-bins binary off of the rxtx wiki: http://rxtx.qbang.org/wiki/index.php/Download (using the file in x86_64-unknown-linux-gnu)

and simply copied it into /usr/lib. Now when the ide starts, I get a warning:

WARNING:  RXTX Version mismatch
      Jar version = RXTX-2.1-7
      native lib Version = RXTX-2.2pre2

But everything appears to work fine now, all running natively in 64 bit :) Not sure what it would take to remove the error message though.

Sorry for taking so long, had to work late.

I got mine to work by installing the Sun 32 bit JRE (ia32-sun-java6-bin) and got the rxtx 2.1.7 from the same site you got the 2.2pre2 files.

I’ll try the 64 bit as I’d prefer to have everything 64 bit if possible.

Ver

I solved this problem by compiling the RXTX version 2.2 and copying the resulting librxtxSerial.so and RXTXcomm.jar to the arduino/lib/ directory. that also prevents the "RXTX Version mismatch" error

Bumped into the same problem. it's a bug with rxtx-2.1.7r2. I downloaded the source of the newer version from http://rxtx.qbang.org/wiki/index.php/Download, configured it using

./configure  --disable-PRINTER

(There is a bug in the build that prevents normally configured code from building).

built it with

make

and fixed the arduino startup script like this (you will need to fix the paths to match the path where you built your own rxtx lib):

#!/bin/sh

CLASSPATH=java/lib/rt.jar:lib:lib/build:lib/pde.jar:lib/core.jar:lib/antlr.jar:lib/oro.jar:lib/registry.jar:lib/mrj.jar:/home/omry/src/rxtx-2.2pre2/RXTXcomm.jar
export CLASSPATH

# put the directory where this file lives in the front of the path, because
# that directory also contains jikes, which we will need at runtime.
PATH=`pwd`/tools:${PATH}
export PATH

# put the directory with the native RXTX libs in the library path
LD_LIBRARY_PATH=/home/omry/src/rxtx-2.2pre2/x86_64-unknown-linux-gnu/.libs/:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH

java processing.app.Base

After that everything seems to work. If the so file is in the .libs dir and it still does not work, try to run ldconfig as root. I did it, not sure it was required.

Tuckies solution worked for me... thanks

The solution mentioned by sk1p works for 64bit fedora

I had to use Omry Yadan's method for Karmic (Ubuntu 9.10) on AMD64.