yyzybb537 / libgo

Go-style concurrency in C++11
MIT License
3.18k stars 754 forks source link

运行 sample10_co_pool.cpp 例子崩溃 #284

Closed lossv closed 10 months ago

lossv commented 1 year ago

操作系统 centos7

[lossv@relax 19:50:57 tutorial]$ gdb sample10_co_pool_t core.19029 
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 /data/home/lossv/test/libgo_redis/build/tutorial/sample10_co_pool_t...done.

warning: core file may not match specified executable file.
[New LWP 19029]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
Core was generated by `./sample10_co_pool_t'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000000000 in ?? ()
Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-23.el7.x86_64 glibc-2.17-325.el7_9.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-51.el7_9.x86_64 libcom_err-1.42.9-19.el7.x86_64 libcurl-7.29.0-59.el7_9.1.x86_64 libgcc-4.8.5-44.el7.x86_64 libidn-1.28-4.el7.x86_64 libselinux-2.5-15.el7.x86_64 libssh2-1.8.0-3.el7.x86_64 libstdc++-4.8.5-44.el7.x86_64 nspr-4.32.0-1.el7_9.x86_64 nss-3.44.0-4.el7.x86_64 nss-softokn-freebl-3.67.0-3.el7_9.x86_64 nss-util-3.67.0-1.el7_9.x86_64 openldap-2.4.44-21.el7_6.x86_64 openssl-libs-1.0.2k-25.el7_9.x86_64 pcre-8.32-17.el7.x86_64 zlib-1.2.7-19.el7_9.x86_64
(gdb) bt
#0  0x0000000000000000 in ?? ()
#1  0x0000000000415133 in staticInitialize () at /data/home/lossv/download/libgo-3.1-stable/libgo/common/config.cpp:38
#2  co::LibgoInitialize () at /data/home/lossv/download/libgo-3.1-stable/libgo/common/config.cpp:48
#3  0x0000000000418f94 in co::Scheduler::Scheduler (this=0x1ab54e0) at /data/home/lossv/download/libgo-3.1-stable/libgo/scheduler/scheduler.cpp:59
#4  0x00000000004191cc in co::Scheduler::Create () at /data/home/lossv/download/libgo-3.1-stable/libgo/scheduler/scheduler.cpp:50
#5  0x000000000040ddf8 in co::AsyncCoroutinePool::AsyncCoroutinePool (this=0x1ab5010, maxCallbackPoints=128)
    at /data/home/lossv/download/libgo-3.1-stable/libgo/pool/async_coroutine_pool.cpp:75
#6  0x000000000040e1d1 in co::AsyncCoroutinePool::Create (maxCallbackPoints=128)
    at /data/home/lossv/download/libgo-3.1-stable/libgo/pool/async_coroutine_pool.cpp:8
#7  0x000000000040a8c1 in main () at /data/home/lossv/test/libgo_redis/tutorial/sample10_co_pool.cpp:50
lossv commented 1 year ago

在 main 之后加一行 co_sleep(1); (或者说是在main中任意地方加co_sleep)就不会崩掉程序 这是什么神奇操作? gcc 版本4.8.5

lossv commented 1 year ago

stable3.1

lossv commented 1 year ago

stable3.1

paradiseforgithub commented 10 months ago

已收到您的邮件,如有问题会尽快给您回复.