Apache seg fault. krb5int_key_delete Assertion destructors_set[keynum] == 1 failed

随声附和 提交于 2021-01-29 15:55:26

问题


I use Apache 2.4.10 and Debian 8. I installed apache and most packages with apt. For long time all was good, but suddenly we started to receive seg fault.

[Wed Jan 02 00:55:19.233027 2019] [mpm_prefork:notice] [pid 25161] AH00171: Graceful restart requested, doing restart
apache2: ../../../src/util/support/threads.c:383: krb5int_key_delete: Assertion `destructors_set[keynum] == 1' failed.
[Wed Jan 02 00:55:19.326118 2019] [core:notice] [pid 25161] AH00060: seg fault or similar nasty error detected in the parent process
apache2: ../../../src/util/support/threads.c:383: krb5int_key_delete: Assertion `destructors_set[keynum] == 1' failed.
apache2: ../../../src/util/support/threads.c:383: krb5int_key_delete: Assertion `destructors_set[keynum] == 1' failed.
apache2: ../../../src/util/support/threads.c:383: krb5int_key_delete: Assertion `destructors_set[keynum] == 1' failed.
apache2: ../../../src/util/support/threads.c:383: krb5int_key_delete: Assertion `destructors_set[keynum] == 1' failed.
apache2: ../../../src/util/support/threads.c:383: krb5int_key_delete: Assertion `destructors_set[keynum] == 1' failed.
apache2: ../../../src/util/support/threads.c:383: krb5int_key_delete: Assertion `destructors_set[keynum] == 1' failed.
[Wed Jan 02 00:55:19.347698 2019] [:alert] [pid 12257] (4)Interrupted system call: FastCGI: read() from pipe failed (0)
[Wed Jan 02 00:55:19.347729 2019] [:alert] [pid 12257] (4)Interrupted system call: FastCGI: the PM is shutting down, Apache seems to have disappeared - bye

It seems to be libkrb5.so at fault. I have 2 libraries on machine as far as i found - libkrb5.so.3 and libkrb5.so.3.3.

  • krb5int_key_delete makes me think its kerberos library.
  • The method is aliased here to one in error.

I did upgrade all software in hope its patched. But no success. We dont use kerberos module for apache.

Any idea what could be using this library and even how to prevent this issue?


回答1:


I'm also running into this, and trying to determine the cause

Regarding "Any idea what could be using this library":

Utilizing ldd and assuming you have a central location of apache modules, you can iterate through the list of modules and dump ones using this library. Ex:

find /etc/httpd/modules/*.so -exec sh -c 'echo {}; ldd {} | grep libkrb5' \;

(in our case, this returns the following)

/etc/httpd/modules/libphp7.so
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f4f35f65000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f4f34839000)
/etc/httpd/modules/libphp7-zts.so
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007ff228114000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007ff226c04000)
/etc/httpd/modules/mod_ssl.so
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f0c0c7fa000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f0c0bf9d000)

I did notice the bug at https://krbdev.mit.edu/rt/Ticket/Display.html?id=8614 that points to two different versions installed causing issues, but on our environment we have those multiple libraries in /usr/lib64, except libkrb5.so.3 is a symlink to libkrb5.so.3.3, so I would make sure that's not what you're seeing.

I have sent an email to krb5-bugs@mit.edu (based on https://k5wiki.kerberos.org/wiki/Reporting_bugs) and will hopefully have a link to the ticket to share in this post soonish.

EDIT: Follow the bug report @ https://krbdev.mit.edu/rt/Ticket/Display.html?id=8863



来源:https://stackoverflow.com/questions/54213685/apache-seg-fault-krb5int-key-delete-assertion-destructors-setkeynum-1-fail

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!