Sign in with
Sign up | Sign in
Your question

SUSE 10.1 + Eclipse 3.x = JVM HELL CRASH - HELP

Last response: in Linux/Free BSD
Share
July 17, 2006 2:58:13 PM

Hi,

this is my first propper venture into the Linux world and I've heard so much about the stability and security and performence gains. I certainly saw the performence gains when i decided to NUKE my winXP resource hogging OS in my work comp and replace it with suse 10.1 off a DVD. However, all has not been well -

The instalation went fine, i selected most of the dev related stuff and was so glad when i saw that it had installed the JDK, Subversion and a GUI client for svn along with the instalation yay.

However, the honeymoon was soon over when i experienced my first explorer crash (Nautilus) on KDE. It happened randomly and i haven't figured it out yet.

But that is not my real problem, I downloaded the Eclipse 3.2 binaries and unpacked it into my /home/ and ran it. It started fine, but it keeps on crashing when i try to build a project. Even if i try and create a brand new project or work using an older project i get the same issue. the damn thing crases with a JVM error message. I even tried to downgrade to Eclipse 3.1.2 which i know was stable in Windows but i get the same error.

Is any1 aware of a Java bug in Suse 10.1 please? This is driving me nuts, I'm contemplating on going back to Windows - please dont let that happen, ill probably end up shooting myself lol.
July 17, 2006 4:46:23 PM

What is the error message? I had a much more hacked-together Eclipse/JDK environment I can assure you, and it wasn't that hard to get going.
July 17, 2006 6:28:19 PM

I'm getting:

Quote:

JVM terminated. Exit code=1
/usr/bin/java
-jar startup.jar
-os linux
-ws gtk
-arch x86_64
-launcher /usr/bin/eclipse
-name Eclipse
-showsplash 600
-exitdata 73801b
-vm /usr/bin/java
-vmargs
-jar startup.jar




[code:1:bd1e25c95e]
/usr/local/jre1.5.0_06/bin/java -jar /usr/share/eclipse/startup.jar -os linux -ws gtk -arch x86_64 -launcher /usr/bin/eclipse -name Eclipse -showsplash 600 -exitdata 72801b -vm /usr/local/jre1.5.0_06/bin/java -vmargs -jar /usr/share/eclipse/startup.jar
[/code:1:bd1e25c95e]

brings up a splash screen and terminates ( Sun Java installed in /usr/local/jre1.5.0_06/bin/java ).



YaST the latest eclipse, install the latest stable version of Java from sun.com and try again using the command I pasted above.

GL :-D
July 17, 2006 7:04:12 PM

I'm getting the exact same error message. It exits and displays the splash screen. I also have a dump of the VM. This is going to be long, so i'll try and edit it as much as possible:

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGILL (0x4) at pc=0x00000000, pid=19370, tid=2620062624
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_12-b03 mixed mode)

--------------- T H R E A D ---------------

Current thread (0x080739e8): JavaThread "Worker-2" [_thread_in_Java, id=19390]

siginfo:
[error occurred during error reporting, step 90, id 0xb]

