Return-Path: Mailing-List: contact tomcat-user-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list tomcat-user@jakarta.apache.org Received: (qmail 49782 invoked from network); 30 Sep 2003 19:04:13 -0000 Received: from unknown (HELO prv-mail20.provo.novell.com) (137.65.81.122) by daedalus.apache.org with SMTP; 30 Sep 2003 19:04:13 -0000 Received: from INET-PRV-MTA by prv-mail20.provo.novell.com with Novell_GroupWise; Tue, 30 Sep 2003 13:04:18 -0600 Message-Id: X-Mailer: Novell GroupWise Internet Agent 6.5.1 Date: Tue, 30 Sep 2003 13:04:03 -0600 From: "Jeff Tulley" To: Subject: RE: Tomcat on Netware Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__Part4E1005B3.0__=" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N --=__Part4E1005B3.0__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline 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 (jtulley@novell.com) (801)861-5322 Novell, Inc., The Leading Provider of Net Business Solutions http://www.novell.com >>> pguyatt@telesoft-technologies.com 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:Aziz@decastar.com.au] Sent: 30 September 2003 15:08 To: tomcat-user@jakarta.apache.org Subject: RE: Tomcat on Netware Thanks... do you know why tomcat would be doing this on startup?? >>> "Peter Guyatt" 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:Aziz@decastar.com.au] 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: tomcat-user-unsubscribe@jakarta.apache.org For additional commands, e-mail: tomcat-user-help@jakarta.apache.org --=__Part4E1005B3.0__= Content-Type: text/plain; name="catalina.pl.txt" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="catalina.pl.txt" #----------------------------------------------------------------------------- # 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. $CATALINA_HOME=@ARGV[0]; 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 "\n0=@ARGV[0] 1=@ARGV[1] 2=@ARGV[2] 3=@ARGV[3]"; 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"; } --=__Part4E1005B3.0__= Content-Type: text/plain; name="tomcat4.ncf.txt" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="tomcat4.ncf.txt" ; 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 --=__Part4E1005B3.0__= Content-Type: text/plain; name="tc4stop.ncf.txt" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="tc4stop.ncf.txt" ; 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 /bin/catalina.pl ; ; 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 --=__Part4E1005B3.0__= Content-Type: text/plain; name="tc4jpda.ncf.txt" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="tc4jpda.ncf.txt" 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 --=__Part4E1005B3.0__= Content-Type: text/plain; name="startup.ncf.txt" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="startup.ncf.txt" ; 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 /bin/catalina.pl ; ; 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 --=__Part4E1005B3.0__=--