Bug 64233

Summary: apr does not quit neatly
Product: APR Reporter: Ming <16204668>
Component: APRAssignee: Apache Portable Runtime bugs mailinglist <bugs>
Status: NEW ---    
Severity: normal    
Priority: P2    
Version: 1.6.3   
Target Milestone: ---   
Hardware: All   
OS: Linux   

Description Ming 2020-03-17 12:52:08 UTC
I am maintaining a server which uses log4cxx as the logging tool. Log4cxx calls functions in apr/apr-util library in turn.Since it is a server, the usual way I stop it is:

      kill -s SIGINT PID

This worked fine on Centos 6.x.

We upgraded our OS to Centos 8.0 recently, and certainly we have rebuilt the server on the new OS with newer version of g++.The server does not quit correctly now. It just hangs there.We tried to debug it with strace and gdb backtrace.The result is the following:

strace -p 922
strace: Process 922 attached
futex(0x83be54, FUTEX_WAIT_PRIVATE, 12, NULL^Cstrace: Process 922 detached
 <detached ...>

gdb ../bin/YAalgo  922
...
(gdb) bt
#0  0x00007fec745abf47 in pthread_cond_destroy@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fec74e86d2e in apr_pool_destroy () from /lib64/libapr-1.so.0
#2  0x00007fec74e86d0d in apr_pool_destroy () from /lib64/libapr-1.so.0
#3  0x00007fec74e86d0d in apr_pool_destroy () from /lib64/libapr-1.so.0
#4  0x00007fec74e86f70 in apr_pool_terminate () from /lib64/libapr-1.so.0
#5  0x00007fec7752e179 in log4cxx::helpers::APRInitializer::~APRInitializer (this=<optimized out>, __in_chrg=<optimized out>)
    at ../../../../src/main/cpp/aprinitializer.cpp:45
#6  0x00007fec761e906c in __run_exit_handlers () from /lib64/libc.so.6
#7  0x00007fec761e91a0 in exit () from /lib64/libc.so.6
#8  0x00007fec761d287a in __libc_start_main () from /lib64/libc.so.6
#9  0x0000000000404bae in _start ()

apr and apr-util version installed on the system is:apr-1.6.3-9.el8.x86_64 and apr-util-1.6.1-6.el8.x86_64.Log4cxx version is 0.10.0.

Could anyone help me out with this issue? Thanks a lot!