Skip to content

两次fork,第二次fork得父进程不退出 #3188

@chuandew

Description

@chuandew

Describe the bug
两次fork,第二次fork得父进程不退出

To Reproduce
连接brpc得程序,通过两次fork来实现daemonize,多次运行之后可以复现

Expected behavior

父进程能够正常退出,

Versions
OS: Ubuntu 22.04
Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.2) 11.4.0
brpc: 1.15.0
protobuf: tag: v3.25.5

Additional context/screenshots

`
[New LWP 437932]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007faab40873f0 in __lll_lock_wait () from /lib64/libc.so.6

Thread 2 (Thread 0x7faab3e79640 (LWP 437932) "bvar_sampler"):
#0 0x00007faab40d4655 in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6
#1 0x00007faab40d9247 in nanosleep () from /lib64/libc.so.6
#2 0x00007faab41050f9 in usleep () from /lib64/libc.so.6
#3 0x00000000015f98ba in bvar::detail::SamplerCollector::run (this=this@entry=0x4d270f0) at /dingo-eureka/brpc/src/bvar/detail/sampler.cpp:183
#4 0x00000000015fb7f0 in bvar::detail::SamplerCollector::sampling_thread (arg=0x4d270f0) at /dingo-eureka/brpc/src/bvar/detail/sampler.cpp:113
#5 0x00007faab408a19a in start_thread () from /lib64/libc.so.6
#6 0x00007faab410f210 in clone3 () from /lib64/libc.so.6

Thread 1 (Thread 0x7faab4227280 (LWP 437931) "dingo-client"):
#0 0x00007faab40873f0 in __lll_lock_wait () from /lib64/libc.so.6
#1 0x00007faab408d582 in pthread_mutex_lock@@GLIBC_2.2.5 () from /lib64/libc.so.6
#2 0x00000000015f9546 in butil::Mutex::lock (this=0x4f5c470) at /dingo-eureka/brpc/src/butil/synchronization/lock.h:74
#3 bvar::detail::Sampler::destroy (this=0x4f5c450) at /dingo-eureka/brpc/src/bvar/detail/sampler.cpp:214
#4 0x00000000005616eb in bvar::PassiveStatus::~PassiveStatus (this=0x3f22c00 bvar::g_size, __in_chrg=) at /root/.local/dingo-eureka/include/bvar/passive_status.h:112
#5 0x00007faab40412dd in __run_exit_handlers () from /lib64/libc.so.6
#6 0x00007faab4041430 in exit () from /lib64/libc.so.6
#7 0x0000000000555bef in dingofs::utils::Daemonize (chdir_root=, close_fds=) at /opt/dingofs/src/utils/daemonize.h:34
#8 0x0000000000521fb6 in main (argc=, argv=) at /opt/dingofs/src/client/main.cc:195
`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions