Re: ApacheTomcat Connector mod_jk, receiving 0711-244 ERROR when I do a make
Hi Rainer, You never know who your talking to and where they are when you get into a group. I was out sick yesterday, so I am just catching up. >Could you provide (sorry, if you did already) precise information about >your platform (I remember AIX, but which version)? Also: which version >of Apache httpd (1.3.X) do you use? We are AIX 5.3 TL6 SP3 on this system. Apache web server 1.3.31 Tomcat is at 5.5.20 Apache was installed from the Linux package CD for Jun 2007. It is a rpm install. I think the binaries are built into the package and installed through the rpm process. I needed to install the devel part for apxs to be installed. This was also rpm install for the devel rpm file below. apache-1.3.31-1ssl.aix5.1.ppc.rpm apache-devel-1.3.31-1ssl.aix5.1.ppc.rpm apache-manual-1.3.31-1ssl.aix5.1.ppc.rpm Tomcat was a tar file which I untared into a work directory and then copied to /opt/freeware >Do you have an idea, if your Apache httpd was compiled with the same >compiler, that you use? I don't know enough about AIX, but it could be, >that we are getting into binary compatibility problems, if your httpd >was compiled with gcc and you are using a different compiler. > whence apxs /usr/sbin/apxs > apxs -q cc xlc> > apxs -q CFLAGS -O2 -DAIX=510 -U__STR__ -DAIX_BIND_PROCESSOR -DMOD_SSL=208119 -DUSE_HSREGEX -DEA PI> apxs file. ## ## Configuration ## my $CFG_TARGET= q(httpd);# substituted via Makefile.tmpl my $CFG_CC= q(xlc);# substituted via Makefile.tmpl my $CFG_CFLAGS= q(-O2 -DAIX=510 -U__STR__ -DAIX_BIND_PROCESSOR -DMOD_SSL =208119 -DUSE_HSREGEX -DEAPI `../apaci`);# substituted via Makefile. tmpl my $CFG_CFLAGS_SHLIB = q(-DSHARED_MODULE); # substituted via Makefile.tmpl my $CFG_LD_SHLIB = q(ld); # substituted via Makefile.tmpl my $CFG_LDFLAGS_SHLIB = q(-H512 -T512 -bhalt:4 -bM:SRE -bnoentry -bI:/opt/freewa re/apache/libexec/httpd.exp -lc); # substituted via Makefile.tmpl my $CFG_LIBS_SHLIB= q();# substituted via Makefile.tmpl my $CFG_PREFIX= q(/opt/freeware/apache);# substituted via AP ACI install my $CFG_SBINDIR = q(/opt/freeware/apache/sbin); # substituted vi a APACI install my $CFG_INCLUDEDIR= q(/opt/freeware/apache/include);# substituted vi a APACI install my $CFG_LIBEXECDIR= q(/opt/freeware/apache/libexec);# substituted vi a APACI install my $CFG_SYSCONFDIR= q(/etc/opt/freeware/apache);# substituted via AP ACI install >Would you be willing to do a couple of tests, if I would send you >instraumented code? (Like doing another 2 or three compilation, check if >it starts and if not provide output resp. gdb bt). >I unfortunately don't have the platform, and this place in the code >didn't produce any problem for years on Linux/Solaris/Windows. Sure, if you think it would help. By the way thanks for all the help.. Rich
Re: ApacheTomcat Connector mod_jk, receiving 0711-244 ERROR when I do a make
Blumlein,Richard wrote: gdb /usr/sbin/httpd core GNU gdb 6.0 Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "powerpc-ibm-aix5.1.0.0"... (no debugging symbols found)... BFD: /etc/opt/freeware/apache/core: warning core file truncated Core was generated by `httpd'. Program terminated with signal 11, Segmentation fault. #0 0xd16b96c0 in ap_pcalloc () from /opt/freeware/apache/libexec/mod_jk.so (gdb) bt #0 0xd16b96c0 in ap_pcalloc () from /opt/freeware/apache/libexec/mod_jk.so #1 0xd1689654 in create_jk_config (p= OK, that's interesting. So now we come closer, although I still don't understand what should be the problem in the function. But at least we have a starting point. I'll have a look, if I can find known bugs about ap_pcalloc on your platform. Could you provide (sorry, if you did already) precise information about your platform (I remember AIX, but which version)? Also: which version of Apache httpd (1.3.X) do you use? Do you have an idea, if your Apache httpd was compiled with the same compiler, that you use? I don't know enough about AIX, but it could be, that we are getting into binary compatibility problems, if your httpd was compiled with gcc and you are using a different compiler. Try path/to/my/apxs -q CC and path/to/my/apxs -q CFLAGS There are even more interesting variables in the file apxs (it#s an ascii perl script, and the variables are near the beginning of the file). Would you be willing to do a couple of tests, if I would send you instraumented code? (Like doing another 2 or three compilation, check if it starts and if not provide output resp. gdb bt). I unfortunately don't have the platform, and this place in the code didn't produce any problem for years on Linux/Solaris/Windows. gdbtypes.c:533: internal-error: Assertion `TYPE_OBJFILE (*typeptr) == TYPE_OBJFI LE (type) || TYPE_STUB (*typeptr)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) gdbtypes.c:533: internal-error: Assertion `TYPE_OBJFILE (*typeptr) == TYPE_OBJFI LE (type) || TYPE_STUB (*typeptr)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Create a core file of GDB? (y or n) n Regards, Rainer - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ApacheTomcat Connector mod_jk, receiving 0711-244 ERROR when I do a make
Blumlein,Richard wrote: Hello Rainer, Hope you had a nice Thanksgiving? That's not really tradition in Germany, at least not with turkeys. But yes, had a nice weekend. Does the coredump also occur, if you set JkLogLevel to info or error? Yes I tried changing to info or error and both got the dump. Also removed the statement and it dumped. I get the dump if I leave any of the Jk statements in httpd.conf. Interesting how the configtest causes the problem as if Apache does not like one of the statements? Configtest actually runs a lot of module code. See your second mail, which I'll comment in a minute. You can remove the next three lines. They are useless. workers.tomcat_home=/opt/freeware/apache-tomcat workers.java_home=/usr/local/bin/java ps=/ I had tomcat_home in here since there are multiple levels of Tomcat running for different products? Not sure how this works or if I need to have if running multiple Tomcats? I added the java_home to /usr/loca/bin/java which is a link to java 1.4. The default on this system for JAVA_HOME is Java 1.3 for an older product we are running. Not sure how this works? I overrode JAVA_HOME when I did the compile so it would pickup the 1.4 version. I commented them out for the other statements you recommended for now. mod_jk neither needs Java, not does it need to know, where in your file system tomcat resides. Usually Tomcat is on some other node in the network. mod_jk talks to Tomcat via TCP/IP, so it only needs to know IP and port it should talk to. Those two parameters are obsolete and have been used in ancient times to start the Tomcat code inside the Apache httpd process (and then communicate via JNI). That doesn' work any more since a long time ... Does the jk request log go to the access log automatically? It seems it would default to pwd /var/opt/freeware/apache/logs ls access_log error_log You can log to the apache access log. For this you use a cutom log format like explained on http://httpd.apache.org/docs/2.2/mod/mod_log_config.html You need to know, that mod_jk provides a couple of "notes" inside Apache, that you can integrate in the access logs. Those notes are listen on http://tomcat.apache.org/connectors-doc/reference/apache.html Search for mod_log_config and have a look at the table below this and the example below the table. On to your second mail ... - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ApacheTomcat Connector mod_jk, receiving 0711-244 ERROR when I do a make
Hi Rainer, Maybe this will help.. Rich apachectl start (Got the core file). > pwd /etc/opt/freeware/apache > ls access.conf httpd.conf.org mime.types core httpd.conf.sso srm.conf httpd.conf magicworkers.properties > gdb /usr/sbin/httpd core GNU gdb 6.0 Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "powerpc-ibm-aix5.1.0.0"... (no debugging symbols found)... BFD: /etc/opt/freeware/apache/core: warning core file truncated Core was generated by `httpd'. Program terminated with signal 11, Segmentation fault. #0 0xd16b96c0 in ap_pcalloc () from /opt/freeware/apache/libexec/mod_jk.so (gdb) bt #0 0xd16b96c0 in ap_pcalloc () from /opt/freeware/apache/libexec/mod_jk.so #1 0xd1689654 in create_jk_config (p= gdbtypes.c:533: internal-error: Assertion `TYPE_OBJFILE (*typeptr) == TYPE_OBJFI LE (type) || TYPE_STUB (*typeptr)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) gdbtypes.c:533: internal-error: Assertion `TYPE_OBJFILE (*typeptr) == TYPE_OBJFI LE (type) || TYPE_STUB (*typeptr)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Create a core file of GDB? (y or n) n
Re: ApacheTomcat Connector mod_jk, receiving 0711-244 ERROR when I do a make
Hello Rainer, Hope you had a nice Thanksgiving? >Does the coredump also occur, if you set JkLogLevel to info or error? Yes I tried changing to info or error and both got the dump. Also removed the statement and it dumped. I get the dump if I leave any of the Jk statements in httpd.conf. Interesting how the configtest causes the problem as if Apache does not like one of the statements? You can remove the next three lines. They are useless. > workers.tomcat_home=/opt/freeware/apache-tomcat > workers.java_home=/usr/local/bin/java > ps=/ I had tomcat_home in here since there are multiple levels of Tomcat running for different products? Not sure how this works or if I need to have if running multiple Tomcats? I added the java_home to /usr/loca/bin/java which is a link to java 1.4. The default on this system for JAVA_HOME is Java 1.3 for an older product we are running. Not sure how this works? I overrode JAVA_HOME when I did the compile so it would pickup the 1.4 version. I commented them out for the other statements you recommended for now. Does the jk request log go to the access log automatically? It seems it would default to > pwd /var/opt/freeware/apache/logs > ls access_log error_log Well I am at a lose what is causing the core dumps. Doing google searches I found a few items, but not sure if it applies to me. As for using gdb I don't believe we have it installed. If you think this is the next step, then I could look into downloading this to help. When you had me run the file command it looks as if mod_jk.so was ok. file mod_jk.so mod_jk.so: executable (RISC System/6000) or object module not stripped Like I mentioned above, configtest seems to think there is an issue with the JK statements so I don't think mod_jk.so is even being loaded? Nothing is getting written to the mod_jk log file. > pwd /opt/freeware/apache/logs > ls -la total 0 drwxr-xr-x 2 root system 256 Nov 21 11:19 ./ drwxr-xr-x 9 root system 256 Nov 21 10:39 ../ -rwxr-xr-x 1 root system0 Nov 21 11:19 mod_jk.log* Once again, thanks for the help.. Rich
Re: ApacheTomcat Connector mod_jk, receiving 0711-244 ERROR when I do a make.
So you actually got a coredump on the file system? Don't know about AIX, but usually there are tools included that enable you to write out the stack in which the process died. If there is no AIX specific tool, gdb will do (load the core into gdb like gdb /path/to/my/bin/httpd COREFILE and then enter "bt" fopr backtrace. This will print a stack in which we will be interested. Does the coredump also occur, if you set JkLogLevel to info or error? You config looks OK, there are a lot of things you can delete, but nothing harmfull. See comments below. Blumlein,Richard wrote: Hello Rainer and group, I copied mod_jk.so.0 from the apache-1.3/.libs directory to the apache 1.3 libexec directory as mod_jk.soand gave it 755. I created a workers.properties file in /etc/opt/freeware/apache I placed workers.properties with the Apache Web Server files instead of with the tomcat file since I believe it is part of the Apache Web Server, not Tomcat? When I run a apachectl configtest command or try to start Apache it takes a core dump. apachectl configtest /usr/sbin/apachectl[172]: 2146456 Segmentation fault(coredump) apachectl start /usr/sbin/apachectl[86]: 2703490 Segmentation fault(coredump) /usr/sbin/apachectl start: httpd could not be started If I remove the Jk* statements from httpd.conf, apache configtest and starts ok. I am running out of ideas real fast on this one? This is my workers.properties file. # This file provides minimal jk configuration properties needed to # connect to Tomcat. # # We define a worker named 'worker1' # You can remove the next three lines. They are useless. workers.tomcat_home=/opt/freeware/apache-tomcat workers.java_home=/usr/local/bin/java ps=/ worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 lbfactor is only needed, in case you want to do non-symmetric loadbalancing. worker.worker1.lbfactor=1 This is my httpd.conf file. I placed the Jk* statements right before the section 3 area. # # CSU Modification for Single Sign On # # Mod_jk settings # # Load mod_jk module LoadModule jk_module libexec/mod_jk.so # Where to find workers.properties JkWorkersFile /etc/opt/freeware/apache/workers.properties # Where to put jk logs JkLogFile logs/mod_jk.log # Set the jk log level [debug/error/info] See above, check if the dump only occcurs with debug and not with info or error. Your config shouldn't crash, but sometimes the crashes are within the debug log statements. Do you get any results in the JkLogFile before the crash happens? JkLogLevel debug # Select the log format You should better stick to the default and delete this. JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " You should at least delete the option +ForwardURICompat, because newer jk versions have a better default. Use the other two options only, if you have a specific reason. # JkOptions indicate to send SSL KEY SIZE, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat set the request format You don't need a jk request log for modrn versions, because you can include all jk specific log information in the usual access log. JkRequestLogFormat "%w %V %T" # Send JSPs for context /jsp-examples to worker named worker1 JkMount /jsp-examples/*.jsp worker1 # Send servlets-examples to worker named worker1 JkMount /servlets-examples/* worker1 # Send vp_web to worker named worker1 JkMount /vp_web/* worker1 I added the Alias directives as the CSU Modifications for Single Sign On. ScriptAlias /tng/scripts /cau/browser/scripts ScriptAlias /tngfw/scripts /cau/browser/scripts Alias /tng /cau/browser Alias /tngfw /cau/browser # # CSU Modification for Single Sign On # Alias /jsp-examples /opt/freeware/apache-tomcat/webapps/jsp-examples/ Alias /servlets-example /opt/freeware/apache-tomcat/webapps/servlets-examples/ Alias /vp_web /opt/freeware/apache-tomcat/webapps/vp_web/ PassEnv LANG Options FollowSymLinks AllowOverride None # # CSU Modification for Single Sign On # Options FollowSymLinks AllowOverride None Options FollowSymLinks AllowOverride None Allow from all Options FollowSymLinks AllowOverride None Thanks you, Rich - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ApacheTomcat Connector mod_jk, receiving 0711-244 ERROR when I do a make.
Hello Rainer and group, I copied mod_jk.so.0 from the apache-1.3/.libs directory to the apache 1.3 libexec directory as mod_jk.soand gave it 755. I created a workers.properties file in /etc/opt/freeware/apache I placed workers.properties with the Apache Web Server files instead of with the tomcat file since I believe it is part of the Apache Web Server, not Tomcat? When I run a apachectl configtest command or try to start Apache it takes a core dump. > apachectl configtest /usr/sbin/apachectl[172]: 2146456 Segmentation fault(coredump) > apachectl start /usr/sbin/apachectl[86]: 2703490 Segmentation fault(coredump) /usr/sbin/apachectl start: httpd could not be started If I remove the Jk* statements from httpd.conf, apache configtest and starts ok. I am running out of ideas real fast on this one? This is my workers.properties file. # This file provides minimal jk configuration properties needed to # connect to Tomcat. # # We define a worker named 'worker1' # workers.tomcat_home=/opt/freeware/apache-tomcat workers.java_home=/usr/local/bin/java ps=/ worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1 This is my httpd.conf file. I placed the Jk* statements right before the section 3 area. # # CSU Modification for Single Sign On # # Mod_jk settings # # Load mod_jk module LoadModule jk_module libexec/mod_jk.so # Where to find workers.properties JkWorkersFile /etc/opt/freeware/apache/workers.properties # Where to put jk logs JkLogFile logs/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel debug # Select the log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions indicate to send SSL KEY SIZE, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat set the request format JkRequestLogFormat "%w %V %T" # Send JSPs for context /jsp-examples to worker named worker1 JkMount /jsp-examples/*.jsp worker1 # Send servlets-examples to worker named worker1 JkMount /servlets-examples/* worker1 # Send vp_web to worker named worker1 JkMount /vp_web/* worker1 I added the Alias directives as the CSU Modifications for Single Sign On. ScriptAlias /tng/scripts /cau/browser/scripts ScriptAlias /tngfw/scripts /cau/browser/scripts Alias /tng /cau/browser Alias /tngfw /cau/browser # # CSU Modification for Single Sign On # Alias /jsp-examples /opt/freeware/apache-tomcat/webapps/jsp-examples/ Alias /servlets-example /opt/freeware/apache-tomcat/webapps/servlets-examples/ Alias /vp_web /opt/freeware/apache-tomcat/webapps/vp_web/ PassEnv LANG Options FollowSymLinks AllowOverride None # # CSU Modification for Single Sign On # Options FollowSymLinks AllowOverride None Options FollowSymLinks AllowOverride None Allow from all Options FollowSymLinks AllowOverride None Thanks you, Rich
Re: ApacheTomcat Connector mod_jk, receiving 0711-244 ERROR when I do a make.
Blumlein,Richard wrote: Hello Rainer, First, that for all the help.. The examples I gave are from the make. The confusing part is some docs just show doing the configure, make, copy the mod, make clean on the Apache site docs. I have also seem some docs show doing configure, make, make install, copy the mod, make clean. I am not sure if I need the make install? make install does nothing more than simply copying the .so file to the httpd modul directory (e.g. libexec in the httpd 1.3 case). Exactly, more precisely, if there is already an mod_jk.so in the .libs, that's actually the final result of the build process, and you can put it into every directory you like to install it. To really use it, you have to give it's path name in the LoadModule httpd directive. mod_jk.so.0 is trying to be renamed from the apache-1.3 directory when it resides in the apache-1.3/.libs directory. I did a file command on the mod_jk.so.0 file in .libs and it shows pwd /software/source/gnu/apache_tomcat/work/tomcat-connectors-1.2.25-src/native/apac he-1.3/.libs file mod_jk.so.0 mod_jk.so.0: executable (RISC System/6000) or object module not stripped Looks good. So am I thinking I can do the copy/rename myself to Apache Web Server and rename it to mod_jk.so under some directory. Yes. That is if I don't need to do make install after the make. Ah, OK: for httpd 1.3 the directory is libexec, not modules. It has exactly the same purpose. As noted above, you can put the file in any place you like, as long as the LoadModule contains the path name. Convention is a sub directory libexec for httpd 1.3 and modules for 2.x below the ServerRoot of httpd. I see what your saying about pointing to it in the Apache httpd.conf file. Just as long as it is found. LoadModule jk_module modules/mod_jk.so Careful: here you say look at the modules subdirectory of ServerRoot, but the directory you listed in a previous post was named libexec, not modules, and in fact libexec is the correct convention for httpd 1.3. If you want to use "modules" instead, you must create the directory underneath ServerRoot and put the module there. That might be a little strange, bacause all your other modules will be in the libexec directory. Thank you very much. Rich Regards, Rainer - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ApacheTomcat Connector mod_jk, receiving 0711-244 ERROR when I do a make.
Hello Rainer, First, that for all the help.. The examples I gave are from the make. The confusing part is some docs just show doing the configure, make, copy the mod, make clean on the Apache site docs. I have also seem some docs show doing configure, make, make install, copy the mod, make clean. I am not sure if I need the make install? > Exactly, more precisely, if there is already an mod_jk.so in the .libs, > that's actually the final result of the build process, and you can put > it into every directory you like to install it. To really use it, you > have to give it's path name in the LoadModule httpd directive. mod_jk.so.0 is trying to be renamed from the apache-1.3 directory when it resides in the apache-1.3/.libs directory. I did a file command on the mod_jk.so.0 file in .libs and it shows >pwd /software/source/gnu/apache_tomcat/work/tomcat-connectors-1.2.25-src/native/apac he-1.3/.libs > file mod_jk.so.0 mod_jk.so.0: executable (RISC System/6000) or object module not stripped So am I thinking I can do the copy/rename myself to Apache Web Server and rename it to mod_jk.so under some directory. That is if I don't need to do make install after the make. > Ah, OK: for httpd 1.3 the directory is libexec, not modules. It has > exactly the same purpose. As noted above, you can put the file in any > place you like, as long as the LoadModule contains the path name. > Convention is a sub directory libexec for httpd 1.3 and modules for 2.x > below the ServerRoot of httpd. I see what your saying about pointing to it in the Apache httpd.conf file. Just as long as it is found. LoadModule jk_module modules/mod_jk.so Thank you very much. Rich