You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2020/01/07 13:44:57 UTC

[Bug 60947] Segfault on startup when using mod_ssl with APR-crypto

https://bz.apache.org/bugzilla/show_bug.cgi?id=60947

--- Comment #7 from sta@cpanel.net ---
We've recently seen the same bug(crashing during graceful restart):
====
(gdb) bt
#0  0x00002b2fac30f340 in ?? ()
#1  0x00002b2fac8b74d4 in ERR_get_state () from
/opt/cpanel/ea-openssl/lib64/libcrypto.so.1.0.0
#2  0x00002b2fac8b793f in ERR_clear_error () from
/opt/cpanel/ea-openssl/lib64/libcrypto.so.1.0.0
#3  0x00002b2fac8a669e in ENGINE_load_builtin_engines () from
/opt/cpanel/ea-openssl/lib64/libcrypto.so.1.0.0
#4  0x00002b2facbf6fd5 in ssl_hook_pre_config (pconf=0x55ae04945138,
plog=<optimized out>, ptemp=<optimized out>) at mod_ssl.c:407
#5  0x000055ae03f4986e in ap_run_pre_config (pconf=pconf@entry=0x55ae04945138,
plog=0x55ae04972358, ptemp=0x55ae049c4608) at config.c:89
#6  0x000055ae03f2321c in main (argc=3, argv=0x7fff9928ab88) at main.c:775
(gdb) list ERR_get_state
1029     ERR_remove_thread_state(NULL);
1030    }
1031    #endif
1032
1033    ERR_STATE *ERR_get_state(void)
1034    {
1035     static ERR_STATE fallback;
1036     ERR_STATE *ret, tmp, *tmpp = NULL;
1037     int i;
1038     CRYPTO_THREADID tid;
(gdb) l
1039
1040     err_fns_check();
1041     CRYPTO_THREADID_current(&tid);
1042     CRYPTO_THREADID_cpy(&tmp.tid, &tid);
1043     ret = ERRFN(thread_get_item) (&tmp);
1044
1045     /* ret == the error state, if NULL, make a new one */
1046     if (ret == NULL) {
1047         ret = (ERR_STATE *)OPENSSL_malloc(sizeof(ERR_STATE));
1048         if (ret == NULL)
(gdb) l CRYPTO_THREADID_current
481     return threadid_callback;
482    }
483
484    void CRYPTO_THREADID_current(CRYPTO_THREADID *id)
485    {
486     if (threadid_callback) {
487         threadid_callback(id);
488         return;
489     }
490    #ifndef OPENSSL_NO_DEPRECATED
(gdb)
====

I saw a patch was committed to trunk, but it doesn't seem it ever made it into
the 2.4.x branch:
====
https://github.com/apache/httpd/commit/d7dad162b7294df358284134c06d0889076d98af#diff-6b684bff3a841b11b1a51e5ab3c79761
====

Before we include the change into our own distribution, is there any reason the
patch wasn't merged into 2.4.x and this case closed?

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org