Hi there,

I've been a long time httpd user and I have taken the habit of building
from source, for a variety of reasons we won't go into here. It has worked
for years, so that's good in my book.

However, the latest v2.4.25 release won't work on my setup and I am not
sure why, nor do I know how I should go about providing the best
information.
This is probably a bug in my setup, or it might be a bug somewhere else. I
did try dbg, but that requires observing the crash when unfortunately I
have no idea what triggers it (as evidenced by the log below, at a time
when I am confident there was no one using that webserver - this is a
backoffice server).

Here's what I usually do:

cd /usr/local/src ; rm -R httpd-2.4.23 ; tar -xjf httpd-2.4.23.tar.bz2
; cd /usr/local/src/httpd-2.4.23
./buildconf --with-apr=/usr/local/src/apr-1.5.2
--with-apr-util=/usr/local/src/apr-util-1.5.4
./configure --prefix=/usr/local/apache2 --with-program-name=apache2
--with-mpm=prefork --disable-cgi --disable-imap --with-ssl --with-pcre
--enable-mods-static="actions alias allowmethods auth-basic
auth-digest authn-core authn-file authz-core authz-host authz-user
autoindex cache deflate dir disk-cache dumpio env expires file-cache
filter headers http http2 include info logio log-config mem-cache mime
nghttp2-staticlib-deps negotiation proxy proxy-fcgi proxy-http rewrite
remoteip setenvif slotmem_shm so socache-shmcb ssl status substitute
unixd"
make && ./apache2 -V && ./apache2 -t -D DUMP_MODULES && ./apache2 -t
-D DUMP_VHOSTS
sudo service apache2 stop && sudo make install && sudo service apache2 start


NB: That's an old script. Since the latest CVE about http2, I add @icing's
patch before building from source. But that's beside the point.

However now with v2.4.25 and after adding php-5.6.29 like I usually do (yes
this is mod_php, another thing we won't go into here), I get segmentation
faults I didn't have until this version.

>From /var/log/apache2/error_log:
[Fri Dec 30 06:25:03.376942 2016] [mpm_prefork:notice] [pid 20751] AH00171:
Graceful restart requested, doing restart
[Fri Dec 30 06:25:03.447347 2016] [auth_digest:notice] [pid 20751] AH01757:
generating secret for digest authentication ...
[Fri Dec 30 06:25:03.448732 2016] [lbmethod_heartbeat:notice] [pid 20751]
AH02282: No slotmem from mod_heartmonitor
[Fri Dec 30 06:25:03.458291 2016] [core:emerg] [pid 20751] (17)File exists:
AH00023: Couldn't create the watchdog-callback mutex (file
/usr/local/apache2/logs/watchdog-callback-_proxy_hcheck_.20751)
[Fri Dec 30 06:25:03.458317 2016] [:emerg] [pid 20751] AH00020:
Configuration Failed, exiting

Then when I restart the service:
[Fri Dec 30 09:19:03.211641 2016] [auth_digest:notice] [pid 4467] AH01757:
generating secret for digest authentication ...
[Fri Dec 30 09:19:03.213931 2016] [lbmethod_heartbeat:notice] [pid 4467]
AH02282: No slotmem from mod_heartmonitor
[Fri Dec 30 09:19:03.229142 2016] [core:warn] [pid 4467] AH00098: pid file
/usr/local/apache2/logs/httpd.pid overwritten -- Unclean shutdown of
previous Apache run?
[Fri Dec 30 09:19:03.233277 2016] [mpm_prefork:notice] [pid 4467] AH00163:
Apache/2.4.23 (Unix) OpenSSL/1.0.2j configured -- resuming normal operations
[Fri Dec 30 09:19:03.233304 2016] [core:notice] [pid 4467] AH00094: Command
line: '/usr/local/apache2/bin/apache2'

Now, heartbeat, heartmonitor and watchdog are 3 modules I have never
included in my build before since I don't seem to need them, and they are
not referenced in any of my config files. Though from what I understand,
they seem to be required by v2.4.25? At least, httpd-2.4.25 wouldn't build
or start without them.

The log line "lbmethod_heartbeat:notice" at startup has likely been there
for a number of versions, I honestly haven't noticed and it hasn't been
cause for crashes until now.
What I know for sure is that the "apache2 -t -D DUMP_MODULES" command
didn't show any of those three modules before. What I did notice since
v2.4.25, are the core:emerg log lines which tend to cause httpd to stop
responding to requests. A simple "service apache2 restart" usually does the
trick for a while, then the error comes back and I need to do it again.

This error didn't show up until v2.4.25 in my setup because the three
modules were not required and hence not built.
When I rebuilt and reinstalled v2.4.23 with the same modules, the errors
persisted.
When I removed the three modules from my v2.4.23 build, the errors stopped
happening.

Any help would be appreciated (or pointers to the right channel if this is
not it).

Thanks,

Reply via email to