Somthing's fishy in Linux JVM
I just encountered another failed JVM setting. This time it was the Oracle SQL Developer.
Here's the error log under verbose option:
steven@family-room:/opt/sqldeveloper$ ./sqldeveloper.sh -verbose
Oracle SQL Developer
Copyright (c) 2006, 2007, Oracle. All rights reserved.
Reading configuration from: /opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf
Working directory is /opt/sqldeveloper/sqldeveloper/bin
Running Command: /usr/lib/jvm/java-6-sun-1.6.0.06/bin/../jre/bin/java -Xmx512M -Xverify:none -XX:JavaPriority10_To_OSPriority=10 -XX:JavaPriority9_To_OSPriority=9 -Dapple.laf.useScreenMenuBar=true -Dcom.apple.mrj.application.apple.menu.about.name=SQL_Developer -Dcom.apple.mrj.application.growbox.intrudes=false -Dcom.apple.macos.smallTabs=true -Doracle.ide.util.AddinPolicyUtils.OVERRIDE_FLAG=true -Dsun.java2d.ddoffscreen=false -Dide.update.masterserver=http://www.oracle.com/technology/software/products/sql/master.xml -Dwindows.shell.font.languages= -Dide.AssertTracingDisabled=true -Doracle.ide.util.AddinPolicyUtils.OVERRIDE_FLAG=true -Djava.util.logging.config.file=logging.conf -Dide.conf="/opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf" -Dide.startingcwd="/opt/sqldeveloper/sqldeveloper/bin" -Dide.home.dir.name=.sqldeveloper -classpath ../../ide/lib/ide-boot.jar:../../jdev/lib/xmleditor.jar:../../ide/lib/oicons.jar:../../jlib/jewt4.jar:../../jlib/share.jar:../../sqldeveloper/lib/jle2.jar:../../sqldeveloper/lib/oracle.dbtools.logging.jar oracle.ide.boot.Launcher
Using oracle.home=/opt/sqldeveloper
Using ide.user.dir=/home/steven/.sqldeveloper
/opt/sqldeveloper/sqldeveloper/bin/../../ide/bin/launcher.sh: line 478: 19573 Segmentation fault ${JAVA} ${APP_VM_OPTS} ${APP_SCRIPT_USER_HOME} ${APP_ENV_VARS} -classpath ${APP_CLASSPATH} ${APP_MAIN_CLASS} ${APP_APP_OPTS}
Error: SQL Developer can't recognize the JDK version
Unlike Netbeans' error message, this one is totally bogus. Anyway, because of what happened in Netbeans, I suspected it was the JVM stack size option again, so I added "AddVMOption -Xss4M" to the jdev/bin/ide.conf, just above where the -Xms option was set.
The problem instantly disappeared. Seems to me the default JVM stack size on Linux is too small for a number of graphic heavy Java applications. I wonder if this is a bug with the Hotspot JVM implementation on Linux.
Labels: -Xss option, JVM, linux, Stack size overflow



