On Wed, Sep 30, 2020 at 1:40 PM <bugzi...@apache.org> wrote:
>
> https://bz.apache.org/bugzilla/show_bug.cgi?id=64533
>
> --- Comment #29 from Ruediger Pluem <rpl...@apache.org> ---
> There seem to be further ones:
>
> #0  0x00007fcf591f2664 in __do_global_dtors_aux () from
> /lib64/libnss_files.so.2
> [Current thread is 1 (Thread 0x7fcf59dc0900 (LWP 3563021))]
> (gdb) bt
> #0  0x00007fcf591f2664 in __do_global_dtors_aux () from
> /lib64/libnss_files.so.2
> #1  0x00007fcf5a30d2eb in _dl_fini () at dl-fini.c:138
> #2  0x00007fcf59f0ee87 in __run_exit_handlers (status=status@entry=0,
> listp=0x7fcf5a092578 <__exit_funcs>,
>     run_list_atexit=run_list_atexit@entry=true, 
> run_dtors=run_dtors@entry=true)
> at exit.c:108
> #3  0x00007fcf59f0f040 in __GI_exit (status=status@entry=0) at exit.c:139
> #4  0x00007fcf5921d716 in clean_child_exit (code=code@entry=0) at event.c:738
> #5  0x00007fcf5921d73d in just_die (sig=<optimized out>) at event.c:743
> #6  <signal handler called>

I think this trace may be caused by OpenSSL shutdown in child
processes, registered with atexit or alike (either cleanup code is
called after the DOS is unloaded, or it points to data on pchild).
We discussed this already in [1], I don't think we should let atexit
code run for children, and just call _exit() in *nix MPMs.

But if some threads are still "using" pchild in between
apr_pool_destroy(pchild) and _exit() we might crash at child shutdown
still (like in Joe's trace I think), so possibly we don't want to
destroy pchild either for ungraceful shutdowns (graceful ones are OK
because we wait for workers).

[1] 
https://lists.apache.org/thread.html/16ae4b2ff5a52b1af320b081bde4dfb02e0c28dd1253572beb84dd72%40%3Cdev.httpd.apache.org%3E

>
> and
>
> #0  0x00007fcf59e0b5f0 in __do_global_dtors_aux () from /lib64/liblzma.so.5
> #1  0x00007fcf5a30d2eb in _dl_fini () from /lib64/ld-linux-x86-64.so.2
> #2  0x00007fcf59f0ee87 in __run_exit_handlers () from /lib64/libc.so.6
> #3  0x00007fcf59f0f040 in exit () from /lib64/libc.so.6
> #4  0x00007fcf5921d716 in clean_child_exit () from
> /usr/lib64/httpd/modules/mod_mpm_event.so
> #5  0x00007fcf5921d73d in just_die () from
> /usr/lib64/httpd/modules/mod_mpm_event.so
> #6  <signal handler called>

Same case here possibly.

>
> Do we ever use liblzma in vanialla httpd?

I don't think so,


Regards;
Yann.

Reply via email to