Skip to content

EventBase::loop(): Failed to invoke event callback, breaking the loop. #111

@xuanyanwow

Description

@xuanyanwow

businessWorker运行一段时间之后产生以下报错信息,使用K8S部署,启动3个pod,只有1个pod出现这问题,不会同时出现;

------------------------------------------- WORKERMAN --------------------------------------------
Workerman version:4.1.11          PHP version:8.1.16           Event-Loop:\Workerman\Events\Event
-------------------------------------------- WORKERS ---------------------------------------------
proto   user            worker            listen          processes    status           
tcp     root            BusinessWorker    none            12            [OK]            
--------------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
GatewayConnection Error : 2 ,client closed
Exception: connection close tcp://10.2.164.000:2301 in /home/htdocs/im/vendor/workerman/gateway-worker/src/Lib/Gateway.php:1182
Stack trace:
#0 /home/htdocs/im/vendor/workerman/gateway-worker/src/Lib/Gateway.php(1111): GatewayWorker\Lib\Gateway::sendAndRecv()
#1 /home/htdocs/im/vendor/workerman/gateway-worker/src/BusinessWorker.php(362): GatewayWorker\Lib\Gateway::getSession()
#2 /home/htdocs/im/vendor/workerman/workerman/Connection/TcpConnection.php(646): GatewayWorker\BusinessWorker->onGatewayMessage()
#3 [internal function]: Workerman\Connection\TcpConnection->baseRead()
#4 /home/htdocs/im/vendor/workerman/workerman/Events/Event.php(193): EventBase->loop()
#5 /home/htdocs/im/vendor/workerman/workerman/Worker.php(1629): Workerman\Events\Event->loop()
#6 /home/htdocs/im/vendor/workerman/workerman/Worker.php(1423): Workerman\Worker::forkOneWorkerForLinux()
#7 /home/htdocs/im/vendor/workerman/workerman/Worker.php(1397): Workerman\Worker::forkWorkersForLinux()
#8 /home/htdocs/im/vendor/workerman/workerman/Worker.php(560): Workerman\Worker::forkWorkers()
#9 /home/htdocs/im/src/Command/ServerCommand.php(129): Workerman\Worker::runAll()
#10 [internal function]: App\Command\ServerCommand->__invoke()
#11 /home/htdocs/im/vendor/minicli/minicli/src/App.php(239): call_user_func()
#12 /home/htdocs/im/vendor/minicli/minicli/src/App.php(218): Minicli\App->runSingle()
#13 /home/htdocs/im/app(27): Minicli\App->runCommand()
#14 {main}
PHP Warning:  EventBase::loop(): Failed to invoke event callback, breaking the loop. in /home/htdocs/im/vendor/workerman/workerman/Events/Event.php on line 193
worker[BusinessWorker:14] exit with status 64000
GatewayConnection Error : 2 ,client closed
GatewayConnection Error : 2 ,client closed
GatewayConnection Error : 2 ,client closed
PHP Warning:  stream_socket_client(): Unable to connect to tcp://10.2.164.000:2303 (Connection timed out) in /home/htdocs/im/vendor/workerman/gateway-worker/src/Lib/Gateway.php on line 1409
PHP Warning:  EventBase::loop(): Failed to invoke event callback, breaking the loop. in /home/htdocs/im/vendor/workerman/workerman/Events/Event.php on line 193
Exception: can not connect to tcp://10.2.164.000:2303 Connection timed out in /home/htdocs/im/vendor/workerman/gateway-worker/src/Lib/Gateway.php:1411
Stack trace:
#0 /home/htdocs/im/vendor/workerman/gateway-worker/src/Lib/Gateway.php(1165): GatewayWorker\Lib\Gateway::getGatewayConnection()
#1 /home/htdocs/im/vendor/workerman/gateway-worker/src/Lib/Gateway.php(1111): GatewayWorker\Lib\Gateway::sendAndRecv()
#2 /home/htdocs/im/vendor/workerman/gateway-worker/src/BusinessWorker.php(362): GatewayWorker\Lib\Gateway::getSession()
#3 /home/htdocs/im/vendor/workerman/workerman/Connection/TcpConnection.php(646): GatewayWorker\BusinessWorker->onGatewayMessage()
#4 [internal function]: Workerman\Connection\TcpConnection->baseRead()
#5 /home/htdocs/im/vendor/workerman/workerman/Events/Event.php(193): EventBase->loop()
#6 /home/htdocs/im/vendor/workerman/workerman/Worker.php(1629): Workerman\Events\Event->loop()
#7 /home/htdocs/im/vendor/workerman/workerman/Worker.php(1423): Workerman\Worker::forkOneWorkerForLinux()
#8 /home/htdocs/im/vendor/workerman/workerman/Worker.php(1397): Workerman\Worker::forkWorkersForLinux()
#9 /home/htdocs/im/vendor/workerman/workerman/Worker.php(560): Workerman\Worker::forkWorkers()
#10 /home/htdocs/im/src/Command/ServerCommand.php(129): Workerman\Worker::runAll()
#11 [internal function]: App\Command\ServerCommand->__invoke()
#12 /home/htdocs/im/vendor/minicli/minicli/src/App.php(239): call_user_func()
#13 /home/htdocs/im/vendor/minicli/minicli/src/App.php(218): Minicli\App->runSingle()
#14 /home/htdocs/im/app(27): Minicli\App->runCommand()
#15 {main}
worker[BusinessWorker:19] exit with status 64000

查询status 有一个进程是N/A busy状态

Workerman[/home/htdocs/im/src/Command/ServerCommand.php] status 
----------------------------------------------GLOBAL STATUS----------------------------------------------------
Workerman version:4.1.11          PHP version:8.1.16
start time:2023-09-13 11:09:39   run 0 days 9 hours   
load average: 15.7, 17.4, 17.13  event-loop:\Workerman\Events\Event
1 workers       12 processes
worker_name    exit_status      exit_count
BusinessWorker 64000            3
----------------------------------------------PROCESS STATUS---------------------------------------------------
pid     memory  listening    worker_name    connections send_fail timers  total_request qps    status
9       2.84M   none         BusinessWorker 13          0         56      1031441       0      [idle]
10      N/A     none         BusinessWorker N/A         N/A       N/A     N/A           N/A    [busy] 
11      2.81M   none         BusinessWorker 13          0         41      1017494       0      [idle]
12      2.81M   none         BusinessWorker 13          0         45      1008825       0      [idle]
13      2.82M   none         BusinessWorker 13          0         49      1006094       0      [idle]
16      2.84M   none         BusinessWorker 13          0         50      997295        0      [idle]
17      2.84M   none         BusinessWorker 13          0         54      1013818       0      [idle]
18      2.84M   none         BusinessWorker 13          0         58      986283        0      [idle]
21      2.86M   none         BusinessWorker 13          0         57      1016074       0      [idle]
2444    2.8M    none         BusinessWorker 13          0         50      1010678       0      [idle]
2989    2.75M   none         BusinessWorker 13          0         41      1003286       0      [idle]
6740    2.79M   none         BusinessWorker 13          0         56      36494         0      [idle]
----------------------------------------------PROCESS STATUS---------------------------------------------------
Summary 22M     -            -              143         0         557     10127782      0      [Summary] 

请问作者大佬,此问题应该如何排查定位问题

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions