Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Swoole容器下启动框架时出现ErrorException: Swoole\Coroutine\System::waitSignal(): Unable to wait signal, async signal listener has been registered #704

Open
Eno-CN opened this issue Jun 14, 2024 · 4 comments

Comments

@Eno-CN
Copy link
Member

Eno-CN commented Jun 14, 2024

  • 我的问题
    配置队列消费进程后,Swoole容器下启动框架时多次出现
    ErrorException: Swoole\Coroutine\System::waitSignal(): Unable to wait signal, async signal listener has been registered
    Error: unable to create Imi\Swoole\Process\Process with async-io threads

  • 错误日志(已脱敏)

[2024-06-14 12:51:56.477945] system INFO service-payment Server start  
[2024-06-14 12:51:56.517170] system INFO service-payment Manager start. pid: 25846  
[2024-06-14 12:51:57.755538] system INFO service-payment Process start [QueueConsumer]. pid: 25890, UnixSocket: /tmp/imi.process.d45677c85671b8912035abd52ee2653d.1201.sock  
[2024-06-14 12:51:57.804900] system INFO service-payment Process start [hotUpdate]. pid: 25891, UnixSocket: /tmp/imi.process.d45677c85671b8912035abd52ee2653d.844.sock  
[2024-06-14 12:51:57.827960] system INFO service-payment Process start [CronProcess]. pid: 25889, UnixSocket: /tmp/imi.process.d45677c85671b8912035abd52ee2653d.1198.sock  
[2024-06-14 12:51:58.335479] system INFO service-payment Process [hotUpdate] start  
[2024-06-14 12:51:58.339777] system ERROR service-payment ErrorException: Swoole\Coroutine\System::waitSignal(): Unable to wait signal, async signal listener has been registered in /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/Signal.php:38
Stack trace:
#0 [internal function]: Imi\Log\ErrorLog->onError(2, 'Swoole\\Coroutin...', '/mnt/hgfs/Works...', 38)
#1 /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/Signal.php(38): Swoole\Coroutine\System::waitSignal(15)
#2 /*****/payment-service/vendor/imiphp/imi/src/functions.php(57): Imi\Swoole\Process\Signal::Imi\Swoole\Process\{closure}()
#3 /*****/payment-service/vendor/imiphp/imi-swoole/src/functions.php(22): {closure}()
#4 [internal function]: {closure}()
#5 {main}  
[2024-06-14 12:51:58.494432] system ERROR service-payment Error: unable to create Imi\Swoole\Process\Process with async-io threads in /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/Pool.php:286
Stack trace:
#0 /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/Pool.php(286): Swoole\Process->__construct(Object(Closure))
#1 /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/Pool.php(160): Imi\Swoole\Process\Pool->startWorker(0)
#2 /*****/payment-service/vendor/imiphp/imi-queue/src/Process/SwooleQueueConsumerProcess.php(101): Imi\Swoole\Process\Pool->start()
#3 /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/ProcessManager.php(199): Imi\Queue\Process\SwooleQueueConsumerProcess->run(5)
#4 /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/ProcessManager.php(238): Imi\Swoole\Process\ProcessManager::Imi\Swoole\Process\{closure}()
#5 [internal function]: Imi\Swoole\Process\ProcessManager::Imi\Swoole\Process\{closure}(Object(Imi\Swoole\Process\Process))
#6 /*****/payment-service/vendor/imiphp/imi-swoole/src/Server/Base.php(142): Swoole\Server->start()
#7 /*****/payment-service/vendor/imiphp/imi-swoole/src/Server/Cli/Server.php(111): Imi\Swoole\Server\Base->start()
#8 /*****/payment-service/vendor/imiphp/imi/src/Event/TEvent.php(202): Imi\Swoole\Server\Cli\Server->Imi\Swoole\Server\Cli\{closure}(Object(Imi\Event\EventParam))
#9 /*****/payment-service/vendor/imiphp/imi/src/Event/Event.php(66): Imi\Event\Event->__trigger('IMI.SWOOLE.MAIN...', Array, NULL, 'Imi\\Event\\Event...')
#10 /*****/payment-service/vendor/imiphp/imi-swoole/bootstrap.php(78): Imi\Event\Event::trigger('IMI.SWOOLE.MAIN...')
#11 /*****/payment-service/vendor/imiphp/imi-swoole/bin/imi-swoole(3): Imi\Swoole\{closure}()
#12 /*****/payment-service/vendor/bin/imi-swoole(119): include('/mnt/hgfs/Works...')
#13 {main}  
[2024-06-14 12:51:58.554380] system INFO service-payment Process stop [QueueConsumer]. pid: 25890  
PHP Fatal error:  Uncaught Swoole\ExitException: swoole exit in /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/ProcessManager.php:242
Stack trace:
#0 [internal function]: Imi\Swoole\Process\ProcessManager::Imi\Swoole\Process\{closure}(Object(Imi\Swoole\Process\Process))
#1 /*****/payment-service/vendor/imiphp/imi-swoole/src/Server/Base.php(142): Swoole\Server->start()
#2 /*****/payment-service/vendor/imiphp/imi-swoole/src/Server/Cli/Server.php(111): Imi\Swoole\Server\Base->start()
#3 /*****/payment-service/vendor/imiphp/imi/src/Event/TEvent.php(202): Imi\Swoole\Server\Cli\Server->Imi\Swoole\Server\Cli\{closure}(Object(Imi\Event\EventParam))
#4 /*****/payment-service/vendor/imiphp/imi/src/Event/Event.php(66): Imi\Event\Event->__trigger('IMI.SWOOLE.MAIN...', Array, NULL, 'Imi\\Event\\Event...')
#5 /*****/payment-service/vendor/imiphp/imi-swoole/bootstrap.php(78): Imi\Event\Event::trigger('IMI.SWOOLE.MAIN...')
#6 /*****/payment-service/vendor/imiphp/imi-swoole/bin/imi-swoole(3): Imi\Swoole\{closure}()
#7 /*****/payment-service/vendor/bin/imi-swoole(119): include('/mnt/hgfs/Works...')
#8 {main}
  thrown in /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/ProcessManager.php on line 242

