0 Replies Latest reply on Mar 28, 2005 2:20 PM by Paolo Spadafora

    unable to start Jboss on Fedora 3

    Paolo Spadafora Newbie

      i am unable to start JBoss service from Fedora 3, when i run "service jboss start" i see the message on screen:

      CMD_START = cd /usr/local/jboss-4.0.1/bin; /usr/local/jboss-4.0.1/bin/run.sh -c default
      -bash: /usr/local/jboss-4.0.1/log: Is a directory

      if i go to http://localhost:8080/
      i get the ERROR "the connection was refused by..."

      BUT JBoss runs fine from shell: "sh run.sh" , i can see the page...

      also if i try to run "service jboss stop" i get the following:

      CMD_START = cd /usr/local/jboss-4.0.1/bin; /usr/local/jboss-4.0.1/bin/run.sh -cdefault
      This script is a placeholder for the /usr/bin/java
      master link required by jpackage.org conventions. libgcj's
      rmiregistry, rmic and jar tools are now slave symlinks to these
      masters, and are managed by the alternatives(8) system.
      This change was necessary because the rmiregistry, rmic and jar tools
      installed by previous versions of libgcj conflicted with symlinks
      installed by jpackage.org JVM packages.
      Exception in thread "main" java.lang.NoClassDefFoundError: while resolving class: org.jboss.Shutdown
       at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
       at java.lang.Class.initializeClass() (/usr/lib64/libgcj.so.5.0.0)
       at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader)(/usr/lib64/libgcj.so.5.0.0)
       at gnu.gcj.runtime.FirstThread.run() (/usr/lib64/libgcj.so.5.0.0)
       at _Jv_ThreadRun(java.lang.Thread) (/usr/lib64/libgcj.so.5.0.0)
       at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean) (/usr/lib64/libgcj.so.5.0.0)
       at __libc_start_main (/lib64/tls/libc-2.3.4.so)
      Caused by: java.lang.ClassNotFoundException: javax.management.ObjectName not found in [file:/usr/local/jboss-4.0.1/bin/shutdown.jar, file:/usr/local/jboss-4.0.1/client/jnet.jar, core:/]
       at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib64/libgcj.so.5.0.0)
       at gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/usr/lib64/libgcj.so.5.0.0)
       at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib64/libgcj.so.5.0.0)
       at _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib64/libgcj.so.5.0.0)
       at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader)(/usr/lib64/libgcj.so.5.0.0)
       at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib64/libgcj.so.5.0.0)
       at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib64/libgcj.so.5.0.0)
       at _Jv_PrepareClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
       at _Jv_WaitForState(java.lang.Class, int) (/usr/lib64/libgcj.so.5.0.0)
       at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
       at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
       ...6 more

      my ../init.d/jboss is:

      # JBoss Control Script
      # chkconfig: 3 80 20
      # description: JBoss EJB Container
      # To use this script
      # run it as root - it will switch to the specified user
      # It loses all console output - use the log.
      # Here is a little (and extremely primitive)
      # startup/shutdown script for RedHat systems. It assumes
      # that JBoss lives in /usr/local/jboss, it's run by user
      # 'jboss' and JDK binaries are in /usr/local/jdk/bin. All
      # this can be changed in the script itself.
      # Bojan
      # Either amend this script for your requirements
      # or just ensure that the following variables are set correctly
      # before calling the script
      # [ #420297 ] JBoss startup/shutdown for RedHat
      #define where jboss is - this is the directory containing directories log, bin, conf etc
      #make java is on your path
      #define the classpath for the shutdown class
      #define the script to use to start jboss
      JBOSSSH=${JBOSSSH:-"$JBOSS_HOME/bin/run.sh -c default"}
      if [ -n "$JBOSS_CONSOLE" -a ! -d "$JBOSS_CONSOLE" ]; then
       # ensure the file exists
       touch $JBOSS_CONSOLE
      if [ -n "$JBOSS_CONSOLE" -a ! -f "$JBOSS_CONSOLE" ]; then
       echo "WARNING: location for saving console log invalid: $JBOSS_CONSOLE"
       echo "WARNING: ignoring it and using /usr/local/jboss-4.0.1/log"
      #define what will be done with the console log
      #define the user under which jboss will run, or use RUNASIS to run as the current user
      CMD_STOP="java -classpath $JBOSSCP org.jboss.Shutdown --shutdown"
      if [ "$JBOSSUS" = "RUNASIS" ]; then
       SUBIT="su - $JBOSSUS -c "
      if [ -z "`echo $PATH | grep $JAVAPTH`" ]; then
       export PATH=$PATH:$JAVAPTH
      if [ ! -d "$JBOSS_HOME" ]; then
       echo JBOSS_HOME does not exist as a valid directory : $JBOSS_HOME
       exit 1
      echo CMD_START = $CMD_START
      case "$1" in
       cd $JBOSS_HOME/bin
       if [ -z "$SUBIT" ]; then
       eval $CMD_START >${JBOSS_CONSOLE} 2>&1 &
       $SUBIT "$CMD_START >${JBOSS_CONSOLE} 2>&1 &"
       if [ -z "$SUBIT" ]; then
       $SUBIT "$CMD_STOP"
       $0 stop
       $0 start
       echo "usage: $0 (start|stop|restart|help)"

      the file "/usr/lib64/libgcj.so.5.0.0" is present and has size=14.9 MB

      I run on a Dual Xeon EM64T 1MB cache 800MHz bus 2.8GHz , 2GB Ram, with Fedora Core 3 x86_64 and Sun jdk 1.4.2_07 linux, JBoss 4.01.

      Help is very appreciated.
      thank you.