php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #77223 php-fpm.log:WARNING: failed to acquire scoreboard
Submitted: 2018-11-30 07:37 UTC Modified: 2018-11-30 07:44 UTC
From: 2192200 at qq dot com Assigned:
Status: Open Package: *Configuration Issues
PHP Version: 5.6Git-2018-11-30 (Git) OS: Ubuntu 6.3.0-12ubuntu2
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2018-11-30 07:37 UTC] 2192200 at qq dot com
Description:
------------
Open php-fpm.conf, slowlog = /data/weblog/php/$pool.log.slow, in the php-fpm.log will appear WARNING: failed to acquire scoreboard, close slowlog, it is normal.
The php process will die, reload can't be pulled, you must use restart.
Optimized by xhprof and kernel.shmmax and kernel.shmall kernel, not shared memory issues.
php-version:PHP 5.6.36 (cli) (built: Jun 21 2018 10:42:06)

Test script:
---------------
php-fpm.conf:
slowlog = /data/weblog/php/$pool.log.slow

php-fpm.log:
[23-Nov-2018 20:46:20] WARNING: failed to acquire scoreboard
[23-Nov-2018 23:51:43] WARNING: failed to acquire scoreboard
[24-Nov-2018 00:05:04] WARNING: failed to acquire scoreboard
[24-Nov-2018 01:40:56] WARNING: failed to acquire scoreboard
[24-Nov-2018 04:57:59] WARNING: failed to acquire scoreboard



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2018-11-30 07:44 UTC] 2192200 at qq dot com
void fpm_request_check_timed_out(struct fpm_child_s *child, struct timeval *now, int terminate_timeout, int slowlog_timeout) /* {{{ */
{
	struct fpm_scoreboard_proc_s proc, *proc_p;

	proc_p = fpm_scoreboard_proc_acquire(child->wp->scoreboard, child->scoreboard_i, 1);
	if (!proc_p) {
		zlog(ZLOG_WARNING, "failed to acquire scoreboard");
		return;
	}

	proc = *proc_p;
	fpm_scoreboard_proc_release(proc_p);

#if HAVE_FPM_TRACE
	if (child->slow_logged.tv_sec) {
		if (child->slow_logged.tv_sec != proc.accepted.tv_sec || child->slow_logged.tv_usec != proc.accepted.tv_usec) {
			child->slow_logged.tv_sec = 0;
			child->slow_logged.tv_usec = 0;
		}
	}
 
PHP Copyright © 2001-2018 The PHP Group
All rights reserved.
Last updated: Mon Dec 10 01:01:24 2018 UTC