Fatal error: Uncaught Swoole\ExitException: swoole exit in /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/ProcessManager.php:242
Stack trace:
#0 [internal function]: Imi\Swoole\Process\ProcessManager::Imi\Swoole\Process\{closure}(Object(Imi\Swoole\Process\Process))
#1 /*****/payment-service/vendor/imiphp/imi-swoole/src/Server/Base.php(142): Swoole\Server->start()
#2 /*****/payment-service/vendor/imiphp/imi-swoole/src/Server/Cli/Server.php(111): Imi\Swoole\Server\Base->start()
#3 /*****/payment-service/vendor/imiphp/imi/src/Event/TEvent.php(202): Imi\Swoole\Server\Cli\Server->Imi\Swoole\Server\Cli\{closure}(Object(Imi\Event\EventParam))
#4 /*****/payment-service/vendor/imiphp/imi/src/Event/Event.php(66): Imi\Event\Event->__trigger('IMI.SWOOLE.MAIN...', Array, NULL, 'Imi\\Event\\Event...')
#5 /*****/payment-service/vendor/imiphp/imi-swoole/bootstrap.php(78): Imi\Event\Event::trigger('IMI.SWOOLE.MAIN...')
#6 /*****/payment-service/vendor/imiphp/imi-swoole/bin/imi-swoole(3): Imi\Swoole\{closure}()
#7 /*****/payment-service/vendor/bin/imi-swoole(119): include('/mnt/hgfs/Works...')
#8 {main}
  thrown in /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/ProcessManager.php on line 242
