Hello,
I recently installed httpd-2.2.9 (with LDAP and SSL) on my Mac OS X 10.5.4
box. Everything went very smoothly except for one thing; Apache keeps
shutting down due to the following initgroups failures:

[Wed Sep 24 19:02:11 2008] [alert] (2)No such file or directory: initgroups:
unable to set groups for User <user> and Group <gid>

and

[Wed Oct 08 15:00:48 2008] [alert] (22)Invalid argument: initgroups: unable
to set groups for User <user> and Group <gid>

After doing quite a bit of research, I found a few others who had also run
into this problem (some of them dating back to 1995). However, I was unable
to find a solution. The main difference I am noticing with the problem I'm
having as compared to other users is that initgroups() seems to fail at what
seems like random intervals for me. I read up a bit on how this error was
getting thrown for some while trying to start httpd due to the user being a
member of too many groups. However, I don't think that is the problem here
and this error certainly has not been occurring when starting up httpd.

I tried to trace the code that was causing the issue and I found the
following (httpd-2.2.9/os/unix/unixd.c):

if (initgroups(name, unixd_config.group_id) == -1) {

  ap_log_error(APLOG_MARK, APLOG_ALERT, errno, NULL,

                        "initgroups: unable to set groups for User %s "

                        "and Group %u", name, (unsigned
)unixd_config.group_id);

  return -1;

}

One of the posts I read involved trying to resolve the issue by comparing
the initgroups() return value to 1. However, initgroups() returns a -1 for
errors (or when not called by a super-user) so comparing it to 1 would not
really be solving the problem. Lastly, I tried to set permissions for the
httpd script which is owned by root (/bin/httpd) to 4755 to try to prevent
initgroups from failing due to non-sudo calls. That seemed to fix it, but
after 1 week, it has crashed again. The main problem is that it seems to
crash very randomly.

The following is the ./configure command I used (if it helps):
./configure --prefix=/usr/local/httpd-2.2.9 --enable-mods-shared=most
--enable-ssl --enable-ldap --with-ldap --with-included-apr
--enable-auth-ldap --enable-authnz-ldap --enable-proxy

So after all this, I have a couple of questions. Can someone please point me
in the right direction for reproducing this problem? It *seems* to be pretty
random for me in terms of when it fails. Has anyone else run into this
problem? Does this problem have anything to do with the modules that I am
using or is it just something wrong with my Apache installation? And
finally, since initgroups() needs to be called by a super-user, how does it
ever return successfully at all?

I realize from all of the Googling I've done that this problem has been
occurring for httpd customers since 1995, however, I have had no luck in
finding a proper solution so any help would be greatly appreciated.

Thanks a bunch!
-AS

Reply via email to