<div dir="ltr"><div id="gmail-messagebody"><div class="gmail-message-part" id="gmail-message-part1"><div class="gmail-pre"><span style="white-space:nowrap">Hello.</span><br>
<br>
<span style="white-space:nowrap">Since when did the problem come out with httpd restart.</span><br>
<br>
<span style="white-space:nowrap">I tried to find a problem.</span><br>
<br>
<span style="white-space:nowrap">I am using 5208R.</span><br>
<br>
<span style="white-space:nowrap">The log when the problem occurs is below.</span><br>
<br>
<span style="white-space:nowrap"># less /var/log/message</span><br>
Jul  3 14:46:01 server1 cced(smd)[11843]: client 6:[49:22172]: CREATE 
 "Vsite" "createdUser" "=" "admin" "webAliases" "=" 
"&<a href="http://server2.net">server2.net</a>&" "site_preview" "=" "0" "mailAliases" "=" "" 
"userPrefixField" "=" "" "domain" "=" "<a href="http://server2.net">server2.net</a>" "ipaddr" "=" 
"123.123.123.123" "maxusers" "=" "25" "prefix" "=" "" "emailDisabled" 
"=" "0" "volume" "=" "/home" "dns_auto" "=" "1" "fqdn" "=" "<a rel="noreferrer" target="_blank" href="http://www.server2.net">www.server2.net</a>" "mailCatchAll" "=" "" "webAliasRedirects" "=" "1" "userPrefixEnabled" "=" "0" "hostname" "=" "www"<br>
Jul  3 14:46:01 server1 cced(smd)[11843]: handler handlers/base/mailman/<a href="http://handle_vsite.pl">handle_vsite.pl</a> defered<br>
Jul  3 14:46:02 server1 cced(smd)[11843]: client 
6:handlers/base/vsite/<a href="http://vsite_create.pl">vsite_create.pl</a>: SET  224 name = site12 basedir = 
"/home/.sites/132/site12"<br>
Jul  3 14:46:03 server1 sauce_serviced: : sauce_serviced[11934] ready to accept requests<br>
Jul  3 14:46:03 server1 pperld /usr/sausalito/handlers/base/vsite/<a href="http://php_vsite_handler.pl">php_vsite_handler.pl</a>: : Event registered: httpd restart<br>
<span style="white-space:nowrap">Jul  3 14:46:03 server1 sauce_serviced: : restart overrides</span><br>
<span style="white-space:nowrap">Jul  3 14:46:03 server1 sauce_serviced: : got event restart</span><br>
Jul  3 14:46:03 server1 cced(smd)[11843]: client 6:handlers/base/vsite/<a href="http://vsite_create.pl">vsite_create.pl</a>: SET succeeded<br>
Jul  3 14:46:03 server1 sauce_serviced: : spawned child 11935 for httpd restart<br>
<span style="white-space:nowrap">Jul  3 14:46:03 server1 sauce_serviced: : sub run: Setting up alarm(5).</span><br>
Jul  3 14:46:03 server1 sauce_serviced: : Performing event: httpd restart<br>
<span style="white-space:nowrap">Jul  3 14:46:03 server1 sauce_serviced: : Special case (httpd): restart</span><br>
Jul  3 14:46:03 server1 sauce_serviced: : _check_apache_state: Early return #1<br>
Jul  3 14:46:03 server1 sauce_serviced: : _kill_and_restart_apache: Apache state: 0<br>
Jul  3 14:46:03 server1 sauce_serviced: : _kill_and_restart_apache runs: /usr/bin/pkill -HUP -x -f /usr/sbin/httpd<br>
Jul  3 14:46:03 server1 cced(smd)[11843]: client 6:handlers/base/vsite/<a href="http://vsite_create.pl">vsite_create.pl</a>: CREATE  ProtectedEmailAlias fqdn = "<a rel="noreferrer" target="_blank" href="http://www.server2.net">www.server2.net</a>" site = site12 build_maps = 0 action = apache alias = apache<br>
Jul  3 14:46:03 server1 sauce_serviced: : _check_apache_state: Early return #1<br>
Jul  3 14:46:03 server1 sauce_serviced: : xchecker reported: 0 - Apache restart failed.<br>
Jul  3 14:46:03 server1 sauce_serviced: : _check_apache_state: Early return #1<br>
Jul  3 14:46:03 server1 sauce_serviced: : _check_apache_state: Early return #1<br>
Jul  3 14:46:03 server1 sauce_serviced: : _kill_and_restart_apache: Apache state: 0<br>
Jul  3 14:46:03 server1 sauce_serviced: : _kill_and_restart_apache runs: /usr/bin/pkill -HUP -x -f /usr/sbin/httpd<br>
Jul  3 14:46:03 server1 sauce_serviced: : _check_apache_state: Early return #1<br>
<span style="white-space:nowrap">Jul  3 14:46:03 server1 sauce_serviced: : 2:checker reports: httpd 0#012</span><br>
Jul  3 14:46:04 server1 cced(smd)[12029]: client [0:16048] has admin rights<br>
Jul  3 14:46:04 server1 sauce_serviced: : _check_apache_state: Early return #1<br>
<span style="white-space:nowrap">...snip...</span><br>
Jul  3 14:50:09 server1 sauce_serviced: : _check_apache_state: Early return #1<br>
Jul  3 14:50:09 server1 sauce_serviced: : _check_apache_state: Early return #1<br>
Jul  3 14:50:09 server1 sauce_serviced: : _kill_and_restart_apache: Apache state: 0<br>
Jul  3 14:50:09 server1 sauce_serviced: : _kill_and_restart_apache runs: /usr/bin/pkill -HUP -x -f /usr/sbin/httpd<br>
Jul  3 14:50:09 server1 sauce_serviced: : _check_apache_state: Early return #1<br>
<span style="white-space:nowrap">Jul  3 14:50:09 server1 sauce_serviced: : 2:checker reports: httpd 0#012</span><br>
Jul  3 14:50:10 server1 sauce_serviced: : child 18415 unable to complete event httpd restart. Running am_apache.sh and exiting<br>
<br>
<span style="white-space:nowrap">After this, httpd may be running or not running.</span><br>
<br>
<span style="white-space:nowrap">From a conclusion, it was resolved with the patch below.</span><br>
<br>
--- /usr/sausalito/perl/Sauce/Service/Daemon.pm.orig    2018-03-06 06:31:14.000000000 +0900<br>
+++ /usr/sausalito/perl/Sauce/Service/Daemon.pm 2018-07-03 17:09:33.000000000 +0900<br>
<span style="white-space:nowrap">@@ -170,8 +170,12 @@</span><br>
<span style="white-space:nowrap">     }</span><br>
<span style="white-space:nowrap">     else {</span><br>
<span style="white-space:nowrap">         # Thank God, no Systemd:</span><br>
-        $service_status = `/sbin/service $service status|$grep running|$wc -l`;<br>
<span style="white-space:nowrap">-        chomp($service_status);</span><br>
+        $service_status = system("/sbin/service $service status") == 0 ? 1 : 0;<br>
<br>
<span style="white-space:nowrap"># yum whatprovides /usr/sausalito/perl/Sauce/Service/Daemon.pm</span><br>
<span style="white-space:nowrap">...snip...</span><br>
<span style="white-space:nowrap">perl-handler-utils-1.4.0-0BX15.el6.x86_64</span><br>
<br>
<br>
<span style="white-space:nowrap">The problem was that the code above was locale dependent.</span><br>
<br>
<span style="white-space:nowrap"># cat /etc/sysconfig/i18n</span><br>
<span style="white-space:nowrap">LANG=ja_JP.utf8</span><br>
<span style="white-space:nowrap">LC_ALL=ja_JP</span><br>
<span style="white-space:nowrap">LINGUAS="en_US da_DK de_DE es_ES fr_FR it_IT ja_JP nl_NL pt_PT"</span><br>
<br>
<br>
<span style="white-space:nowrap"><a rel="noreferrer" target="_blank" href="https://unix.stackexchange.com/questions/226484/does-an-init-script-always-return-a-proper-exit-code-when-running-status">https://unix.stackexchange.com/questions/226484/does-an-init-script-always-return-a-proper-exit-code-when-running-status</a></span><br>
It is possible to use the command below, not the above code to examine the return code.<br>
<span style="white-space:nowrap">env -i NOLOCALE=1 /etc/rc.d/init.d/httpd status</span><br>
<span style="white-space:nowrap">env -i LANG=en_US /etc/rc.d/init.d/httpd status</span><br>
<br>
/etc/sysconfig/i18n seems to be set when changing the language of admin from BlueOnyx's web console.<br>
<br>
<span style="white-space:nowrap">I am pleased that a solution to this problem will be merged in 5208R.</span><br>
<br>
<span style="white-space:nowrap">Thank you.</span><br>
<br>
<span style="white-space:nowrap">--</span><br>
<span style="white-space:nowrap">Tomohiro Hosaka</span></div></div>
</div><br></div>