[2024-06-14 12:51:58.556464] system ERROR service-payment Uncaught Swoole\ExitException: swoole exit in /*****/payment-service/vendor/imiphp/imi-swoole/src/Process/ProcessManager.php:242
Stack trace:
#0 [internal function]: Imi\Swoole\Process\ProcessManager::Imi\Swoole\Process\{closure}(Object(Imi\Swoole\Process\Process))
#1 /*****/payment-service/vendor/imiphp/imi-swoole/src/Server/Base.php(142): Swoole\Server->start()
#2 /*****/payment-service/vendor/imiphp/imi-swoole/src/Server/Cli/Server.php(111): Imi\Swoole\Server\Base->start()
#3 /*****/payment-service/vendor/imiphp/imi/src/Event/TEvent.php(202): Imi\Swoole\Server\Cli\Server->Imi\Swoole\Server\Cli\{closure}(Object(Imi\Event\EventParam))
#4 /*****/payment-service/vendor/imiphp/imi/src/Event/Event.php(66): Imi\Event\Event->__trigger('IMI.SWOOLE.MAIN...', Array, NULL, 'Imi\\Event\\Event...')
#5 /*****/payment-service/vendor/imiphp/imi-swoole/bootstrap.php(78): Imi\Event\Event::trigger('IMI.SWOOLE.MAIN...')
#6 /*****/payment-service/vendor/imiphp/imi-swoole/bin/imi-swoole(3): Imi\Swoole\{closure}()
#7 /*****/payment-service/vendor/bin/imi-swoole(119): include('/mnt/hgfs/Works...')
#8 {main}
  thrown  
App Inited
[2024-06-14 12:51:59.839880] system INFO service-payment Process start [QueueConsumer]. pid: 25940, UnixSocket: /tmp/imi.process.d45677c85671b8912035abd52ee2653d.1201.sock  
[2024-06-14 12:52:00.534634] system INFO service-payment Worker start #0. pid: 25876  
[2024-06-14 12:52:00.524341] system INFO service-payment Worker start #1. pid: 25888  
[2024-06-14 12:52:00.539895] system INFO service-payment Worker start #2. pid: 25874  

  • 环境信息
PHP 8.3.7 (cli) (built: May 16 2024 16:27:58) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies

swoole

Swoole => enabled
Author => Swoole Team <[email protected]>
Version => 5.1.3
Built => Jun 14 2024 13:32:06
coroutine => enabled with boost asm context
epoll => enabled
eventfd => enabled
signalfd => enabled
cpu_affinity => enabled
spinlock => enabled
rwlock => enabled
sockets => enabled
openssl => OpenSSL 3.3.0 9 Apr 2024
dtls => enabled
http2 => enabled
json => enabled
curl-native => enabled
pcre => enabled
c-ares => 1.18.1
zlib => 1.2.11
brotli => E16777225/D16777225
mutex_timedlock => enabled
pthread_barrier => enabled
futex => enabled
mysqlnd => enabled
async_redis => enabled

Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_fiber_mock => Off => Off
swoole.enable_preemptive_scheduler => On => On
swoole.display_errors => On => On
swoole.use_shortname => On => On
swoole.unixsock_buffer_size => 8388608 => 8388608
imiphp/imi                         2.1.63  imi 是一款支持长连接微服务分布式的 PHP 开发框架,可在 PHP-FPM、Swoole、Workerman 和 RoadRunner 等多种容器环境下运行。它支持 HttpApi、WebSocket...
imiphp/imi-phar                    2.1.13  imi phar component
imiphp/imi-queue                   2.1.22  imi 框架的队列组件,使用 Redis 作为持久化
imiphp/imi-swoole                  2.1.50  imi swoole component
@Eno-CN
Copy link
Member Author

Eno-CN commented Jun 14, 2024

粗略测试了下 PHP8.2没问题

@Yurunsoft
Copy link
Member

同样的 Swoole 5.1.3,在 PHP 8.2 就没问题是吗

@Eno-CN
Copy link
Member Author

Eno-CN commented Jun 17, 2024

同样的 Swoole 5.1.3,在 PHP 8.2 就没问题是吗

是的

@Eno-CN
Copy link
Member Author

Eno-CN commented Jul 8, 2024

@Yurunsoft 今天 PHP8.2.20 + Swoole 5.1.3 也出现了上面的报错,我关闭服务、删除.runtime文件夹后重启服务就好了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants