You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe Jr." <wr...@rowe-clan.net> on 2011/11/09 18:01:17 UTC

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 <Je...@t-online.de>
To: users@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 <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
  "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org



Re: Fwd: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm

Posted by Rainer Jung <ra...@kippdata.de>.
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

Re: Fwd: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
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: modules loaded by default

Posted by Stefan Fritsch <sf...@sfritsch.de>.
On Wed, 9 Nov 2011, Rainer Jung wrote:
> 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

mod_filter is needed by AddOutputFilterByType, so I would prefer to 
include it in loaded by default set. I am undecided about 
mod_autoindex. Demoting the rest to 'most' is OK with me.

> 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

IMHO, it should be possible to do auth even with the minimal set of 
modules.

> Finally I'm not sure about allowmethods_module. It is very useful, but not 
> used in the default config.

OK with demoting to 'most'.

Re: Fwd: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm

Posted by Rainer Jung <ra...@kippdata.de>.
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: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm

Posted by Graham Leggett <mi...@sharp.fm>.
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

Posted by Jens Schleusener <Je...@t-online.de>.
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: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
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

Posted by Rainer Jung <ra...@kippdata.de>.
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

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
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

Posted by Jim Jagielski <ji...@jaguNET.com>.
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: Fwd: [users@httpd] 2.3.15-beta: module proxy_balancer requires the not automatically loaded module slotmem_shm

Posted by Stefan Fritsch <sf...@sfritsch.de>.
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