Hi,

On a Unix Installation with Mac OS X 10.2.2, java 1.3.1, Apache-2.0.43 and Tomcat-4.1.2 installed I'm have having problems getting jni to properly initilize. I have the same problems on Solaris 5.7 system with the identical setup using java 1.4.1_01. During the Apache2 startup tomcat and apache startup correctly, however the jni worker is not initiated correctly see the Apache2 error_log below.

I needed to change the OPT=-Djava.class.path separator from a ";" to a ":". The mod_jk2.so and the jkjni.so were built from the jakarta-tomcat-connectors-jk2-2.0.2-src with dso and jni enabled. Jni was also enabled for the build of httpd-2.0.43.

Any ideas would be appreciated. Thank you in advance.

The Apache stderr.log:

TomcatStarter: main()
Try org.apache.tomcat.startup.Main
Try org.apache.catalina.startup.BootstrapService
Starting org.apache.catalina.startup.BootstrapService
Created catalinaLoader in: /Volumes/Java_Development/jakarta-tomcat-4.1.12/server/lib
[INFO] Registry - -Loading registry information
[INFO] Registry - -Creating new Registry instance
[INFO] Registry - -Creating MBeanServer
[INFO] AprImpl - -JK2: Initialized apr
[INFO] ChannelJni - -JK2: listening on channel.jni:jni
[INFO] JkMain - -Jk running ID=0 time=6/28 config=/Volumes/Java_Development/jakarta-tomcat-4.1.12/conf/ jk2.properties
TomcatStarter: main()
Try org.apache.tomcat.startup.Main
Try org.apache.catalina.startup.BootstrapService
Starting org.apache.catalina.startup.BootstrapService

An portion of the stdout.log:

Resolving to alternate DTD 'jar:file:/Volumes/Java_Development/jakarta-tomcat-4.1.12/webapps/ struts-upload/WEB-INF/lib/struts.jar!/org/apache/struts/resources/web- app_2_2.dtd'
Call org.apache.struts.action.ActionServlet.addServletMapping(action/ java.lang.String,*.do/java.lang.String)
Bootstrap: Service started
TomcatStarter: Done


The Apache2 error log follows the jk2.properties listing.

The jk2.properties file:

jk2.properties:

handler.list=apr,request,container,channelJni
#
# Override the default port for the socketChannel
# channelSocket.port=8009
# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config is working
shm.file=/Volumes/Java_Development/jakarta-tomcat-4.1.12/work/jk2.shm

# In order to enable jni use any channelJni directive
channelJni.disabled = 0
# And one of the following directives:

# apr.NativeSo=/Library/Apache2/modules/jkjni.so
# apr.jniModeSo=/Library/Apache2/modules/mod_jk2.so

# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
apr.jniModeSo=inproces


Here is the output from the Apache2 error_log, it is a bit long, but I think necessary to understand what is occurring during the startup process.

