There are a few possibilities:
1) That JVM version has some weird bug that effects Tomcat uniquely
(But, did you say the version number incorrectly; is it really 1.3.1_08,
not 1.1.3.8??).  Officially we don't support Tomcat on NetWare 5.x, but
I've seen it work there before I think.
2) There are some peculiarities that you need to get right for a JVM on
NetWare; namely the current working directory needs to be set. (NetWare
itself has no notion of this).  For this, set -envCWD=sys:/tomcat/4 
(for instance) in the startup command line.

I've attached the startup scripts we used on NetWare 6.5, where we put
Tomcat in sys:/tomcat/4 by default.  I've been meaning to get these
submitted to jakarta, but have not done so yet.  If Tomcat is not in
sys:/tomcat/4 (and the scripts in sys:/tomcat/4/bin), then you will have
to edit each of these files and adjust the paths appropriately.

Also, I hope that the perl scripts work fine on NetWare 5.1, they have
not had much testing there.

(oh, rename the scripts from the .txt ending; I added that so that they
wouldn't be stripped from the mail list).

Let me know if you have further questions and/or concerns with getting
this working.

Jeff Tulley  ([EMAIL PROTECTED])
(801)861-5322
Novell, Inc., The Leading Provider of Net Business Solutions
http://www.novell.com

>>> [EMAIL PROTECTED] 9/30/03 8:19:06 AM >>>
Hi There,

        Sorry I don't, you may have to raise a bug report for this
problem.

I am positive that it will be an easy fix so it should be solved
relatively
quickly.

Hope this is ok

Thanks

Pete

-----Original Message-----
From: Aziz Yacoub [mailto:[EMAIL PROTECTED] 
Sent: 30 September 2003 15:08
To: [EMAIL PROTECTED] 
Subject: RE: Tomcat on Netware


Thanks... do you know why tomcat would be doing this on startup??

>>> "Peter Guyatt" <[EMAIL PROTECTED]> 30/09/2003
11:04:36 pm >>>
Yeah,

The fact that you need to have the call to the method synchronized its
the
same as using the wait() method implemented in the Object class

you need to own the lock before you can call this method eg.

some method {
synchronized (this) {
//this is ok
wait();
}
}

where as

some method {
wait();
}

would throw an IllegalMonitorStateException.

Hope this helps

Pete

-----Original Message-----
From: Aziz Yacoub [ mailto:[EMAIL PROTECTED] 
Sent: 30 September 2003 13:51
To: >
Subject: Tomcat on Netware


I've been successfully running Tomcat 4.0.4 on Novell Netware with the

Novell (ie Netscape) Enterprise Server (using nsapi_rd.nlm) for many
months, and now I want to upgrade to Tomcat 4.1.27.

I installed and configured 4.1.27 just like 4.0.4 (ajp13, workers
etc),

and now it's giving the following error when I try to start it:

Bootstrap: Class loader creation threw exception
java.lang.IllegalMonitorStateException: current thread not owner

The log file shows:

[Tue Sep 30 22:27:31 2003] [jk_worker.c (88)]: Into wc_open
[Tue Sep 30 22:27:31 2003] [jk_worker.c (222)]: Into build_worker_map,

creating 1 workers
[Tue Sep 30 22:27:31 2003] [jk_worker.c (228)]: build_worker_map,
creating worker worker1
[Tue Sep 30 22:27:31 2003] [jk_worker.c (148)]: Into wc_create_worker
[Tue Sep 30 22:27:31 2003] [jk_worker.c (162)]: wc_create_worker,
about to create instance worker1 of ajp13
[Tue Sep 30 22:27:31 2003] [jk_ajp13_worker.c (108)]: Into
ajp13_worker_factory
[Tue Sep 30 22:27:31 2003] [jk_worker.c (171)]: wc_create_worker,
about to validate and init worker1
[Tue Sep 30 22:27:31 2003] [jk_ajp_common.c (1219)]: Into
jk_worker_t::validate
[Tue Sep 30 22:27:31 2003] [jk_ajp_common.c (1239)]: In
jk_worker_t::validate for worker worker1 contact is localhost:8009
[Tue Sep 30 22:27:31 2003] [jk_ajp_common.c (1267)]: Into
jk_worker_t::init
[Tue Sep 30 22:27:31 2003] [jk_ajp_common.c (1287)]: In
jk_worker_t::init, setting socket timeout to 0
[Tue Sep 30 22:27:31 2003] [jk_worker.c (187)]: wc_create_worker,
done
[Tue Sep 30 22:27:31 2003] [jk_worker.c (238)]: build_worker_map,
removing old worker1 worker
[Tue Sep 30 22:27:31 2003] [jk_worker.c (250)]: build_worker_map,
done
[Tue Sep 30 22:27:31 2003] [jk_worker.c (111)]: wc_open, done 1
[Tue Sep 30 22:28:28 2003] [jk_nsapi_plugin.c (298)]: jk_init, a
second passed
[Tue Sep 30 22:29:22 2003] [jk_worker.c (118)]: Into wc_close
[Tue Sep 30 22:29:22 2003] [jk_worker.c (199)]: close_workers got 1
workers to destroy
[Tue Sep 30 22:29:22 2003] [jk_worker.c (206)]: close_workers will
destroy worker worker1
[Tue Sep 30 22:29:22 2003] [jk_ajp_common.c (1324)]: Into
jk_worker_t::destroy
[Tue Sep 30 22:29:22 2003] [jk_ajp_common.c (1331)]: Into
jk_worker_t::destroy up to 1 endpoint to close
[Tue Sep 30 22:29:22 2003] [jk_worker.c (120)]: wc_close, done

The server setup is Netware 5.1 sp6, JVM 1.1.3.8, NES 5.1.

Does anyone know what would cause an IllegalMonitorStateException ???

TIA




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] 
For additional commands, e-mail: [EMAIL PROTECTED] 

#-----------------------------------------------------------------------------
# Start/Stop Script for the CATALINA Server
# The first argument is the directory location where 
# catalina has been installed
#
# The rest of the arguments are the standard catalina arguments
# If the a start/stop argument is missing, the script supplies the start directive
#
# Example usage:
#   perl c:\tomcat\bin\catalina.pl c:\tomcat
#   perl sys:\tomcat\404\bin\catalina.pl sys:\tomcat\404
#   perl catalina.pl sys:\tomcat\404 start -config server.xml
#   perl catalina.pl sys:\tomcat\404 stop
#
#-----------------------------------------------------------------------------    
#
# Environment Variable Prequisites 
# Note:  on NetWare, use "setenv", not the java "envset to set these, since
# Perl can only access setenv variables.
#
#   CATALINA_HOME   May point at your Catalina "build" directory.
#
#   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
#                   of a Catalina installation.  If not present, resolves to
#                   the same directory that CATALINA_HOME points to.
#
#   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
#                   "stop", or "run" command is executed.
#
#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
#                   the JVM should use (java.io.tmpdir).  Defaults to
#                   %CATALINA_BASE%\temp.
#
#   JAVA_HOME       Must point at your Java Development Kit installation.
#
#   JAVA_OPTS       (Optional) Java runtime options used when the "start",
#                   "stop", or "run" command is executed.
#
#   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
#                   (JSSE) installation, whose JAR files will be added to the
#                   system class path used to start Tomcat.
#
#   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"
#                   command is executed. The default is "dt_shmem".
#
#   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
#                   command is executed. The default is "jdbconn".
#

$ACTION="start";
if ($^O eq "NetWare")
{
   # since we do not have a current working directory concept on netware, and
   # since environment variables are system-wide, allow(or require) the
   # specification of CATALINA_HOME from the command line.
   [EMAIL PROTECTED];
   if ($CATALINA_HOME eq "")
   {
     print ("The first argument to this script must be Catalina's home\n");
     die();
   }
   shift;
}
else
{
  $CATALINA_HOME= $ENV{CATALINA_HOME};
}

# Guess CATALINA_HOME if not defined
if ($CATALINA_HOME eq "")
{
   $CATALINA_HOME=".";
   if (!-e "$CATALINA_HOME/bin/catalina.bat") 
   {
      $CATALINA_HOME="..";
      if (!-e "$CATALINA_HOME/bin/catalina.bat") 
      {
         print("The CATALINA_HOME environment variable is not defined correctly\n");
         print("This environment variable is needed to run this program\n");
         die();
      }
   }
   print ("Guessed CATALINA_HOME to be $CATALINA_HOME\n");
}

$JSSE_HOME= $ENV{JSSE_HOME};
if ($JSSE_HOME ne "")
{
   
$CLASSPATH="$JSSE_HOME/lib/jcert.jar;$JSSE_HOME/lib/jnet.jar;$JSSE_HOME/lib/jsse.jar;";
}
$CLASSPATH=$CLASSPATH."$CATALINA_HOME/bin/bootstrap.jar";

if ($^O eq "NetWare")
{
   #
   # Define necessary jars/classes files.
   # Here is a sample of how To add a test.jar file
   #   $CLASSPATH="$CLASSPATH;c:/tomcat/webapps/test/test.jar"
   #   $CLASSPATH="$CLASSPATH;sys:/tomcat/404/webapps/test/test.jar"
   #
   $CLASSPATH="$CLASSPATH;sys:/java/lib/jclient.jar";
 
   #
   # If using on a NetWare server then define the current working directory
   #
   $CWD="-envCWD=$CATALINA_HOME";
}
$_EXECJAVA="java";


$CATALINA_BASE= $ENV{CATALINA_BASE};
if ($CATALINA_BASE eq "")
{
   $CATALINA_BASE=$CATALINA_HOME;
}

$CATALINA_TMPDIR= $ENV{CATALINA_TMPDIR};
if ($CATALINA_TMPDIR eq "")
{
   $CATALINA_TMPDIR="$CATALINA_BASE/temp";
}
$JAVA_HOME=$ENV{JAVA_HOME};
print "Using CATALINA_BASE:   $CATALINA_BASE\n";
print "Using CATALINA_HOME:   $CATALINA_HOME\n";
print "Using CATALINA_TMPDIR: $CATALINA_TMPDIR\n";
print "Using JAVA_HOME:       $JAVA_HOME\n";

#
# Define the Main java class
#
$MAINCLASS="org.apache.catalina.startup.Bootstrap";

if (@ARGV[0] eq "jpda")
{
   $JPDA="jpda";

   $JPDA_TRANSPORT = $ENV{JPDA_TRANSPORT};
   if ($JPDA_TRANSPORT eq "")
   {
      $JPDA_TRANSPORT="dt_shmem";
      $JPDA_TRANSPORT="dt_skt";
   }

   $JPDA_ADDRESS = $ENV{JPDA_ADDRESS};
   if ($JPDA_ADDRESS eq "")
   {
      $JPDA_ADDRESS="jdbconn";
      $JPDA_ADDRESS="9901";
   }
   shift;
}

if (@ARGV[0] eq "debug") 
{
   &doDebug();
}
elsif (@ARGV[0] eq "embedded")
{ 
   &doEmbedded();
}
elsif (@ARGV[0] eq "run") 
{
   &doRun();
}
elsif (@ARGV[0] eq "stop") 
{
   &doStop();
}
elsif (@ARGV[0] eq "start") 
{
   shift @ARGV;
   &doStart();
}
elsif (@ARGV[0] eq "help" || 
       @ARGV[0] eq "-help" || 
       @ARGV[0] eq "/?" || 
       (@ARGV[0] ne "-config" && 
        @ARGV[0] ne "") )
{
   &usage();
   die("\nStopped");
}
else
{
   # default to the "start" action if no other is specified
   &doStart();
}

exit();

sub doDebug
{
   shift @ARGV;
   print "Doing a debug\n";
   $DEBUG_OPTS="-sourcepath 
$CATALINA_HOME/../../jakarta-tomcat-4.0/catalina/src/share";
   if (@ARGV[0] eq "-security")
   {
      print "Using Security Manager\n";
      $SECURITY_POLICY_FILE="$CATALINA_BASE/conf/catalina.policy";
      shift @ARGV;
   }
   &execCmd();
}

sub doEmbedded
{
   shift @ARGV;
   print "Doing a embedded\n";
   $MAINCLASS=org.apache.catalina.startup.Embedded
   &execCmd();
}

sub doRun
{
   shift @ARGV;
   print "Doing a run\n";
   if (@ARGV[0] eq "-security")
   {
      print "Using Security Manager\n";
      $SECURITY_POLICY_FILE="$CATALINA_BASE/conf/catalina.policy";
      shift @ARGV;
   }
   &execCmd();
}

sub doStart
{
   print "Doing a start\n";
   if (@ARGV[0] eq "-security")
   {
      print "Using Security Manager\n";
      $SECURITY_POLICY_FILE="$CATALINA_BASE/conf/catalina.policy";
      shift @ARGV;
   }
   &execCmd();
}

sub doStop
{
   shift @ARGV;
   print "Doing a stop\n";
   $ACTION="stop";
   &execCmd();
}

sub execCmd
{
   # get remaining unshifted command line arguments and save them in the
   $CMD_LINE_ARGS="";
   foreach $ARG (@ARGV)
   {
      # concat up all of the args
      $CMD_LINE_ARGS .= " ".$ARG;
   }

   # the following if statements simply combine some arguments to avoid 
   # having one extra blank space per non-existent argument 
   if ($ENV{JAVA_OPTS} ne "")
   {
      $OPTIONS=$ENV{JAVA_OPTS};
   }

   if ($ENV{CATALINA_OPTS} ne "")
   {
      $OPTIONS=$OPTIONS." ".$ENV{CATALINA_OPTS};
   }

   if ($ENV{DEBUG_OPTS} ne "")
   {
      $OPTIONS=$OPTIONS." ".$ENV{DEBUG_OPTS};
   }

   if ($ENV{JAVA_ENDORSED_DIRS} ne "")
   {
      $OPTIONS=$OPTIONS." -Djava.endorsed.dirs=".$ENV{JAVA_ENDORSED_DIRS};
   }

   if ($JPDA ne "jpda")
   {
      if ($SECURITY_POLICY_FILE eq "")
      {
         # normal exec:
         system "$_EXECJAVA $CWD $OPTIONS -classpath $CLASSPATH 
-Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME 
-Djava.io.tmpdir=$CATALINA_TMPDIR $MAINCLASS $CMD_LINE_ARGS $ACTION";
         
      }
      else
      {
         # doSecurity:
         system "$_EXECJAVA $CWD $OPTIONS -classpath $CLASSPATH 
-Djava.security.manager -Djava.security.policy=$SECURITY_POLICY_FILE 
-Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME 
-Djava.io.tmpdir=$CATALINA_TMPDIR $MAINCLASS $CMD_LINE_ARGS $ACTION";
      }
   }
   else
   {
      if ($SECURITY_POLICY_FILE eq "")
      {
         # jpda exec:
         system "$_EXECJAVA $CWD -Xdebug 
-Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n $OPTIONS 
-classpath $CLASSPATH -Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME 
-Djava.io.tmpdir=$CATALINA_TMPDIR $MAINCLASS $CMD_LINE_ARGS $ACTION";
      }
      else
      {
         # doSecurityJpda
         system "$_EXECJAVA $CWD -Xdebug 
-Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n $OPTIONS 
-classpath $CLASSPATH -Djava.security.manager 
-Djava.security.policy=$SECURITY_POLICY_FILE -Dcatalina.base=$CATALINA_BASE 
-Dcatalina.home=$CATALINA_HOME -Djava.io.tmpdir=$CATALINA_TMPDIR $MAINCLASS 
$CMD_LINE_ARGS $ACTION";
      }
   }

}
sub argDump
{
   print "\n---------Arg Dump: $_[0] -------------------";
   print "[EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]";
   print "\n-------------------------------------------";
}

sub usage
{
   print "\nUsage:  catalina ( commands ... )\n";
   print "commands:\n";
   print "  debug             Start Catalina in a debugger\n";
   print "  debug -security   Debug Catalina with a security manager\n";
   print "  embedded          Start Catalina in embedded mode\n";
   print "  jpda start        Start Catalina under JPDA debugger\n";
   print "  run               Start Catalina in the current window\n";
   print "  run -security     Start in the current window with security manager\n";
   print "  start             Start Catalina in a separate window\n";
   print "  start -security   Start in a separate window with security manager\n";
   print "  stop              Stop Catalina\n";
}
; Description:
;  This is a sample NCF file for starting the application instance of Tomcat. 
;
;  This NCF file assumes tomcat is located on the sys volume in the tomcat/4
;  directory.
;  If different than sys:/tomcat/4/bin then this NCF needs to be MODIFIED to
;  reflect to where tomcat was installed.

setenv CATALINA_OPTS=-vm160m -Xmx256m -Dsun.io.useCanonCaches=false

sys:/tomcat/4/bin/startup %1 %2 %3 %4 %5 %6 %7 %8 %9
;  Description:
;  This is a sample NCF file for stopping TOMCAT 4 (Catalina) on NetWare. 
;  This NCF file assumes tomcat is located on the sys volume in the 
;  tomcat/4 directory.
;
;  If different than sys:/tomcat/4/bin then this NCF needs to be MODIFIED
;  to reflect where tomcat was installed.
;
;  This NCF file for a NetWare server uses perl scripts to start catalina.
;  Perl is available on a NetWare 5.1 or NetWare 6 server as Perl.NLM
;  This NCF file is for convience.  The perl script can also be used 
;  directly from the system console without having to use the this ncf 
;  file.  The syntax to use perl directly on NetWare is:
;
;     perl <catalina-directory-location>/bin/catalina.pl <catalina-directory-location>
;   
;     Example system console commands:
;
;           sys:/tomcat/4/startup
;           sys:/tomcat/4/startup -config sys:/tomcat/4/conf/nwserver.xml

perl --noscreen sys:/tomcat/4/bin/catalina.pl sys:/tomcat/4 stop


setenv JPDA_TRANSPORT=dt_skt
setenv JPDA_ADDRESS=9070
setenv CATALINA_OPTS=-vm160m -Xmx256m -Dsun.io.useCanonCaches=false
sys:/tomcat/4/bin/startup.ncf jpda start
; Description:
;  This is a sample NCF file for starting TOMCAT 4 (Catalina) on NetWare. 
;  This NCF file assumes tomcat is located on the sys volume in the tomcat/4
;  directory 
;  If different than sys:/tomcat/4/bin then this NCF needs to be MODIFIED to
;  reflect to where tomcat was installed.
;
;  This NCF file for a NetWare server uses perl scripts to start catalina.
;  Perl is available on a NetWare 5.1 or NetWare 6 server as Perl.NLM
;  This NCF file is for convience.  The perl script can also be used directly 
;  from the system console without having to use the this ncf file.
;  The syntax to use perl directly on NetWare is:
;        perl <catalina-directory-location>/bin/catalina.pl 
<catalina-directory-location>
;   
;   Example system console commands:
;
;     sys:/tomcat/4/startup
;     sys:/tomcat/4/startup -config sys:/tomcat/4/conf/nwserver.xml

perl --noscreen sys:/tomcat/4/bin/catalina.pl sys:/tomcat/4 %1 %2 %3 %4 %5 %6 %7 %8 %9 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to