Stack: [0x9c23d000,0x9c2b0000), sp=0x9c2ad6e8, free space=449k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x2c9f2d]
V [libjvm.so+0x2ca937]
C [+0x440] __kernel_rt_sigreturn+0x0
V [libjvm.so+0x2c9287]
V [libjvm.so+0x2c9f2d]
V [libjvm.so+0x265697]
V [libjvm.so+0x2640e4]
C [+0x420] __kernel_sigreturn+0x0
J java.nio.charset.CharsetEncoder.encode(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
J java.lang.StringCoding$CharsetSE.encode([CII)[B
J java.lang.StringCoding.encode(Ljava/lang/String;[CII)[B
J java.lang.StringCoding.encode([CII)[B
J java.lang.String.getBytes()[B
v ~StubRoutines::call_stub
V [libjvm.so+0x1ae884]
V [libjvm.so+0x263e09]
V [libjvm.so+0x1aead6]
V [libjvm.so+0x1b72d7]
V [libjvm.so+0x1ba50e]
C [libjava.so+0xde52] JNU_GetStringPlatformChars+0xb2
C [libzip.so+0x2d4c] Java_java_util_zip_ZipFile_open+0x24
j java.util.zip.ZipFile.open(Ljava/lang/String;IJ)J+0
j java.util.zip.ZipFile.<init>(Ljava/io/File;I)V+97
j java.util.zip.ZipFile.<init>(Ljava/io/File;)V+3
j org.eclipse.osgi.framework.util.SecureAction.getZipFile(Ljava/io/File;)Ljava/util/zip/ZipFile;+11
J org.eclipse.osgi.framework.adaptor.core.BundleFile$ZipBundleFile.checkedOpen()Z

..... Editted


VM Arguments:
jvm_args: -Xms40m -Xmx256m
java_command: /home/muharizj/development/eclipse/./startup.jar -os linux -ws gtk -arch x86 -launcher /home/muharizj/development/eclipse/./eclipse -name Eclipse -showsplash 600 -exitdata 1c50005 -vm /home/muharizj/development/j2sdk1.4.2_12/bin/java -vmargs -Xms40m -Xmx256m -jar /home/muharizj/development/eclipse/./startup.jar
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=/home/muharizj/development/j2sdk1.4.2_12/
JRE_HOME=/home/muharizj/development/j2sdk1.4.2_12/jre
PATH=/home/muharizj/development/j2sdk1.4.2_12/bin:/home/muharizj/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/lib/qt3/bin
USERNAME=muharizj
LD_LIBRARY_PATH=/home/muharizj/development/j2sdk1.4.2_12/jre/lib/i386/client:/home/muharizj/development/j2sdk1.4.2_12/jre/lib/i386:/home/muharizj/development/j2sdk1.4.2_12/jre/../lib/i386:/usr/X11R6/lib
SHELL=/bin/bash
DISPLAY=:0.0
HOSTTYPE=i386
OSTYPE=linux
MACHTYPE=i686-suse-linux


--------------- S Y S T E M ---------------

OS:SUSE LINUX 10.1 (i586)
VERSION = 10.1

uname:Linux 2.6.16.13-4-default #1 Wed May 3 04:53:23 UTC 2006 i686
libc:glibc 2.4 NPTL 2.4
rlimit: STACK 8192k, CORE 0k, NPROC 20475, NOFILE 1024, AS infinity
load average:1350144042495868424429809792123715198957182894088897837572479556517888.00 0.00 30000089810991972357570456505526466848665785406635474320272552304942959093315924004214173035883477398978560.00

CPU:total 1 family 15, cmov, cx8, fxsr, mmx, sse, sse2

Memory: 4k page, physical 633k(121k free), swap 768k(768k free)

vm_info: Java HotSpot(TM) Client VM (1.4.2_12-b03) for linux-x86, built on May 9 2006 12:48:55 by unknown with unknown compiler
July 17, 2006 7:09:23 PM

I believe this is a known eclipse bug, I have seen bug reports.

google eclipse JVM terminated. Exit code=1
July 18, 2006 12:05:42 AM

Huh, odd. I must'a been lucky when I previously set it up, I will be attempting to install it in my VMWare'd 10.2. I'll report back any issues/successes I have.
July 18, 2006 12:08:10 AM

Quote:
Huh, odd. I must'a been lucky when I previously set it up, I will be attempting to install it in my VMWare'd 10.2. I'll report back any issues/successes I have.



Thanks, look forward to seeing your results :-D


[code:1:b2728f5288]
/usr/local/jre1.5.0_06/bin/java -jar /usr/share/eclipse/startup.jar -os linux -ws gtk -arch x86_64 -launcher /usr/bin/eclipse -name Eclipse -showsplash 600 -exitdata 72801b -vm /usr/local/jre1.5.0_06/bin/java -vmargs -jar /usr/share/eclipse/startup.jar
[/code:1:b2728f5288]


With Sun Java installed in /usr/local/jre1.5.0_06/bin/java should work

or whatever the latest java is.

:-D
July 18, 2006 2:19:37 AM

Ok, got it working. Here's the steps I took:

1) Remove the java support for gcc (YaST2->Software->Software Management then Filter->Package Groups then Development->Languages->Java, unselect all)

2) Download and install the latest Sun JDK (1.5 release 7) in the self-extracting RPM. Install this as root. Also, make sure to make it executable (chmod +x name_of_rpm_package.bin)

3) Update your environment variables to point to the new java install location. I added (do not replace it! append!) /usr/java/jdk1.5.0_07/bin/ to the PATH variable and made a new variable JAVA_HOME = /usr/java/jdk1.5.0_07/. Yoy may optionally add a CLASSPATH variable if you wish. There are many ways to set an environment variable, I suggest using the one that suits you best. I added the following line to my .bashrc file "export PATH=$PATH:/usr/java/jdk1.5.0_07/bin/". Note that this only adds the path when starting BASH, there are better solutions but I didn't look them up (i.e. /etc/environment in SuSE, I believe)

4) Download the latest Eclipse package. Expand to whichever directory you choose. Make sure you have root priv's if you want to put the thing somewhere like /usr/local/eclipse. I just put mine locally (/home/brad/eclipse)

5) Run it. (/home/brad/eclipse/eclipse)

6) Optional: create a launcher script for it to put on the desktop/taskbar/karamba/mapped with xbindkeys/etc. The power of Linux.... mmmmm

Let me know if this works out for you.
July 18, 2006 2:48:24 AM

Quote:
Ok, got it working. Here's the steps I took:

1) Remove the java support for gcc (YaST2->Software->Software Management then Filter->Package Groups then Development->Languages->Java, unselect all)

2) Download and install the latest Sun JDK (1.5 release 7) in the self-extracting RPM. Install this as root. Also, make sure to make it executable (chmod +x name_of_rpm_package.bin)

