swoole / swoole-src

🚀 Coroutine-based concurrency library for PHP
https://www.swoole.com
Apache License 2.0
18.64k stars 3.17k forks source link

Coroutine deadlock occurs after killing the process #5663

Closed wheakerd closed 1 month ago

wheakerd commented 3 months ago

Image

Image

wheakerd commented 3 months ago

see https://github.com/hyperf/hyperf/issues/7256

NathanFreeman commented 3 months ago

I can't reproduce this issue. Please share your database.php file or check if the database username and password are correct.

NathanFreeman commented 3 months ago

Please show your php extension list.

wheakerd commented 3 months ago

I can't share my database. All I can say is that the database is accessible.

About PHP extension:

[PHP Modules]
bcmath
Core
ctype
curl
date
dom
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
igbinary
intl
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
random
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
ssh2
standard
swoole
sysvsem
tokenizer
xml
xmlreader
xmlwriter
zip
zlib

[Zend Modules]
wheakerd commented 3 months ago

@NathanFreeman I think hyperf has many problems, which may not be swoole's problem.

NathanFreeman commented 3 months ago

Could you please show me your server.php?

wheakerd commented 3 months ago

Could you please show me your server.php? sure. Image

NathanFreeman commented 3 months ago

It looks like PHP has thrown an exception. Is there a complete log output?

wheakerd commented 3 months ago

It looks like PHP has thrown an exception. Is there a complete log output?

The idea you put forward is possible, which may be related to the number of connections to the database, but now I can't connect to the database of the intranet. It doesn't have a vpn channel, so I can't locate it now. Thank you for your idea. I will debug it in the next two days. Please don't close the issue. Thank you.

matyhtf commented 1 month ago

This occurs because the framework fails to fully clean up coroutines that are currently running when it exits, such as certain monitors or connection pool managers. If you confirm that the leaking coroutines are not performing uninterruptible transactions, you can disregard this warning.