>Number:         5273
>Category:       os-linux
>Synopsis:       initgroups() returns an error to error_log
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Mon Nov  8 16:10:09 PST 1999
>Last-Modified:
>Originator:     [EMAIL PROTECTED]
>Organization:
apache
>Release:        1.3.6, 1.3.9
>Environment:
Linux, Slackware 4.0, Slackware 7.0, kernel 2.3.26, kernel 2.2.13, egcs-1.1.2. 
glibc-2.1.2, libc-5.4.46.
>Description:
I've compiled both apache 1.3.6, and Apache 1.3.9, on my machine, to use 
PHP-4.0B2 with it. Compiles clean, installs clean. When I run 'apachectl 
start', I get the following:

[Sun Nov 7  21:17:55 1999] [notice] Apache/1.3.9 (PHP4.0B2) configured -- 
resuming normal operations
[Sun Nov 7  21:17:55 1999] [alert] (22)Invalid argument: initgroups: unable to 
set groups for User nobody and Group 449967254
[Sun Nov 7  21:17:55 1999] [alert] (22)Invalid argument: initgroups: unable to 
set groups for User nobody and Group 449967254
[Sun Nov 7  21:17:55 1999] [alert] (22)Invalid argument: initgroups: unable to 
set groups for User nobody and Group 449967254
[Sun Nov 7  21:17:55 1999] [alert] (22)Invalid argument: initgroups: unable to 
set groups for User nobody and Group 449967254
[Sun Nov 7  21:17:55 1999] [alert] (22)Invalid argument: initgroups: unable to 
set groups for User nobody and Group 449967254
[Sun Nov 7  21:17:55 1999] [alert] Child 11987 returned a Fatal error...
Apache is exiting!
>How-To-Repeat:
recompile apache, witht he same setup, as above. glibc-2.1.2 as the main 
library, and recompile apache, using libc-5.4.46. Same error occurs, on both. 
egcs-1.1.2 or probably even gcc-2.7.2.3. Either, should give the same error.
>Fix:
initgroups() in http_main.c, line 3018, there is:
if (initgroups(name, ap_group_id) == -1) {
            ap_log_error(APLOG_MARK, APLOG_ALERT, server_conf,
                        "initgroups: unable to set groups for User %s "
                        "and Group %u", name, (unsigned)ap_group_id);
            clean_child_exit(APEXIT_CHILDFATAL);
        }

initgroups(3) states:
The initgroups() function  initializes  the  group  access
       list  by  reading  the group database /etc/group and using
       all groups of which user  is  a  member.   The  additional
       group group is also added to the list.

The  initgroups()  function returns 0 on success, or -1 if
       an error occurs.

  on most linux boxes, 'nobody' has UID 65534. nogroup, has GID -2. httpd.conf 
asks to not use any group above 65536. las tI checked, -2 < 65536. So, why 
should initgroups return -1 in this instance? If true, no linux box, running 
glibc-2.1.2 will be able to compile and run apache 1.3.6 - 1.3.9. I would 
suggest checking initgroups() to see what may be happening, for this error to 
occur.
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, you need]
[to include <[EMAIL PROTECTED]> in the Cc line and make sure the]
[subject line starts with the report component and number, with ]
[or without any 'Re:' prefixes (such as "general/1098:" or      ]
["Re: general/1098:").  If the subject doesn't match this       ]
[pattern, your message will be misfiled and ignored.  The       ]
["apbugs" address is not added to the Cc line of messages from  ]
[the database automatically because of the potential for mail   ]
[loops.  If you do not include this Cc, your reply may be ig-   ]
[nored unless you are responding to an explicit request from a  ]
[developer.  Reply only with text; DO NOT SEND ATTACHMENTS!     ]



Reply via email to