DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=29989>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=29989 jni of mod_jk2 doesn't work for win32 at all Summary: jni of mod_jk2 doesn't work for win32 at all Product: Tomcat 5 Version: 5.0.0 Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Blocker Priority: Other Component: Native:JK AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I'm using Win2kServer + Apache2.0.50 + Tomcat5.0.16 (or 5.0.25) + jk2-2.0.4- win32-apache2.0.49. After I copied mod_jk2.so (comes from jk2-2.0.4-win32-apache2.0.49) to ${APACHE2_HOME}/modules, and finish all necessary configurations, start Apache2 service, I got these messages from ${APACHE2_HOME}/logs/error.log: [Fri Jul 09 12:06:20 2004] [notice] Parent: Created child process 444 [Fri Jul 09 12:06:20 2004] [notice] Child 444: Child process is running [Fri Jul 09 12:06:20 2004] [error] workerEnv.initChannel() init failed for channel.jni:jni [Fri Jul 09 12:06:20 2004] [error] workerEnv.initWorkers() init failed for worker.jni:onStartup [Fri Jul 09 12:06:20 2004] [error] workerEnv.initWorkers() init failed for worker.jni:onShutdown [Fri Jul 09 12:06:20 2004] [notice] Child 444: Acquired the start mutex. [Fri Jul 09 12:06:20 2004] [notice] Child 444: Starting 100 worker threads. so, as a result, the jni can not work. I spent lot of time trying to solve the problem, but nothing happens. Finally, I decide to look for the jk2 source code, see what's the matter of that. Then, I found the following code in jakarta-tomcat-connectors-jk2-2.0.4- src\jk\native2\server\apache2\mod_jk2.c:608 - ... if (workerEnv->maxDaemons < 2) { workerEnv->childId = proc.pid; // HERE IS IT!! env->l->jkLog(env, env->l, JK_LOG_INFO, "jk2_init() Setting scoreboard slot 0 for child %d\n", proc.pid); } ... but, in jakarta-tomcat-connectors-jk2-2.0.4-src\jk\native2 \common\jk_channel_jni.c:91 - ... if (wEnv->childId != 0) { // AND THIS ?? if (jniW->worker != NULL) jniW->worker->mbean->disabled = JK_TRUE; return JK_ERR; } ... That's it. So, I chang it to - ... if (workerEnv->maxDaemons < 2) { workerEnv->childId = 0; // HERE IS IT!! env->l->jkLog(env, env->l, JK_LOG_INFO, "jk2_init() Setting scoreboard slot 0 for child %d\n", proc.pid); } ... I don't really know what it means, but it works for me now :) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]