Fwd: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
Devs, This one in from the users@ list. It sounds vaguely familiar to the issue previously mentioned about win32 defaults and some strange dependency failure between proxy_balancer and slotmem providers. Only, this is on the bleeding edge beta posted today, and hits Unix (particularly with our new cleaned-up default for #LoadModule). Thanks for the report, Jens. Original Message Subject: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm Date: Wed, 9 Nov 2011 16:25:38 +0100 (CET) From: Schleusener, Jens To: us...@httpd.apache.org Hi, sorry if I report a small problem to this list although 2.3.15 seems still "beta" and I am not sure if it's not a "personal" problem: I just downloaded and extracted the source packages httpd-2.3.15-beta.tar.bz2 and httpd-2.3.15-beta-deps.tar.bz2 and issued in the httpd-2.3.15-beta directory ./configure --prefix=/usr/local/www/httpd2.3.15-beta --enable-so \ --disable-ldap --with-included-apr --with-pcre=/usr/local/soft \ --enable-mods-shared="most cache mem-cache mime-magic proxy ssl unique_id" and then a "make" and "make install" and tried to start the server but without success. In the error_log I found [Wed Nov 09 16:19:47.001264 2011] [proxy_balancer:emerg] [pid 5581:tid 3076073744] ap_lookup_provider slotmem failed: is mod_slotmem_shm loaded?? Configuration Failed Ok, so I simply removed in the installed default httpd.conf the comment sign within the line #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so and as expected now all works. But if the used options above are valid ones so the according automatically generated httpd.conf seems not correct per se (I didn't tested yet other combinations of options in combination with the option "proxy"). Is that "normal" or an error of the configuration process (or of the choosen configuration options)? Regards Jens - The official User-To-User support forum of the Apache HTTP Server Project. See http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org " from the digest: users-digest-unsubscr...@httpd.apache.org For additional commands, e-mail: users-h...@httpd.apache.org
Re: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
On 09 Nov 2011, at 11:53 PM, Stefan Fritsch wrote: I talked with Rainer about this and we came to the conclusion, that we simply should keep non-default modules commented out, even if they have been explicitly enabled with --enable-foo. This has also the advantage that it is more likely that the user will only enable what he currently needs, even if he has built some additional modules he may need later. Definite +1. I hear from time to time people saying that httpd is "big", but it turns out they're just loading a bunch of modules they didn't need when they started with a default config. It's particularly important for distros, where most/all modules are likely to be compiled in anyway, but the default config should remain lean. Regards, Graham --
Re: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
Isn't the point different? If someone enables mod_proxy then the configure script needs to ensure that mod_slotmem is also built… On Nov 9, 2011, at 1:53 PM, Stefan Fritsch wrote: > Hi, > > On Wed, 9 Nov 2011, William A. Rowe Jr. wrote: >> This one in from the users@ list. It sounds vaguely familiar >> to the issue previously mentioned about win32 defaults and some >> strange dependency failure between proxy_balancer and slotmem >> providers. >> >> Only, this is on the bleeding edge beta posted today, and hits >> Unix (particularly with our new cleaned-up default for #LoadModule). > > I talked with Rainer about this and we came to the conclusion, that we simply > should keep non-default modules commented out, even if they have been > explicitly enabled with --enable-foo. This has also the advantage that it is > more likely that the user will only enable what he currently needs, even if > he has built some additional modules he may need later. > > Does anyone disagree? > > Cheers, > Stefan >
Re: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
On 11/9/2011 4:53 PM, Jim Jagielski wrote: Isn't the point different? If someone enables mod_proxy then the configure script needs to ensure that mod_slotmem is also built… Reporter suggests that *NOT* loading mod_slotmem_shm caused the server to start correctly; exactly the inverse of what we would expect.
Re: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
On 09.11.2011 21:20, William A. Rowe Jr. wrote: On 11/9/2011 4:53 PM, Jim Jagielski wrote: Isn't the point different? If someone enables mod_proxy then the configure script needs to ensure that mod_slotmem is also built… Reporter suggests that *NOT* loading mod_slotmem_shm caused the server to start correctly; exactly the inverse of what we would expect. No, his subject is "module proxy_balancer requires the not automatically loaded module slotmem_shm" ("the not" and not "to not") and he writes "Ok, so I simply removed in the installed default httpd.conf the comment sign within the line #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so and as expected now all works. " I think at the moment there is some tendency to further reduce the default active LoadModules to a very small module set (see elsethread) and not activate the other enabled modules. Module set at build time is only loosely coupled to needed modules at run time. Jim's suggestion still makes sense: even if we do not activate most modules by default, some modules have dependencies to other modules and when a module with such a dependency is build (enabled), we could build the dependencies automatically as well. Modules with dependencies are at least mod_ssl (for the session cache), mod_proxy_balancer, and I think the heartbeat stuff. Probably also ldap auth needing mod_ldap. On the other hand we now build "most" by default and there are "all" and "reallyall", *and* we now only activate few modules by default. So most users should not have a real need to add individual modules to the list of modules to build. IMHO the automatic dependency handling in configure is not a must. We could add after GA if users really need it. Regards, Rainer
Re: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
On 11/10/2011 1:08 AM, Rainer Jung wrote: No, his subject is "module proxy_balancer requires the not automatically loaded module slotmem_shm" ("the not" and not "to not") and he writes "Ok, so I simply removed in the installed default httpd.conf the comment sign within the line #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so and as expected now all works. " Thanks for helping me reparse this ;-)
Re: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
On Thu, 10 Nov 2011, Rainer Jung wrote: On 09.11.2011 21:20, William A. Rowe Jr. wrote: On 11/9/2011 4:53 PM, Jim Jagielski wrote: Isn't the point different? If someone enables mod_proxy then the configure script needs to ensure that mod_slotmem is also built… Reporter suggests that *NOT* loading mod_slotmem_shm caused the server to start correctly; exactly the inverse of what we would expect. No, his subject is "module proxy_balancer requires the not automatically loaded module slotmem_shm" ("the not" and not "to not") and he writes "Ok, so I simply removed in the installed default httpd.conf the comment sign within the line #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so and as expected now all works. " I am the OP and yes, Rainer interprets me correctly. And here a small addition: Just for curiosity I added "dav_lock" to my previosly used configure options (don't ask why, just "historical" reasons): ./configure --prefix=/usr/local/www/httpd2.3.15-beta_with_dl \ --enable-so --disable-ldap --with-included-apr --with-pcre=/usr/local/soft \ --enable-mods-shared="most cache mem-cache dav_lock mime-magic proxy ssl unique_id" Some relevant entries from the so generated default httpd.conf: #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_lock_module modules/mod_dav_lock.so If I now issue "bin/apachectl start" I got the error httpd: Syntax error on line 138 of /usr/local/www/httpd2.3.15-beta_with_dl/conf/httpd.conf: Cannot load /usr/local/www/httpd2.3.15-beta_with_dl/modules/mod_dav_lock.so into server: /usr/local/www/httpd2.3.15-beta_with_dl/modules/mod_dav_lock.so: undefined symbol: dav_push_error Remark: This error was output to the console and not as yesterday "only" to the error_log so I detected yesterday the problem only later since the httpd wasn't running (probably since the errors have different qualities and/or occur at different phases). Ok, in this case I had not only to activate/load the "slotmem_shm_module" but also to remove the comment sign from the following httpd.conf line #LoadModule dav_module modules/mod_dav.so to let apache load the required "dav_module". Probably a very similar configuration dependency problem. I think at the moment there is some tendency to further reduce the default active LoadModules to a very small module set (see elsethread) and not activate the other enabled modules. Module set at build time is only loosely coupled to needed modules at run time. Jim's suggestion still makes sense: even if we do not activate most modules by default, some modules have dependencies to other modules and when a module with such a dependency is build (enabled), we could build the dependencies automatically as well. Modules with dependencies are at least mod_ssl (for the session cache), mod_proxy_balancer, and I think the heartbeat stuff. Probably also ldap auth needing mod_ldap. On the other hand we now build "most" by default and there are "all" and "reallyall", *and* we now only activate few modules by default. So most users should not have a real need to add individual modules to the list of modules to build. IMHO the automatic dependency handling in configure is not a must. We could add after GA if users really need it. Regards, Rainer Regards Jens P.S.: OT ("information" respectively "promotion"): By the way I use the apache httpd server for "my" FOSS software archive and naturally the according tarballs are there also available, for e.g. under http://fossies.org/unix/www/httpd-2.3.14-beta.tar.gz/ or under the more general and version independent start URL http://fossies.org/httpd Why I write this (with bad conscience)? That site allows source code browsing, downloads with different compression formats, generates a CLOC statistic (ok, a gimmick), for e.g. http://fossies.org/unix/www/httpd-2.3.14-beta.tar.gz/cloc.html and offers Doxygen-generated source code documentation (ok, for httpd the dependency graphs are sometimes a little bit gigantic and confusing), for e.g. http://fossies.org/dox/httpd-2.3.14-beta/ in the hope that it helps the developers of the FOSS community. But probably apache teams have its own more specific according tools ;-)
Re: Fwd: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
Hi, On Wed, 9 Nov 2011, William A. Rowe Jr. wrote: This one in from the users@ list. It sounds vaguely familiar to the issue previously mentioned about win32 defaults and some strange dependency failure between proxy_balancer and slotmem providers. Only, this is on the bleeding edge beta posted today, and hits Unix (particularly with our new cleaned-up default for #LoadModule). I talked with Rainer about this and we came to the conclusion, that we simply should keep non-default modules commented out, even if they have been explicitly enabled with --enable-foo. This has also the advantage that it is more likely that the user will only enable what he currently needs, even if he has built some additional modules he may need later. Does anyone disagree? Cheers, Stefan
Re: Fwd: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
On 09.11.2011 13:53, Stefan Fritsch wrote: Hi, On Wed, 9 Nov 2011, William A. Rowe Jr. wrote: This one in from the users@ list. It sounds vaguely familiar to the issue previously mentioned about win32 defaults and some strange dependency failure between proxy_balancer and slotmem providers. Only, this is on the bleeding edge beta posted today, and hits Unix (particularly with our new cleaned-up default for #LoadModule). I talked with Rainer about this and we came to the conclusion, that we simply should keep non-default modules commented out, even if they have been explicitly enabled with --enable-foo. This has also the advantage that it is more likely that the user will only enable what he currently needs, even if he has built some additional modules he may need later. Does anyone disagree? To recall: that would mean the LoadModule lines for the following modules are the only ones *not* commented out in the default config (including latest feedback): access_compat_module alias_module allowmethods_module auth_basic_module authn_core_module authn_file_module authz_core_module authz_groupfile_module authz_host_module authz_user_module autoindex_module cgid_module dir_module env_module filter_module include_module log_config_module mime_module negotiation_module reqtimeout_module setenvif_module status_module unixd_module userdir_module version_module plus the default MPM. What about: autoindex_module cgid_module filter_module include_module negotiation_module userdir_module Shouldn't we comment them out as well? Concerning the AAA modules. Since there is by default no user/group config, shouldn't we also comment out: auth_basic_module authn_file_module authz_groupfile_module authz_user_module Finally I'm not sure about allowmethods_module. It is very useful, but not used in the default config. Rainer
Re: Fwd: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
On 11/9/2011 3:53 PM, Stefan Fritsch wrote: Hi, On Wed, 9 Nov 2011, William A. Rowe Jr. wrote: This one in from the users@ list. It sounds vaguely familiar to the issue previously mentioned about win32 defaults and some strange dependency failure between proxy_balancer and slotmem providers. Only, this is on the bleeding edge beta posted today, and hits Unix (particularly with our new cleaned-up default for #LoadModule). I talked with Rainer about this and we came to the conclusion, that we simply should keep non-default modules commented out, even if they have been explicitly enabled with --enable-foo. This has also the advantage that it is more likely that the user will only enable what he currently needs, even if he has built some additional modules he may need later. So, absolutely no mechanism to populate the default config with the info, status modules, etc? I don't have an opinion yet. Of course I agree with simplified .conf snippets, smaller default server footprint, KISS directive complexity etc. Does anyone disagree? Provide a flag to ignore the new logic completely (enabling all built modules for testers, devs etc). It's a dogfood issue, I expect that mod_proxy_balancer / slotmem won't be the only non-functioning junk that accumulates in httpd once most devs never load 80% of the modules. In fact, --enable-maintainer-mode should force-toggle this option.
Re: Fwd: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm
On 09.11.2011 14:48, William A. Rowe Jr. wrote: On 11/9/2011 3:53 PM, Stefan Fritsch wrote: Hi, On Wed, 9 Nov 2011, William A. Rowe Jr. wrote: This one in from the users@ list. It sounds vaguely familiar to the issue previously mentioned about win32 defaults and some strange dependency failure between proxy_balancer and slotmem providers. Only, this is on the bleeding edge beta posted today, and hits Unix (particularly with our new cleaned-up default for #LoadModule). I talked with Rainer about this and we came to the conclusion, that we simply should keep non-default modules commented out, even if they have been explicitly enabled with --enable-foo. This has also the advantage that it is more likely that the user will only enable what he currently needs, even if he has built some additional modules he may need later. So, absolutely no mechanism to populate the default config with the info, status modules, etc? I don't have an opinion yet. If you build them, the LoadModule line is there, but might be commented out. Currently the suggestion is to always let mod_status active /if build) but comment out mod_info. Of course I agree with simplified .conf snippets, smaller default server footprint, KISS directive complexity etc. Does anyone disagree? Provide a flag to ignore the new logic completely (enabling all built modules for testers, devs etc). It's a dogfood issue, I expect that mod_proxy_balancer / slotmem won't be the only non-functioning junk that accumulates in httpd once most devs never load 80% of the modules. In fact, --enable-maintainer-mode should force-toggle this option. It is there: --enable-load-all-modules will add all LoadModule lines for the modules build without commenting any of them out. Regards, Rainer