sounds good for me. Apologies for confusion! On Wed, Feb 8, 2012 at 10:33 PM, Jeff Trawick <[email protected]> wrote:
> On Wed, Feb 8, 2012 at 3:40 PM, Michael Felt <[email protected]> wrote: > > I was assuming that "worker.c" was the code that spawned the threads. > > (remember, this is 2.2.22, not 2.4.0, in case that makes any difference) > > uhh, huge difference... 2.2.x does not have loadable MPMs or the > corresponding --enable-mpms-shared=all flag > > for simplification can we limit discussion to 2.4.x/2.5.x until that > is working fine? that's the configure logic I started the thread for > > > > > So, please correct me where I am wrong: > > from "/etc/httpd/extra/httpd-mpm.conf > > > > # > > # Only one of the below sections will be relevant on your > > # installed httpd. Use "apachectl -l" to find out the > > # active mpm. > > # > > > > ... I assumed that this is where "worker.c" was telling me that > mpm=worker > > <IfModule mpm_prefork_module> > > .... > > # worker MPM > > # StartServers: initial number of server processes to start > > # MaxClients: maximum number of simultaneous client connections > > # MinSpareThreads: minimum number of worker threads which are kept spare > > ... > > <IfModule mpm_worker_module> > > StartServers 2 > > MaxClients 150 > > MinSpareThreads 25 > > ... > > <IfModule mpm_beos_module> > > > > etc.. > > > > Note - these are the ONLY compiled in modules: > > > > root@x105:[/]apachectl -l > > Compiled in modules: > > core.c > > worker.c > > http_core.c > > mod_so.c > > --- > > OR > > root@x105:[/]apachectl -M > > Loaded Modules: > > core_module (static) > > mpm_worker_module (static) > > http_module (static) > > so_module (static) > > authn_file_module (shared) > > authn_dbm_module (shared) > > authn_anon_module (shared) > > authn_dbd_module (shared) > > authn_default_module (shared) > > authz_host_module (shared) > > authz_groupfile_module (shared) > > authz_user_module (shared) > > authz_dbm_module (shared) > > authz_owner_module (shared) > > authz_default_module (shared) > > auth_basic_module (shared) > > auth_digest_module (shared) > > dbd_module (shared) > > dumpio_module (shared) > > reqtimeout_module (shared) > > ext_filter_module (shared) > > include_module (shared) > > filter_module (shared) > > substitute_module (shared) > > deflate_module (shared) > > log_config_module (shared) > > log_forensic_module (shared) > > logio_module (shared) > > env_module (shared) > > mime_magic_module (shared) > > cern_meta_module (shared) > > expires_module (shared) > > headers_module (shared) > > ident_module (shared) > > usertrack_module (shared) > > unique_id_module (shared) > > setenvif_module (shared) > > version_module (shared) > > mime_module (shared) > > dav_module (shared) > > status_module (shared) > > autoindex_module (shared) > > asis_module (shared) > > info_module (shared) > > cgid_module (shared) > > dav_fs_module (shared) > > vhost_alias_module (shared) > > negotiation_module (shared) > > dir_module (shared) > > imagemap_module (shared) > > actions_module (shared) > > speling_module (shared) > > userdir_module (shared) > > alias_module (shared) > > rewrite_module (shared) > > Syntax OK > > > > which is the result of: > > ./configure --enable-layout=AIX --with-mpm=worker > --enable-mods-shared=all > > > > It is what I "expected", so where am I going wrong? > > > > > > On Wed, Feb 8, 2012 at 9:27 PM, Jeff Trawick <[email protected]> wrote: > >> > >> On Wed, Feb 8, 2012 at 3:02 PM, Michael Felt <[email protected]> wrote: > >> > Well, ..., removed external apr, just to be sure it was "the same as > >> > before" > >> > > >> > For simplicity, I am thinking of MPM as multi-threaded versus > >> > single-threaded. If that is correct, on AIX I am seeing multi-threaded > >> > "pre-fork" behavior. > >> > >> Basically: The prefork MPM has single-threaded child processes; the > >> worker MPM has multi-threaded child processes. > >> > >> > === > >> > root@x105:[/]apachectl -l > >> > Compiled in modules: > >> > core.c > >> > worker.c > >> > >> With "--enable-mpms-shared=all" you should not see prefork.c or > >> worker.c (or any MPM) in this list. Something is going wrong at > >> configure time. > >> > >> > >> > http_core.c > >> > mod_so.c > >> > === > >> > root@x105:[/]ps -G 202 -mo THREAD > >> > USER PID PPID TID ST CP PRI SC WCHAN F TT > >> > BND > >> > COMMAND > >> > daemon 299078 458806 - A 0 60 28 * 40001 - > >> > - > >> > /opt/httpd/sbin/httpd -k start > >> > - - - 524427 S 0 60 1 f100070f10008040 > 8410400 > >> > - - - > >> > - - - 647261 S 0 60 1 f100070f10009e40 > 8410400 > >> > - - - > >> > - - - 667799 S 0 60 1 f100070f1000a340 > 8410400 > >> > - - - > >> > - - - 671983 S 0 60 1 f100070f1000a440 > 8410400 > >> > - - - > >> > - - - 680117 S 0 60 1 f100070f1000a640 > 8410400 > >> > - - - > >> > - - - 684109 S 0 60 1 f100070f1000a740 > 8410400 > >> > - - - > >> > - - - 749707 S 0 60 1 f100070f1000b740 > 8410400 > >> > - - - > >> > - - - 888971 S 0 60 1 f100070f1000d940 > 8410400 > >> > - - - > >> > - - - 905243 Z 0 60 1 - c00001 - > >> > - - > >> > - - - 970855 S 0 60 1 f100010012c4ffb8 > 410400 > >> > - - - > >> > - - - 999669 S 0 60 1 f100070f1000f440 > 8410400 > >> > - - - > >> > - - - 1003655 S 0 60 1 f100070f1000f540 > 8410400 > >> > - - - > >> > - - - 1044605 S 0 60 1 f100070f1000ff40 > 8410400 > >> > - - - > >> > - - - 1069255 S 0 60 1 f100070f10010540 > 8410400 > >> > - - - > >> > - - - 1101951 S 0 60 1 f100070f10010d40 > 8410400 > >> > - - - > >> > - - - 1204243 S 0 60 1 f100070f10012640 > 8410400 > >> > - - - > >> > - - - 1233133 S 0 60 1 f100070f10012d40 > 8410400 > >> > - - - > >> > - - - 1245225 S 0 60 1 f100070f10013040 > 8410400 > >> > - - - > >> > - - - 1249349 S 0 60 1 f100070f10013140 > 8410400 > >> > - - - > >> > - - - 1261619 S 0 60 1 f100070f10013440 > 8410400 > >> > - - - > >> > - - - 1278023 S 0 60 1 f100070f10013840 > 8410400 > >> > - - - > >> > - - - 1294395 S 0 60 1 f100070f10013c40 > 8410400 > >> > - - - > >> > - - - 1319117 S 0 60 1 f100070f10014240 > 8410400 > >> > - - - > >> > - - - 1323147 S 0 60 1 f100070f10014340 > 8410400 > >> > - - - > >> > - - - 1331321 S 0 60 1 f100070f10014540 > 8410400 > >> > - - - > >> > - - - 1355913 S 0 60 1 f100060000ebca08 > 400400 > >> > - - - > >> > - - - 1368225 S 0 60 1 f100070f10014e40 > 8410400 > >> > - - - > >> > - - - 1409275 S 0 60 1 f100070f10015840 > 8410400 > >> > - - - > >> > daemon 491756 458806 - A 0 60 1 f100060000e91208 > 40401 > >> > - - /opt/httpd/sbin/httpd -k start > >> > - - - 839725 S 0 60 1 f100060000e91208 > 400400 > >> > - - - > >> > daemon 565316 458806 - A 0 60 28 * 40001 - > >> > - > >> > /opt/httpd/sbin/httpd -k start > >> > - - - 504043 S 0 60 1 f100070f10007b40 > 8410400 > >> > - - - > >> > - - - 512187 S 0 60 1 f100070f10007d40 > 8410400 > >> > - - - > >> > - - - 659535 Z 0 60 1 - c00001 - > >> > - - > >> > - - - 729261 S 0 60 1 f100070f1000b240 > 8410400 > >> > - - - > >> > - - - 733431 S 0 60 1 f100070f1000b340 > 8410400 > >> > - - - > >> > - - - 753851 S 0 60 1 f100070f1000b840 > 8410400 > >> > - - - > >> > - - - 925923 S 0 60 1 f100070f1000e240 > 8410400 > >> > - - - > >> > - - - 929947 S 0 60 1 f100070f1000e340 > 8410400 > >> > - - - > >> > - - - 938061 S 0 60 1 f100070f1000e540 > 8410400 > >> > - - - > >> > - - - 975039 S 0 60 1 f100070f1000ee40 > 8410400 > >> > - - - > >> > - - - 1007673 S 0 60 1 f100060000ebca08 > 400400 > >> > - - - > >> > - - - 1040579 S 0 60 1 f100070f1000fe40 > 8410400 > >> > - - - > >> > - - - 1073265 S 0 60 1 f100070f10010640 > 8410400 > >> > - - - > >> > - - - 1126419 S 0 60 1 f100070f10011340 > 8410400 > >> > - - - > >> > - - - 1171705 S 0 60 1 f100070f10011e40 > 8410400 > >> > - - - > >> > - - - 1183967 S 0 60 1 f100070f10012140 > 8410400 > >> > - - - > >> > - - - 1192149 S 0 60 1 f100070f10012340 > 8410400 > >> > - - - > >> > - - - 1228911 S 0 60 1 f100070f10012c40 > 8410400 > >> > - - - > >> > - - - 1237123 S 0 60 1 f100070f10012e40 > 8410400 > >> > - - - > >> > - - - 1257713 S 0 60 1 f100010012c4ffb8 > 410400 > >> > - - - > >> > - - - 1310959 S 0 60 1 f100070f10014040 > 8410400 > >> > - - - > >> > - - - 1339473 S 0 60 1 f100070f10014740 > 8410400 > >> > - - - > >> > - - - 1343615 S 0 60 1 f100070f10014840 > 8410400 > >> > - - - > >> > - - - 1347699 S 0 60 1 f100070f10014940 > 8410400 > >> > - - - > >> > - - - 1364159 S 0 60 1 f100070f10014d40 > 8410400 > >> > - - - > >> > - - - 1372165 S 0 60 1 f100070f10014f40 > 8410400 > >> > - - - > >> > - - - 1376461 S 0 60 1 f100070f10015040 > 8410400 > >> > - - - > >> > - - - 1396845 S 0 60 1 f100070f10015540 > 8410400 > >> > - - - > >> > root@x105:[/] > >> > ==== > >> > In the listing above, the PID numbers are the even numbers (processes) > >> > while > >> > the column TID (thread ID) are all odd. Threads are indented and > "under" > >> > the > >> > process. > >> > > >> > Only "changes" were creation of a group daemon (id = 202, hence ps -G > >> > 202), > >> > and activating the extra/httpd-mpm.conf file via > /etc/httpd/httpd.conf. > >> > > >> > So, even though I do not see any files named *mpm*.so I would think > that > >> > this shows that AIX it is "worker" and not pre-fork. > >> > > >> > > >> > On Wed, Feb 8, 2012 at 5:57 PM, Jeff Trawick <[email protected]> > wrote: > >> >> > >> >> On Wed, Feb 8, 2012 at 11:47 AM, Michael Felt <[email protected]> > >> >> wrote: > >> >> > Well, just slightly confused. > >> >> > On my system I have "tested" in as much as I can https://hostnameand > >> >> > it > >> >> > says "It works!". > >> >> > What I need some assistence with perhaps is determeing which "mpm" > >> >> > binary > >> >> > was built, as I am only building one with 2.2.22 at the moment. > >> >> > >> >> Look in your modules directory for *mpm*.so to see what was > >> >> built+installed. > >> >> > >> >> Look in your httpd.conf to see which of those available MPMs is > loaded > >> >> via LoadModule. > >> >> > >> >> (I think you'll find that prefork and worker are built for AIX, and > >> >> worker is the one loaded by default.) > >> >> > >> >> > > >> >> > re: Having only one script - I am not surprised there must be more > >> >> > than > >> >> > one, > >> >> > but I hoped :) > >> >> > There are actually two scripts - one that does the > >> >> > configure/make/make > >> >> > install, and one that creates the > >> >> > template needed to make the package. > >> >> > > >> >> > FYI: I am working on getting a build for a svn client as well. AND > - > >> >> > I > >> >> > am > >> >> > doing these things because I am very tired of having to download 10 > >> >> > to > >> >> > 20 > >> >> > .rpm packages, each with moving dependancies it seems, in order to > >> >> > install > >> >> > something that is supposed readily available. In short, I am trying > >> >> > to > >> >> > make > >> >> > some packages that just 'install' with saying - you need this too, > >> >> > and > >> >> > then > >> >> > when you install that - it says and I need this first, etc etc. > >> >> > > >> >> > In a word, boring. > >> >> > > >> >> > FYI: current tools (IBM and others) use /opt/freeware as their main > >> >> > installation area - so I am opting for /opt/* (no freeware in the > >> >> > name) > >> >> > for > >> >> > packages like coreutils, libz, pcre, apr, apr-util, etc. and > >> >> > applications > >> >> > (packaging) such as httpd and svn in /opt/httpd, /opt/svn. With > your > >> >> > wealth > >> >> > of prior experience - if you see a trap I am setting for myself, > >> >> > please > >> >> > warn > >> >> > me - and better - lead me to safety. > >> >> > > >> >> > regards, Michael > >> >> > > >> >> > > >> >> > On Wed, Feb 8, 2012 at 3:40 PM, Jeff Trawick <[email protected]> > >> >> > wrote: > >> >> >> > >> >> >> On Wed, Feb 8, 2012 at 9:08 AM, Michael Felt <[email protected]> > >> >> >> wrote: > >> >> >> > Well, it was building "something". I'll try the proposed change > >> >> >> > and > >> >> >> > make > >> >> >> > sure it is still giving me "all" the mods. > >> >> >> > >> >> >> yeah, that was the idea... thanks! > >> >> >> > >> >> >> > FYI - I have added --enable-ssl (so that the same script works > for > >> >> >> > both > >> >> >> > 2.2.22 and 2.4.0 which have different ideas of "all". > >> >> >> > >> >> >> As Graham mentioned, expect to have different scripts for > different > >> >> >> releases and do the right thing for each release. It isn't a good > >> >> >> thing if people who play with configure more often but might not > >> >> >> know > >> >> >> the ancient history stare at the script and wonder about the odd > >> >> >> choice of arguments. (I happen to remember about the > >> >> >> AIX/--enable-so > >> >> >> issue from long ago, but that needs to die.) > >> >> >> > >> >> >> > And I hope configure will still leave AIX modules as shared (as > it > >> >> >> > used > >> >> >> > to > >> >> >> > make them all static by default - long ago). > >> >> >> > >> >> >> If it doesn't build them shared using the appropriate configure > >> >> >> args, > >> >> >> that's what needs to be fixed. (Most people won't use this > script.) > >> >> >> > >> >> >> > > >> >> >> > I shall try both 2.4.0 and 2.2.22 (without --enable-ssl) - and I > >> >> >> > am > >> >> >> > continuing to work towards to havin g APR external to httpd. > >> >> >> > > >> >> >> > > >> >> >> > On Tue, Feb 7, 2012 at 8:09 PM, Jeff Trawick <[email protected] > > > >> >> >> > wrote: > >> >> >> >> > >> >> >> >> The buildaix.ksh script committed recently had some outdated > >> >> >> >> options > >> >> >> >> or requirements, and didn't build loadable MPMs. Suggested > >> >> >> >> changes > >> >> >> >> are below. Do or do not fold, spindle, or mutilate; commit > with > >> >> >> >> or > >> >> >> >> without testing; etc. > >> >> >> >> > >> >> >> >> Index: build/aix/buildaix.ksh > >> >> >> >> > >> >> >> >> > =================================================================== > >> >> >> >> --- build/aix/buildaix.ksh (revision 1241549) > >> >> >> >> +++ build/aix/buildaix.ksh (working copy) > >> >> >> >> @@ -30,11 +30,7 @@ > >> >> >> >> > nohup.out > >> >> >> >> ./configure \ > >> >> >> >> --enable-layout=$LAYOUT \ > >> >> >> >> - --enable-module=so \ > >> >> >> >> - --enable-proxy \ > >> >> >> >> - --enable-cache \ > >> >> >> >> - --enable-disk-cache \ > >> >> >> >> - --with-mpm=worker \ > >> >> >> >> + --enable-mpms-shared=all \ > >> >> >> >> --enable-mods-shared=all | tee nohup.out > >> >> >> >> > >> >> >> >> make | tee -a nohup.out > >> >> >> >> > >> >> >> >> -- > >> >> >> >> Born in Roswell... married an alien... > >> >> >> > > >> >> >> > > >> >> >> > >> >> >> > >> >> >> > >> >> >> -- > >> >> >> Born in Roswell... married an alien... > >> >> > > >> >> > > >> >> > >> >> > >> >> > >> >> -- > >> >> Born in Roswell... married an alien... > >> > > >> > > >> > >> > >> > >> -- > >> Born in Roswell... married an alien... > > > > > > > > -- > Born in Roswell... married an alien... >
