swoole / swoole-src

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

Hyperf DB Model Query data error (occasionally),Server::check_worker_exit_status() #5057

Open magicento opened 1 year ago

magicento commented 1 year ago
  1. What did you do? If possible, provide a simple script for reproducing the error.

    基于hyperf的框架编写了一个数据库模型,联表查询一组数据;

OS: Darwin 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6 21:00:17 PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64 GCC_VERSION: Apple LLVM 14.0.0 (clang-1400.0.29.202) PHP_VERSION : 8.1.12

  1. What did you expect to see?

    [2023-05-20 07:20:36 $12089.0] WARNING Server::check_worker_exit_status(): worker(pid=12102, id=11) abnormal exit, status=0, signal=11 A bug occurred in Swoole-v5.0.1, please report it. The Swoole developers probably don't know about it, and unless you report it, chances are it won't be fixed. You can read How to report a bug doc before submitting any bug reports:

    https://github.com/swoole/swoole-src/blob/master/.github/ISSUE.md Please do not send bug reports in the mailing list or personal letters. The issue page is also suitable to submit feature requests.

OS: Darwin 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6 21:00:17 PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64 GCC_VERSION: Apple LLVM 14.0.0 (clang-1400.0.29.202) PHP_VERSION : 8.1.12

  1. What did you see instead?

    无结果,但是这个问题不是每次都会出现,比如相同的接口相同的参数在执行错误后,重新执行有50%的概率运行正常;

  2. What version of Swoole are you using (php --ri swoole)?

    php --ri swoole ─╯

swoole

Swoole => enabled Author => Swoole Team team@swoole.com Version => 5.0.1 Built => Jan 11 2023 17:47:37 coroutine => enabled with boost asm context kqueue => enabled rwlock => enabled http2 => enabled json => enabled pcre => enabled zlib => 1.2.11 brotli => E16777225/D16777225 async_redis => enabled

Directive => Local Value => Master Value swoole.enable_coroutine => On => On swoole.enable_library => On => On swoole.enable_preemptive_scheduler => Off => Off swoole.display_errors => On => On swoole.use_shortname => Off => Off swoole.unixsock_buffer_size => 262144 => 262144

  1. What is your machine environment used (including the version of kernel & php & gcc)? uname -a ─╯ Darwin KuangShen.local 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6 21:00:17 PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64

php -v ─╯ PHP 8.1.12 (cli) (built: Oct 30 2022 12:55:34) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.12, Copyright (c) Zend Technologies with Zend OPcache v8.1.12, Copyright (c), by Zend Technologies

gcc -v ─╯ Apple clang version 14.0.3 (clang-1403.0.22.14.1) Target: x86_64-apple-darwin22.4.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin

NathanFreeman commented 1 year ago

这边看看能不能提供一下执行信息 https://wiki.swoole.com/#/other/issue?id=关于段错误核心转储

wilbur-yu commented 1 year ago

这边看看能不能提供一下执行信息 https://wiki.swoole.com/#/other/issue?id=关于段错误核心转储

GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /usr/local/php/bin/php...done.
[New LWP 6822]
[New LWP 6842]
[New LWP 6843]
Missing separate debuginfo for /lib/libpng15.so.15
Try: yum --enablerepo='debug' install /usr/lib/debug/.build-id/9d/ce7a7cadc13c5d4a9bd1004943f0f391f01af7.debug
Missing separate debuginfo for /lib/libjpeg.so.62
Try: yum --enablerepo='debug' install /usr/lib/debug/.build-id/c8/003de0c1c7d588561b35d5456d5e592177af2e.debug
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
Core was generated by `api-server.Worker'.
Program terminated with signal 11, Segmentation fault.

0 std::function<void (swoole::PHPContext)>::operator()(swoole::PHPContext) const (this=0x1, __args#0=0x7f1448d0f030)

at /usr/include/c++/4.8.2/functional:2469                                                                                                              

2469 if (_M_empty())
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.6-13.el7.x86_64 c-ares-1.10.0-3.el7.x86_64 cyrus-sasl-lib-2.1.26-24.el7_9.x86_64 glibc-2 .17-324.el7_9.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-55.el7_9.x86_64 libcom_err-1.42.9-19.el7.x86_64 libcurl-7.84.0-3.0.cf.rhel7.x86_64 l ibgcc-4.8.5-44.el7.x86_64 libgcrypt-1.5.3-14.el7.x86_64 libgpg-error-1.12-3.el7.x86_64 libicu-50.2-4.el7_7.x86_64 libidn2-2.3.3-1.el7.x86_64 libnghttp2-1.3 3.0-1.1.el7.x86_64 libpsl-0.20.2-6.el7.x86_64 libselinux-2.5-15.el7.x86_64 libssh2-1.10.0-4.0.cf.rhel7.x86_64 libstdc++-4.8.5-44.el7.x86_64 libunistring-0. 9.3-9.el7.x86_64 libwebp-0.3.0-11.el7.x86_64 libxml2-2.9.1-6.el7_9.6.x86_64 libxslt-1.1.28-6.el7.x86_64 nspr-4.34.0-3.1.el7_9.x86_64 nss-3.79.0-4.el7_9.x86 _64 nss-softokn-freebl-3.79.0-4.el7_9.x86_64 nss-util-3.79.0-1.el7_9.x86_64 oniguruma-6.8.2-2.el7.x86_64 openldap-2.4.44-25.el7_9.x86_64 openssl-libs-1.0.2 k-26.el7_9.x86_64 pcre-8.32-17.el7.x86_64 sqlite-3.7.17-8.el7_7.1.x86_64 wlibsodium-1.0.17-1.el7.x86_64 xz-libs-5.2.2-2.el7_9.x86_64 zlib-1.2.7-21.el7_9.x8 6_64
(gdb) bt

0 std::function<void (swoole::PHPContext)>::operator()(swoole::PHPContext) const (this=0x1, __args#0=0x7f1448d0f030)

at /usr/include/c++/4.8.2/functional:2469                                                                                                              

1 0x00007f1449cb80e4 in swoole::PHPCoroutine::on_resume (arg=0x7f1448d0f030) at /root/mysoft/swoole-v5.0.3/ext-src/swoole_coroutine.cc:542

2 0x00007f1449d557c7 in swoole::Coroutine::resume (this=0x1bb4920) at /root/mysoft/swoole-v5.0.3/src/coroutine/base.cc:113

3 0x00007f1449d543e4 in operator() (args#1=0x1bb4880, args#0=0x1bb4a50, this=0x1bb48c0) at /usr/include/c++/4.8.2/functional:2471

4 swoole::Timer::select (this=0x1bb4a50) at /root/mysoft/swoole-v5.0.3/src/core/timer.cc:212

5 0x00007f1449da0be1 in operator() (__args#0=0x1ba7d80, this=0x1bb6ba8) at /usr/include/c++/4.8.2/functional:2471

6 swoole::Reactor::execute_end_callbacks (this=0x1ba7d80, timedout=timedout@entry=true) at /root/mysoft/swoole-v5.0.3/src/reactor/base.cc:403

7 0x00007f1449da2aaa in swoole::ReactorEpoll::wait (this=0x1ba8210, timeo=) at /root/mysoft/swoole-v5.0.3/src/reactor/epoll.cc:184

8 0x00007f1449dcb0f1 in wait (this=0x1ba7d80, timeout=0x0) at /root/mysoft/swoole-v5.0.3/include/swoole_reactor.h:163

9 swoole::Server::start_event_worker (this=this@entry=0x1890150, worker=worker@entry=0x7f145b3ff008)

at /root/mysoft/swoole-v5.0.3/src/server/worker.cc:468                                                                                                 

10 0x00007f1449da8d9b in swoole::Server::spawn_event_worker (this=0x1890150, worker=0x7f145b3ff008)

at /root/mysoft/swoole-v5.0.3/src/server/manager.cc:614                                                                                                

11 0x00007f1449dab179 in operator() (__closure=0x1ba7cb0) at /root/mysoft/swoole-v5.0.3/src/server/manager.cc:129

12 std::_Function_handler<void(), swoole::Server::start_manager_process()::lambda0>::_M_invoke(const std::_Any_data &) (functor=...)

at /usr/include/c++/4.8.2/functional:2071                                                                                                              

13 0x00007f1449d4b7af in operator() (this=0x7fffddc33c00) at /usr/include/c++/4.8.2/functional:2471

14 swoole_fork_exec(std::function<void ()> const&) (fn=...) at /root/mysoft/swoole-v5.0.3/src/core/base.cc:370

15 0x00007f1449daaad7 in swoole::Server::start_manager_process (this=) at /root/mysoft/swoole-v5.0.3/src/server/manager.cc:151

16 0x00007f1449dbeaf7 in swoole::ProcessFactory::start (this=0x1ba4590) at /root/mysoft/swoole-v5.0.3/src/server/process.cc:62

17 0x00007f1449db391b in swoole::Server::start (this=this@entry=0x1890150) at /root/mysoft/swoole-v5.0.3/src/server/master.cc:690

18 0x00007f1449d307f9 in zim_swoole_server_start (execute_data=, return_value=0x7fffddc33d70)

at /root/mysoft/swoole-v5.0.3/ext-src/swoole_server.cc:2573                                                                                            

19 0x0000000000845837 in ZEND_DO_FCALL_SPEC_RETVAL_UNUSED_HANDLER () at /root/mysoft/lnmp1.9/src/php-8.1.19/Zend/zend_vm_execute.h:1761

20 execute_ex (ex=0x1) at /root/mysoft/lnmp1.9/src/php-8.1.19/Zend/zend_vm_execute.h:55807

21 0x0000000000845ada in zend_execute (op_array=0x7f1451075700, return_value=)

at /root/mysoft/lnmp1.9/src/php-8.1.19/Zend/zend_vm_execute.h:60151                                                                                    

22 0x00000000007debb0 in zend_execute_scripts (type=1359038048, type@entry=8, retval=retval@entry=0x0, file_count=file_count@entry=3)

at /root/mysoft/lnmp1.9/src/php-8.1.19/Zend/zend.c:1846                                                                                                

23 0x000000000077c8ad in php_execute_script (primary_file=primary_file@entry=0x7fffddc36180) at /root/mysoft/lnmp1.9/src/php-8.1.19/main/main.c:2542

24 0x00000000008b6d0e in do_cli (argc=3, argv=0x17a51a0) at /root/mysoft/lnmp1.9/src/php-8.1.19/sapi/cli/php_cli.c:965

25 0x0000000000465b71 in main (argc=3, argv=0x17a51a0) at /root/mysoft/lnmp1.9/src/php-8.1.19/sapi/cli/php_cli.c:1367

(gdb) f 1

1 0x00007f1449cb80e4 in swoole::PHPCoroutine::on_resume (arg=0x7f1448d0f030) at /root/mysoft/swoole-v5.0.3/ext-src/swoole_coroutine.cc:542

542 (*task->on_resume)(task);
(gdb) f 0

0 std::function<void (swoole::PHPContext)>::operator()(swoole::PHPContext) const (this=0x1, __args#0=0x7f1448d0f030)

at /usr/include/c++/4.8.2/functional:2469                                                                                                              

2469 if (_M_empty())
(gdb)