3) Update your environment variables to point to the new java install location. I added (do not replace it! append!) /usr/java/jdk1.5.0_07/bin/ to the PATH variable and made a new variable JAVA_HOME = /usr/java/jdk1.5.0_07/. Yoy may optionally add a CLASSPATH variable if you wish. There are many ways to set an environment variable, I suggest using the one that suits you best. I added the following line to my .bashrc file "export PATH=$PATH:/usr/java/jdk1.5.0_07/bin/". Note that this only adds the path when starting BASH, there are better solutions but I didn't look them up (i.e. /etc/environment in SuSE, I believe)

4) Download the latest Eclipse package. Expand to whichever directory you choose. Make sure you have root priv's if you want to put the thing somewhere like /usr/local/eclipse. I just put mine locally (/home/brad/eclipse)

5) Run it. (/home/brad/eclipse/eclipse)

6) Optional: create a launcher script for it to put on the desktop/taskbar/karamba/mapped with xbindkeys/etc. The power of Linux.... mmmmm

Let me know if this works out for you.





Great post!

:trophy: :trophy: :-D :-D


I would have done that myself but was too busy :-(
July 18, 2006 4:28:39 PM

Man your a Genius, thanks a bunch.
July 18, 2006 7:00:56 PM

Hey no problem. It takes a bit to learn how Linux does things. Despite what some of the less-friendly and less-useful Linux users will say (besides "RTFM" or "just google it n00b!"), it is not inherrantly "super 1337" or too incredibly difficult, just a little different.

If you run into any other issues don't hesitate to stop by.

Unlike the hardware section's endless banter about who's better (AMD/Intel or ATI/NVidia), we just want to help out however we can. I certainly am not going to tell anyone to completely abandon Windows or they should only use BSD or that Solaris is dead or that Mac OSX is the second coming, rather I'd just like to give help when I can so that others who may not have had exposure to anything other than Windows can experience new and possibly better things.

There is no one best OS. It's what's best for your preferences and what you like to do.

Now, with that said, you might want to check out this nice article about getting subversion meshing with eclipse. I haven't personally tried it out yet, but I'll give it a spin when I get home (in case there's any "gotchas")

edit: Only ran into one small "gotcha", first, find the location of the javahl stuff (sudo find / -iname '*javahl*', for me it was /usr/lib/ that contained libsvnjavahl libraries and the svn-javahl directory). Wherever you setup the environment variables before, add this to the mix: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/some/path (mine was /usr/lib) if it's not already on that variable (echo $LD_LIBRARY_PATH).

If you aren't able to find those libraries, follow the instructions on the subclipse FAQ, troubleshooting section to download and install the needed libraries.
!