[Wed Dec 18 12:13:18 2002] [notice] uriEnv.setAttribute() the worker directive is deprecated. Use 'group' instead.
[Wed Dec 18 12:13:18 2002] [notice] Digest: generating secret for digest authentication ...
[Wed Dec 18 12:13:18 2002] [notice] Digest: done
[Wed Dec 18 12:13:18 2002] [notice] Apache/2.0.43 (Unix) mod_perl/1.99_07-dev Perl/v5.8.0 mod_jk2/2.0.2 DAV/2 PHP/4.2.3 configured -- resuming normal operations
[Wed Dec 18 12:13:18 2002] [notice] jk2_init() Found child 5525 in scoreboard slot 2
[Wed Dec 18 12:13:18 2002] [notice] jk2_init() Found child 5526 in scoreboard slot 3
[Wed Dec 18 12:13:18 2002] [notice] jk2_init() Found child 5523 in scoreboard slot 0
[Wed Dec 18 12:13:18 2002] [notice] vm.init(): Jni lib: /System/Library/Frameworks/JavaVM.framework/Versions/Current/JavaVM
[Wed Dec 18 12:13:18 2002] [notice] jk2_init() Found child 5527 in scoreboard slot 4
[Wed Dec 18 12:13:18 2002] [notice] vm.init(): Jni lib: /System/Library/Frameworks/JavaVM.framework/Versions/Current/JavaVM
[Wed Dec 18 12:13:18 2002] [notice] jk2_init() Found child 5524 in scoreboard slot 1
[Wed Dec 18 12:13:18 2002] [notice] vm.init(): Jni lib: /System/Library/Frameworks/JavaVM.framework/Versions/Current/JavaVM
[Wed Dec 18 12:13:18 2002] [notice] vm.init(): Jni lib: /System/Library/Frameworks/JavaVM.framework/Versions/Current/JavaVM
[Wed Dec 18 12:13:18 2002] [notice] vm.init(): Jni lib: /System/Library/Frameworks/JavaVM.framework/Versions/Current/JavaVM
[Wed Dec 18 12:13:19 2002] [notice] vm.open2() done
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initChannel() init failed for channel.jni:jni
[Wed Dec 18 12:13:19 2002] [notice] workerJni.Init() Skipping initialization for the 2 5525
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initWorkers() init failed for worker.jni:onStartup
[Wed Dec 18 12:13:19 2002] [notice] workerJni.Init() Skipping initialization for the 2 5525
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initWorkers() init failed for worker.jni:onShutdown
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /jkstatus/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/servlet/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/*.jsp
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /admin/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /
[Wed Dec 18 12:13:19 2002] [notice] workerEnv.init() ok /Library/Apache2/conf/workers2.properties
[Wed Dec 18 12:13:19 2002] [notice] vm.open2() done
[Wed Dec 18 12:13:19 2002] [notice] jni.validate() class= org/apache/jk/apr/TomcatStarter
[Wed Dec 18 12:13:19 2002] [notice] vm.open2() done
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initChannel() init failed for channel.jni:jni
[Wed Dec 18 12:13:19 2002] [notice] workerJni.Init() Skipping initialization for the 3 5526
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initWorkers() init failed for worker.jni:onStartup
[Wed Dec 18 12:13:19 2002] [notice] workerJni.Init() Skipping initialization for the 3 5526
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initWorkers() init failed for worker.jni:onShutdown
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /jkstatus/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/servlet/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/*.jsp
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /admin/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /
[Wed Dec 18 12:13:19 2002] [notice] workerEnv.init() ok /Library/Apache2/conf/workers2.properties
[Wed Dec 18 12:13:19 2002] [notice] vm.open2() done
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initChannel() init failed for channel.jni:jni
[Wed Dec 18 12:13:19 2002] [notice] workerJni.Init() Skipping initialization for the 4 5527
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initWorkers() init failed for worker.jni:onStartup
[Wed Dec 18 12:13:19 2002] [notice] workerJni.Init() Skipping initialization for the 4 5527
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initWorkers() init failed for worker.jni:onShutdown
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /jkstatus/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/servlet/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/*.jsp
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /admin/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /
[Wed Dec 18 12:13:19 2002] [notice] workerEnv.init() ok /Library/Apache2/conf/workers2.properties
[Wed Dec 18 12:13:19 2002] [notice] vm.open2() done
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initChannel() init failed for channel.jni:jni
[Wed Dec 18 12:13:19 2002] [notice] workerJni.Init() Skipping initialization for the 1 5524
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initWorkers() init failed for worker.jni:onStartup
[Wed Dec 18 12:13:19 2002] [notice] workerJni.Init() Skipping initialization for the 1 5524
[Wed Dec 18 12:13:19 2002] [error] workerEnv.initWorkers() init failed for worker.jni:onShutdown
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /jkstatus/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/servlet/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/*.jsp
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context /examples for /examples/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /admin/*
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /
[Wed Dec 18 12:13:19 2002] [notice] uriMap.init() adding context / for /
[Wed Dec 18 12:13:19 2002] [notice] workerEnv.init() ok /Library/Apache2/conf/workers2.properties
[Wed Dec 18 12:13:19 2002] [notice] Loaded org/apache/jk/apr/TomcatStarter
[Wed Dec 18 12:13:19 2002] [notice] jni.init() setting stdout=/Library/Apache2/logs/stdout.log...
[Wed Dec 18 12:13:19 2002] [notice] jni.init() setting stderr=/Library/Apache2/logs/stderr.log...
[Wed Dec 18 12:13:19 2002] [notice] jni.init() ARG start
[Wed Dec 18 12:13:19 2002] [notice] jni.init() calling main()...
[Wed Dec 18 12:13:20 2002] [notice] jni.validate() class= org/apache/jk/apr/TomcatStarter
[Wed Dec 18 12:13:20 2002] [notice] Loaded org/apache/jk/apr/TomcatStarter
[Wed Dec 18 12:13:20 2002] [notice] jni.init() disabling the non init hook worker
[Wed Dec 18 12:13:20 2002] [notice] uriMap.init() adding context / for /jkstatus/*
[Wed Dec 18 12:13:20 2002] [notice] uriMap.init() adding context /examples for /examples
[Wed Dec 18 12:13:20 2002] [notice] uriMap.init() adding context /examples for /examples/servlet/*
[Wed Dec 18 12:13:20 2002] [notice] uriMap.init() adding context /examples for /examples/*.jsp
[Wed Dec 18 12:13:20 2002] [notice] uriMap.init() adding context /examples for /examples/*
[Wed Dec 18 12:13:20 2002] [notice] uriMap.init() adding context / for /admin/*
[Wed Dec 18 12:13:20 2002] [notice] uriMap.init() adding context / for /
[Wed Dec 18 12:13:20 2002] [notice] uriMap.init() adding context / for /
[Wed Dec 18 12:13:20 2002] [notice] workerEnv.init() ok /Library/Apache2/conf/workers2.properties
[Wed Dec 18 12:13:20 2002] [error] mod_jk child init 1 0

Regards,

Tony



Reply via email to