CINXE.COM

66005 – Apache crashes, if there is a tomcat server, which can not be resolved

<!DOCTYPE html> <html lang="en"> <head> <title>66005 &ndash; Apache crashes, if there is a tomcat server, which can not be resolved</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="data/assets/d2dc72eaec8a65ba2f1cc98ad8a98a4d.css?1725743963" rel="stylesheet" type="text/css"> <link href="data/assets/117e56f7b51d43b9b3950693e5dec8a6.css?1725743940" rel="stylesheet" type="text/css"> <script type="text/javascript" src="data/assets/a7c2f3a028f17a9aa60f56dc9d6e732d.js?1725743962"></script> <script type="text/javascript"> <!-- YAHOO.namespace('bugzilla'); YAHOO.util.Event.addListener = function (el, sType, fn, obj, overrideContext) { if ( ("onpagehide" in window || YAHOO.env.ua.gecko) && sType === "unload") { sType = "pagehide"; }; var capture = ((sType == "focusin" || sType == "focusout") && !YAHOO.env.ua.ie) ? true : false; return this._addListener(el, this._getType(sType), fn, obj, overrideContext, capture); }; if ( "onpagehide" in window || YAHOO.env.ua.gecko) { YAHOO.util.Event._simpleRemove(window, "unload", YAHOO.util.Event._unload); } function unhide_language_selector() { YAHOO.util.Dom.removeClass( 'lang_links_container', 'bz_default_hidden' ); } YAHOO.util.Event.onDOMReady(unhide_language_selector); var BUGZILLA = { param: { cookiepath: '\/bugzilla\/', maxusermatches: 1000 }, constant: { COMMENT_COLS: 80 }, string: { attach_desc_required: "You must enter a Description for this attachment.", component_required: "You must select a Component for this bug.", description_required: "You must enter a Description for this bug.", short_desc_required: "You must enter a Summary for this bug.", version_required: "You must select a Version for this bug." } , api_token: '' }; if (history && history.replaceState) { if(!document.location.href.match(/show_bug\.cgi/)) { history.replaceState( null, "66005 – Apache crashes, if there is a tomcat server, which can not be resolved", "show_bug.cgi?id=66005" ); document.title = "66005 – Apache crashes, if there is a tomcat server, which can not be resolved"; } if (document.location.href.match(/show_bug\.cgi\?.*list_id=/)) { var href = document.location.href; href = href.replace(/[\?&]+list_id=(\d+|cookie)/, ''); history.replaceState(null, "66005 – Apache crashes, if there is a tomcat server, which can not be resolved", href); } } YAHOO.util.Event.onDOMReady(function() { initDirtyFieldTracking(); }); // --> </script> <script type="text/javascript" src="data/assets/daf5e0fb6826e6a35280e622913f0c4a.js?1725743963"></script> <link rel="search" type="application/opensearchdescription+xml" title="ASF Bugzilla" href="./search_plugin.cgi"> <link rel="shortcut icon" href="images/favicon.ico"> </head> <body class="bz-apache-org-bugzilla bz_bug bz_status_RESOLVED bz_product_Tomcat_Connectors bz_component_mod_jk bz_bug_66005 yui-skin-sam"> <div id="header"><div id="banner"> </div> <div id="titles"> <span id="title">ASF Bugzilla &ndash; Bug&nbsp;66005</span> <span id="subtitle" class="subheader">Apache crashes, if there is a tomcat server, which can not be resolved</span> <span id="information" class="header_addl_info">Last modified: 2024-04-22 12:45:32 UTC</span> </div> <div id="common_links"><ul id="useful-links"> <li id="links-actions"><ul class="links"> <li><a href="./">Home</a></li> <li><span class="separator">| </span><a href="enter_bug.cgi">New</a></li> <li><span class="separator">| </span><a href="describecomponents.cgi">Browse</a></li> <li><span class="separator">| </span><a href="query.cgi">Search</a></li> <li class="form"> <span class="separator">| </span> <form action="buglist.cgi" method="get" onsubmit="if (this.quicksearch.value == '') { alert('Please enter one or more search terms first.'); return false; } return true;"> <input type="hidden" id="no_redirect_top" name="no_redirect" value="0"> <script type="text/javascript"> if (history && history.replaceState) { var no_redirect = document.getElementById("no_redirect_top"); no_redirect.value = 1; } </script> <input class="txt" type="text" id="quicksearch_top" name="quicksearch" aria-labelledby="find_top" title="Quick Search" value=""> <input class="btn" type="submit" value="Search" id="find_top"></form> <a href="page.cgi?id=quicksearch.html" title="Quicksearch Help">[?]</a></li> <li><span class="separator">| </span><a href="report.cgi">Reports</a></li> <li></li> <li> <span class="separator">| </span> <a href="docs/en/html/using/understanding.html" target="_blank">Help</a> </li> <li id="new_account_container_top"> <span class="separator">| </span> <a href="createaccount.cgi">New&nbsp;Account</a> </li> <li id="mini_login_container_top"> <span class="separator">| </span> <a id="login_link_top" href="show_bug.cgi?id=66005&amp;GoAheadAndLogIn=1" onclick="return show_mini_login_form('_top')">Log In</a> <form action="show_bug.cgi?id=66005" method="POST" class="mini_login bz_default_hidden" id="mini_login_top"> <input id="Bugzilla_login_top" required name="Bugzilla_login" class="bz_login" type="email" placeholder="Email Address"> <input class="bz_password" name="Bugzilla_password" type="password" id="Bugzilla_password_top" required placeholder="Password"> <input type="checkbox" id="Bugzilla_remember_top" name="Bugzilla_remember" value="on" class="bz_remember" checked> <label for="Bugzilla_remember_top">Remember</label> <input type="hidden" name="Bugzilla_login_token" value=""> <input type="submit" name="GoAheadAndLogIn" value="Log in" id="log_in_top"> <a href="#" onclick="return hide_mini_login_form('_top')">[x]</a> </form> </li> <li id="forgot_container_top"> <span class="separator">| </span> <a id="forgot_link_top" href="show_bug.cgi?id=66005&amp;GoAheadAndLogIn=1#forgot" onclick="return show_forgot_form('_top')">Forgot Password</a> <form action="token.cgi" method="post" id="forgot_form_top" class="mini_forgot bz_default_hidden"> <label for="login_top">Login:</label> <input name="loginname" size="20" id="login_top" required type="email" placeholder="Your Email Address"> <input id="forgot_button_top" value="Reset Password" type="submit"> <input type="hidden" name="a" value="reqpw"> <input type="hidden" id="token_top" name="token" value="1733906206-bYTe1LVWTyZEKUo5HsADt14T2BQXTUD9pZveGeTpb9A"> <a href="#" onclick="return hide_forgot_form('_top')">[x]</a> </form> </li> </ul> </li> </ul> </div> </div> <div id="bugzilla-body"> <script type="text/javascript"> <!-- //--> </script> <form name="changeform" id="changeform" method="post" action="process_bug.cgi"> <input type="hidden" name="delta_ts" value="2024-04-22 12:45:32"> <input type="hidden" name="id" value="66005"> <input type="hidden" name="token" value="1733906206-DS07np5UCddUTVmSJhwmbQ-nul9cX91izeoPpc_ERow"> <div class="bz_short_desc_container edit_form"> <a href="show_bug.cgi?id=66005"><b>Bug&nbsp;66005</b></a> <span id="summary_container" class="bz_default_hidden"> - <span id="short_desc_nonedit_display">Apache crashes, if there is a tomcat server, which can not be resolved</span> </span> <div id="summary_input"><span class="field_label " id="field_label_short_desc"> <a title="The bug summary is a short sentence which succinctly describes what the bug is about." class="field_help_link" href="page.cgi?id=fields.html#short_desc" >Summary:</a> </span>Apache crashes, if there is a tomcat server, which can not be resolved </div> </div> <script type="text/javascript"> hideEditableField('summary_container', 'summary_input', 'summary_edit_action', 'short_desc', 'Apache crashes, if there is a tomcat server, which can not be resolved' ); </script> <table class="edit_form"> <tr> <td id="bz_show_bug_column_1" class="bz_show_bug_column"> <table> <tr> <th class="field_label"> <a href="page.cgi?id=fields.html#bug_status">Status</a>: </th> <td id="bz_field_status"> <span id="static_bug_status">RESOLVED FIXED </span> </td> </tr> <tr> <td colspan="2" class="bz_section_spacer"></td> </tr> <tr><th class="field_label " id="field_label_alias"> <a title="A short, unique name assigned to a bug in order to assist with looking it up and referring to it in other places in Bugzilla." class="field_help_link" href="page.cgi?id=fields.html#alias" >Alias:</a> </th> <td> None </td> </tr> <tr> <td colspan="2" class="bz_section_spacer"></td> </tr> <tr><th class="field_label " id="field_label_product"> <a title="Bugs are categorised into Products and Components." class="field_help_link" href="describecomponents.cgi" >Product:</a> </th> <td class="field_value " id="field_container_product" >Tomcat Connectors </td> </tr> <tr class="bz_default_hidden"><th class="field_label " id="field_label_classification"> <a title="Bugs are categorised into Classifications, Products and Components. classifications is the top-level categorisation." class="field_help_link" href="page.cgi?id=fields.html#classification" >Classification:</a> </th> <td class="field_value " id="field_container_classification" >Unclassified </td> </tr> <tr><th class="field_label " id="field_label_component"> <a title="Components are second-level categories; each belongs to a particular Product. Select a Product to narrow down this list." class="field_help_link" href="describecomponents.cgi?product=Tomcat Connectors" >Component:</a> </th> <td class="field_value " id="field_container_component" >mod_jk (<a href="buglist.cgi?component=mod_jk&amp;product=Tomcat%20Connectors&amp;bug_status=__open__" target="_blank">show other bugs</a>) </td> </tr> <tr><th class="field_label " id="field_label_version"> <a title="The version field defines the version of the software the bug was found in." class="field_help_link" href="page.cgi?id=fields.html#version" >Version:</a> </th> <td>1.2.48 </td> </tr> <tr><th class="field_label " id="field_label_rep_platform"> <a title="The hardware platform the bug was observed on. Note: When searching, selecting the option &quot;All&quot; only finds bugs whose value for this field is literally the word &quot;All&quot;." class="field_help_link" href="page.cgi?id=fields.html#rep_platform" >Hardware:</a> </th> <td class="field_value">Other Linux </td> </tr> <tr> <td colspan="2" class="bz_section_spacer"></td> </tr> <tr> <th class="field_label"> <label accesskey="i"> <a href="page.cgi?id=fields.html#importance"><u>I</u>mportance</a></label>: </th> <td>P2 normal<span id="votes_container"> (<a href="page.cgi?id=voting/user.html&amp;bug_id=66005#vote_66005">vote</a>) </span> </td> </tr> <tr><th class="field_label " id="field_label_target_milestone"> <a title="The Target Milestone field is used to define when the engineer the bug is assigned to expects to fix it." class="field_help_link" href="page.cgi?id=fields.html#target_milestone" >Target Milestone:</a> </th><td>--- </td> </tr> <tr><th class="field_label " id="field_label_assigned_to"> <a title="The person in charge of resolving the bug." class="field_help_link" href="page.cgi?id=fields.html#assigned_to" >Assignee:</a> </th> <td><span class="vcard"><span class="fn">Tomcat Developers Mailing List</span> </span> </td> </tr> <script type="text/javascript"> assignToDefaultOnChange(['product', 'component'], 'dev\x40tomcat.apache.org', ''); </script> <tr> <td colspan="2" class="bz_section_spacer"></td> </tr> <tr><th class="field_label " id="field_label_bug_file_loc"> <a title="Bugs can have a URL associated with them - for example, a pointer to a web site where the problem is seen." class="field_help_link" href="page.cgi?id=fields.html#bug_file_loc" >URL:</a> </th> <td> <span id="bz_url_input_area"> </span> </td> </tr> <tr><th class="field_label " id="field_label_keywords"> <a title="You can add keywords from a defined list to bugs, in order to easily identify and group them." class="field_help_link" href="describekeywords.cgi" >Keywords:</a> </th> <td class="field_value " id="field_container_keywords" > </td> </tr> <tr> <td colspan="2" class="bz_section_spacer"></td> </tr> <tr> <th class="field_label"> <label>Duplicates (1)</label>: </th> <td class="field_value"> <span id="duplicates"><a class="bz_bug_link bz_status_RESOLVED bz_closed" title="RESOLVED DUPLICATE - Apache httpd not starting with mod_jk 1.2.49 after upgrade to SLES 15 SP5" href="show_bug.cgi?id=68928">68928</a> </span> (<a href="buglist.cgi?bug_id=68928">view as bug list</a>) </td> </tr> <tr><th class="field_label " id="field_label_dependson"> <a title="The bugs listed here must be resolved before this bug can be resolved." class="field_help_link" href="page.cgi?id=fields.html#dependson" >Depends on:</a> </th> <td> <span id="dependson_input_area"> </span> </td> </tr> <tr><th class="field_label " id="field_label_blocked"> <a title="This bug must be resolved before the bugs listed in this field can be resolved." class="field_help_link" href="page.cgi?id=fields.html#blocked" >Blocks:</a> </th> <td> <span id="blocked_input_area"> </span> </td> </tr> </table> </td> <td> <div class="bz_column_spacer">&nbsp;</div> </td> <td id="bz_show_bug_column_2" class="bz_show_bug_column"> <table> <tr> <th class="field_label"> Reported: </th> <td>2022-04-11 14:00 UTC by <span class="vcard"><span class="fn">Lothar</span> </span> </td> </tr> <tr> <th class="field_label"> Modified: </th> <td>2024-04-22 12:45 UTC (<a href="show_activity.cgi?id=66005">History</a>) </td> </tr> <tr> <th class="field_label"> <label accesskey="a"> CC List: </label> </th> <td>3 users <span id="cc_edit_area_showhide_container" class="bz_default_hidden"> (<a href="#" id="cc_edit_area_showhide">show</a>) </span> <div id="cc_edit_area"> <br> <select id="cc" multiple="multiple" size="5" > <option value="jcejka">jcejka</option> <option value="michaelo">michaelo</option> <option value="simeon.faisst2">simeon.faisst2</option> </select> </div> <script type="text/javascript"> hideEditableField( 'cc_edit_area_showhide_container', 'cc_edit_area', 'cc_edit_area_showhide', '', ''); </script> </td> </tr> <tr> <td colspan="2" class="bz_section_spacer"></td> </tr> <tr> <td colspan="2" class="bz_section_spacer"></td> </tr> </table> </td> </tr> <tr> <td colspan="3"> <hr id="bz_top_half_spacer"> </td> </tr> </table> <table id="bz_big_form_parts"> <tr> <td> <script type="text/javascript"> <!-- function toggle_display(link) { var table = document.getElementById("attachment_table"); var view_all = document.getElementById("view_all"); var hide_obsolete_url_parameter = "&hide_obsolete=1"; // Store current height for scrolling later var originalHeight = table.offsetHeight; var rows = YAHOO.util.Dom.getElementsByClassName( 'bz_tr_obsolete', 'tr', table); for (var i = 0; i < rows.length; i++) { bz_toggleClass(rows[i], 'bz_default_hidden'); } if (YAHOO.util.Dom.hasClass(rows[0], 'bz_default_hidden')) { link.innerHTML = "Show Obsolete"; view_all.href = view_all.href + hide_obsolete_url_parameter } else { link.innerHTML = "Hide Obsolete"; view_all.href = view_all.href.replace(hide_obsolete_url_parameter,""); } var newHeight = table.offsetHeight; // This scrolling makes the window appear to not move at all. window.scrollBy(0, newHeight - originalHeight); return false; } //--> </script> <br> <table id="attachment_table"> <tr id="a0"> <th colspan="2" class="left"> Attachments </th> </tr> <tr id="a1" class="bz_contenttype_text_plain"> <td> <a href="attachment.cgi?id=38247" title="View the content of the attachment"> <b>debug logs related to server level</b></a> <span class="bz_attach_extra_info"> (18.00 KB, text/plain) <br> <a href="#attach_38247" title="Go to the comment associated with the attachment">2022-04-14 07:16 UTC</a>, <span class="vcard"><span class="fn">Lothar</span> </span> </span> </td> <td> <a href="attachment.cgi?id=38247&amp;action=edit">Details</a> </td> </tr> <tr id="a2" class="bz_contenttype_text_plain"> <td> <a href="attachment.cgi?id=38248" title="View the content of the attachment"> <b>debug log related to vHost</b></a> <span class="bz_attach_extra_info"> (4.42 KB, text/plain) <br> <a href="#attach_38248" title="Go to the comment associated with the attachment">2022-04-14 07:17 UTC</a>, <span class="vcard"><span class="fn">Lothar</span> </span> </span> </td> <td> <a href="attachment.cgi?id=38248&amp;action=edit">Details</a> </td> </tr> <tr id="a3" class="bz_contenttype_application_x-gzip"> <td> <a href="attachment.cgi?id=38250" title="View the content of the attachment"> <b>Dumpfile</b></a> <span class="bz_attach_extra_info"> (338.82 KB, application/x-gzip) <br> <a href="#attach_38250" title="Go to the comment associated with the attachment">2022-04-14 14:34 UTC</a>, <span class="vcard"><span class="fn">Lothar</span> </span> </span> </td> <td> <a href="attachment.cgi?id=38250&amp;action=edit">Details</a> </td> </tr> <tr id="a4" class="bz_contenttype_text_plain bz_patch bz_tr_obsolete bz_default_hidden"> <td> <a href="attachment.cgi?id=38503" title="View the content of the attachment"> <b><span class="bz_obsolete">Do not reuse jk_apr_pool</span></b></a> <span class="bz_attach_extra_info"> (1.76 KB, patch) <br> <a href="#attach_38503" title="Go to the comment associated with the attachment">2023-02-22 15:06 UTC</a>, <span class="vcard"><span class="fn">Josef Čejka</span> </span> </span> </td> <td> <a href="attachment.cgi?id=38503&amp;action=edit">Details</a> | <a href="attachment.cgi?id=38503&amp;action=diff">Diff</a> </td> </tr> <tr id="a5" class="bz_contenttype_text_plain bz_patch"> <td> <a href="attachment.cgi?id=38538" title="View the content of the attachment"> <b>Limit mod_jk.so exported symbols to &quot;jk_module&quot; only.</b></a> <span class="bz_attach_extra_info"> (1.42 KB, patch) <br> <a href="#attach_38538" title="Go to the comment associated with the attachment">2023-04-12 10:48 UTC</a>, <span class="vcard"><span class="fn">Josef Čejka</span> </span> </span> </td> <td> <a href="attachment.cgi?id=38538&amp;action=edit">Details</a> | <a href="attachment.cgi?id=38538&amp;action=diff">Diff</a> </td> </tr> <tr class="bz_attach_footer"> <td colspan="2"> <span class="bz_attach_view_hide"> <a href="#a0" onclick="return toggle_display(this);">Show Obsolete</a> (1) <a id="view_all" href="attachment.cgi?bugid=66005&amp;action=viewall&amp;hide_obsolete=1">View All</a> </span> <a href="attachment.cgi?bugid=66005&amp;action=enter">Add an attachment</a> (proposed patch, testcase, etc.) </td> </tr> </table> <br> <div id="add_comment" class="bz_section_additional_comments"> <table> <tr> <td> <fieldset> <legend>Note</legend> You need to <a href="show_bug.cgi?id=66005&amp;GoAheadAndLogIn=1">log in</a> before you can comment on or make changes to this bug. </fieldset> </td> </tr> </table> </div> </td> <td> </td> </tr></table> <div id="comments"><script src="js/comments.js?1474742097" type="text/javascript"> </script> <script type="text/javascript"> <!-- /* Adds the reply text to the 'comment' textarea */ function replyToComment(id, real_id, name) { var prefix = "(In reply to " + name + " from comment #" + id + ")\n"; var replytext = ""; /* pre id="comment_name_N" */ var text_elem = document.getElementById('comment_text_'+id); var text = getText(text_elem); replytext = prefix + wrapReplyText(text); /* <textarea id="comment"> */ var textarea = document.getElementById('comment'); if (textarea.value != replytext) { textarea.value += replytext; } textarea.focus(); } //--> </script> <!-- This auto-sizes the comments and positions the collapse/expand links to the right. --> <table class="bz_comment_table"> <tr> <td> <div id="c0" class="bz_comment bz_first_comment"> <div class="bz_first_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c0">Description</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-11 14:00:43 UTC </span> </div> <pre class="bz_comment_text">Dear Tomcat development team, I am not sure, if this is the correct way, for reporting this bug. We have the Issue, that apache crashes immediatly after startup, if I add a single worker, which could not be resolved: Tried with apache 2.4.52/2.4.53 and mod_jk 1.2.48 [debug] build_worker_map::jk_worker.c (249): creating worker myworker [debug] wc_create_worker::jk_worker.c (153): about to create instance myworker of ajp13 [debug] ajp_worker_factory::jk_ajp_common.c (3218): ajp worker 'myworker' type=2 created [debug] wc_create_worker::jk_worker.c (166): about to validate and init myworker [debug] ajp_validate::jk_ajp_common.c (2862): worker myworker target is 'host1.internal.example.org:8009' [error] ajp_validate::jk_ajp_common.c (2868): worker myworker can't resolve tomcat address host1.internal.example.org [debug] ajp_validate::jk_ajp_common.c (2873): worker myworker contact is disabled [debug] jk_ajp_push::jk_ajp_common.c (1190): syncing shm for ajp worker 'myworker' from mem (0-&gt;0) [0-&gt;0] [debug] ajp_init::jk_ajp_common.c (3076): (alex) setting endpoint options: [debug] ajp_init::jk_ajp_common.c (3080): keepalive: 0 [debug] ajp_init::jk_ajp_common.c (3084): socket timeout: 0 [debug] ajp_init::jk_ajp_common.c (3088): socket connect timeout: 0 [debug] ajp_init::jk_ajp_common.c (3092): buffer size: 0 [debug] ajp_init::jk_ajp_common.c (3096): pool timeout: 0 [debug] ajp_init::jk_ajp_common.c (3100): ping timeout: 10000 [debug] ajp_init::jk_ajp_common.c (3104): connect timeout: 0 [debug] ajp_init::jk_ajp_common.c (3108): reply timeout: 0 [debug] ajp_init::jk_ajp_common.c (3112): prepost timeout: 0 [debug] ajp_init::jk_ajp_common.c (3116): recovery options: 0 [debug] ajp_init::jk_ajp_common.c (3120): retries: 2 [debug] ajp_init::jk_ajp_common.c (3124): max packet size: 8192 [debug] ajp_init::jk_ajp_common.c (3128): retry interval: 100 [debug] ajp_init::jk_ajp_common.c (3132): busy limit: 0 [debug] ajp_create_endpoint_cache::jk_ajp_common.c (2932): (myworker) setting connection pool size to 1 with min 1 and acquire timeout 200 There is a known bug: <a class="bz_bug_link bz_status_RESOLVED bz_closed" title="RESOLVED FIXED - If tomcat server can not be resolved, crash occurred." href="show_bug.cgi?id=59164">https://bz.apache.org/bugzilla/show_bug.cgi?id=59164</a> This was fixed with 1.2.42 I tried to reopen it, but I was forwarded to &quot;Tomcat users mailing list&quot; Could you help me please. May be there is a workarround. Thanks a lot and kind Regards, Lothar</pre> </div> <div id="c1" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c1">Comment 1</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-13 12:11:23 UTC </span> </div> <pre class="bz_comment_text">I did some further investigation. with strace SEGSEGV was raised 0.000044 after start up: 0.000044 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_USER, si_pid=52811, si_uid=0} --- 0.116226 +++ killed by SIGSEGV (core dumped) +++ OS: 4.18.0-348.20.1.el8_5.x86_64 on a reference machine with 4.18.0-348.7.1.el8_5.x86_64 it works, even if there are workers, which could not be resolved.</pre> </div> <div id="c2" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c2">Comment 2</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Christopher Schultz</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-13 16:39:08 UTC </span> </div> <pre class="bz_comment_text">You have no provided enough information to investigate this crash. Does the log file end after what you have posted? Please post the full backtrace of the crash, or, if you are comfortable doing so, the core file from the crash.</pre> </div> <div id="c3" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c3">Comment 3</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-14 07:16:36 UTC </span> </div> <pre class="bz_comment_text">Created <span class=""><a href="attachment.cgi?id=38247" name="attach_38247" title="debug logs related to server level">attachment 38247</a> <a href="attachment.cgi?id=38247&amp;action=edit" title="debug logs related to server level">[details]</a></span> debug logs related to server level</pre> </div> <div id="c4" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c4">Comment 4</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-14 07:17:34 UTC </span> </div> <pre class="bz_comment_text">Created <span class=""><a href="attachment.cgi?id=38248" name="attach_38248" title="debug log related to vHost">attachment 38248</a> <a href="attachment.cgi?id=38248&amp;action=edit" title="debug log related to vHost">[details]</a></span> debug log related to vHost</pre> </div> <div id="c5" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c5">Comment 5</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-14 07:22:40 UTC </span> </div> <pre class="bz_comment_text">Hi Christopher, yes, these where the last log entries. I attached the full debug logs. Sorry, but I can`t upload the core file. This behavior is since last patching of RHEL8. But right now, I don`t know, which of the 120 updated packages causes the Issue</pre> </div> <div id="c6" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c6">Comment 6</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-14 08:23:52 UTC </span> </div> <pre class="bz_comment_text">status changed from needinfo to new</pre> </div> <div id="c7" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c7">Comment 7</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Christopher Schultz</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-14 13:01:35 UTC </span> </div> <pre class="bz_comment_text">Please post a native backtrace from the core dump.</pre> </div> <div id="c8" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c8">Comment 8</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-14 14:09:30 UTC </span> </div> <pre class="bz_comment_text">is it this, what you need: coredumpctl -o dump_LBE dump 15030 PID: 15030 (httpd) UID: 0 (root) GID: 0 (root) Signal: 11 (SEGV) Timestamp: Thu 2022-04-14 16:03:59 CEST (1min 11s ago) Command Line: /opt/apache24/bin/httpd -f /opt/apache24/conf/httpd.conf-Q9Z -DSSLONLB -DJK -DJKLB -DTEST Executable: /opt/apache24-2.4.53/bin/httpd Control Group: /system.slice/sshd.service Unit: sshd.service Slice: system.slice Boot ID: ac861fcf54ce466d85c01858284f6002 Machine ID: 75f51ab102f24402a778885cc10db4ea Hostname: usq9ztlws002.internal.unicreditgroup.eu Storage: /var/lib/systemd/coredump/core.httpd.0.ac861fcf54ce466d85c01858284f6002.15030.1649945039000000.lz4 Message: Process 15030 (httpd) of user 0 dumped core. Stack trace of thread 15030: #0 0x00007ff793710dbf run_cleanups (libapr-1.so.0) #1 0x00007ff79370fae5 apr_pool_clear (libapr-1.so.0) #2 0x00007ff78f397534 jk_resolve (mod_jk.so) #3 0x00007ff78f3c32bc ajp_validate (mod_jk.so) #4 0x00007ff78f3a2f4a validate (mod_jk.so) #5 0x00007ff78f3a1eb5 wc_create_worker (mod_jk.so) #6 0x00007ff78f3a9970 validate (mod_jk.so) #7 0x00007ff78f3a1eb5 wc_create_worker (mod_jk.so) #8 0x00007ff78f3a25bf build_worker_map (mod_jk.so) #9 0x00007ff78f3a174b wc_open (mod_jk.so) #10 0x00007ff78f392d2a init_jk (mod_jk.so) #11 0x00007ff78f393602 jk_post_config (mod_jk.so) #12 0x0000000000465c2c ap_run_post_config (httpd) #13 0x0000000000431b9f main (httpd) #14 0x00007ff792af1493 __libc_start_main (libc.so.6) #15 0x000000000042fe3e _start (httpd)</pre> </div> <div id="c9" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c9">Comment 9</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-14 14:34:25 UTC </span> </div> <pre class="bz_comment_text">Created <span class=""><a href="attachment.cgi?id=38250" name="attach_38250" title="Dumpfile">attachment 38250</a> <a href="attachment.cgi?id=38250&amp;action=edit" title="Dumpfile">[details]</a></span> Dumpfile I replaced sensitive data, hoepfully completely and without damaging the dump</pre> </div> <div id="c10" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c10">Comment 10</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Christopher Schultz</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-14 20:00:16 UTC </span> </div> <pre class="bz_comment_text">Are you able to build a patched version of mod_jk? I'd like to add some logging to figure out what's happening. It looks like we are trying to &quot;clean&quot; an APR memory pool and something is wrong with the pool.</pre> </div> <div id="c11" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c11">Comment 11</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Rainer Jung</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-14 22:46:22 UTC </span> </div> <pre class="bz_comment_text">It seems the crash happens in the second parent during the Apache startup. On Unix/Linux Apache creates a first parent, then replaces it by another parent and then starts the children. The first parent validates both workers without crash. Then the pid changes and the second parent starts, which crashes. The pool &quot;jk_apr_pool&quot; in common/jk_connect.c is static and only initialized, if it is NULL. I think we use the Apache pconf pool as the parent pool. I added debug logging lines and both parents seem to ahve the same address for pconf and both parents create a new fresh jk_apr_pool in my system. So I see no reason for a crash and indeed on my system it doesn't crash. Some questions: Am I right this happens immediately during the web server startup attempt? Are you starting with requests immediately hitting the web server? If so, can you retry with the web server not receiving any requests during startup? What MPM are you using? What exact Apache version? What exact APR version? Apache and/or APR self-compiled or Linux Distro provided. Linux Distro RHEL 8? Since this seems to happen early during startup, could you strip down your config to not use any other 3rd-party modules (like mod_security, PHP etc.) just to do another crash check? A simple patch that adds a few log lines that help us verify, that the pool lifecycle on your system doesn't differ from mine: diff -u common/jk_connect.c.kpdt_orig common/jk_connect.c --- common/jk_connect.c.kpdt_orig 2022-04-15 00:34:15.139451326 +0200 +++ common/jk_connect.c 2022-04-15 00:32:54.311258693 +0200 &#64;&#64; -416,10 +416,15 &#64;&#64; apr_sockaddr_t *remote_sa, *temp_sa; if (!jk_apr_pool) { + jk_log(l, JK_LOG_ERROR, &quot;Creating jk_apr_pool from main pool %pp&quot;, pool); if (apr_pool_create(&amp;jk_apr_pool, (apr_pool_t *)pool) != APR_SUCCESS) { + jk_log(l, JK_LOG_ERROR, &quot;Failed creating jk_apr_pool from main pool %pp&quot;, pool); JK_TRACE_EXIT(l); return JK_FALSE; } + jk_log(l, JK_LOG_ERROR, &quot;Created jk_apr_pool %pp from main pool %pp&quot;, jk_apr_pool, pool); + } else { + jk_log(l, JK_LOG_ERROR, &quot;Reusing jk_apr_pool %pp, main pool %pp&quot;, jk_apr_pool, pool); } apr_pool_clear(jk_apr_pool); if (apr_sockaddr_info_get(&amp;remote_sa, host, APR_UNSPEC, (apr_port_t)port, This will add log lines like: [Fri Apr 15 00:43:19.335 2022] [10189:140241031051136] [error] jk_resolve::jk_connect.c (419): Creating jk_apr_pool from main pool 0x797478p [Fri Apr 15 00:43:19.335 2022] [10189:140241031051136] [error] jk_resolve::jk_connect.c (425): Created jk_apr_pool 0x81bfd8p from main pool 0x797478p [Fri Apr 15 00:43:19.343 2022] [10189:140241031051136] [error] ajp_validate::jk_ajp_common.c (2868): worker node1 can't resolve tomcat address unknown.example.com [Fri Apr 15 00:43:19.344 2022] [10189:140241031051136] [error] jk_resolve::jk_connect.c (427): Reusing jk_apr_pool 0x81bfd8p, main pool 0x797478p [Fri Apr 15 00:43:19.344 2022] [10189:140241031051136] [error] ajp_validate::jk_ajp_common.c (2868): worker node2 can't resolve tomcat address unknown.example.com [Fri Apr 15 00:43:19.359 2022] [10192:140241031051136] [error] jk_resolve::jk_connect.c (419): Creating jk_apr_pool from main pool 0x797478p [Fri Apr 15 00:43:19.359 2022] [10192:140241031051136] [error] jk_resolve::jk_connect.c (425): Created jk_apr_pool 0x7c8788p from main pool 0x797478p [Fri Apr 15 00:43:19.359 2022] [10192:140241031051136] [error] ajp_validate::jk_ajp_common.c (2868): worker node1 can't resolve tomcat address unknown.example.com [Fri Apr 15 00:43:19.360 2022] [10192:140241031051136] [error] jk_resolve::jk_connect.c (427): Reusing jk_apr_pool 0x7c8788p, main pool 0x797478p [Fri Apr 15 00:43:19.360 2022] [10192:140241031051136] [error] ajp_validate::jk_ajp_common.c (2868): worker node2 can't resolve tomcat address unknown.example.com Thanks and regards, Rainer</pre> </div> <div id="c12" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c12">Comment 12</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-15 10:45:14 UTC </span> </div> <pre class="bz_comment_text">Hi Rainer, Yes, this happens immediately after start up. According to strace 47µs after start: 0.000047 rt_sigreturn({mask=[]}) = 3342918277296713689 0.000047 --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_USER, si_pid=3657936, si_uid=0} --- 0.143521 +++ killed by SIGSEGV (core dumped) +++ I tried both MPM prefork and worker. (but usually we use prefork) Apache 2.4.53 ( I tried also older Versions like 2.4.46) APR: 1.7.0 / APR-Util 1.6.1 We are using self compiled binaries. Yes it is RHEL8 4.18.0-348.20.1.el8_5.x86_64 The self compiled binaries we are using since more then 10 years But after last OS patching we have such issue, I never experienced something like this. Yes, I think there is something in conflict between OS and our apache modules/libraries. No there are no incomming requests it is a development environment. This is the output, after adding your log enhancements: [Fri Apr 15 12:32:15.822 2022] [482404:0] [error] jk_resolve::jk_connect.c (419): Creating jk_apr_pool from main pool 0x25783c8p [Fri Apr 15 12:32:15.822 2022] [482404:0] [error] jk_resolve::jk_connect.c (425): Created jk_apr_pool 0x2625098p from main pool 0x25783c8p [Fri Apr 15 12:32:15.959 2022] [482404:0] [error] ajp_validate::jk_ajp_common.c (2868): worker theWorker1 can't resolve tomcat address host2.example.org [Fri Apr 15 12:32:15.959 2022] [482404:0] [error] jk_resolve::jk_connect.c (427): Reusing jk_apr_pool 0x2625098p, main pool 0x25783c8p [Fri Apr 15 12:32:16.067 2022] [482404:0] [error] ajp_validate::jk_ajp_common.c (2868): worker theWorker0 can't resolve tomcat address host1.example.org [Fri Apr 15 12:32:16.067 2022] [482404:0] [info] init_jk::mod_jk.c (3591): mod_jk/1.2.48 initialized [Fri Apr 15 12:32:16.075 2022] [482433:0] [error] jk_resolve::jk_connect.c (427): Reusing jk_apr_pool 0x2625098p, main pool 0x25783c8p Thanks a lot for your support. KR, Lothar</pre> </div> <div id="c13" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c13">Comment 13</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Christopher Schultz</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-15 17:18:14 UTC </span> </div> <pre class="bz_comment_text">(In reply to Lothar from <a href="show_bug.cgi?id=66005#c12">comment #12</a>) <span class="quote">&gt; I tried both MPM prefork and worker. (but usually we use prefork) &gt; Apache 2.4.53 ( I tried also older Versions like 2.4.46) &gt; APR: 1.7.0 / APR-Util 1.6.1 &gt; We are using self compiled binaries. &gt; Yes it is RHEL8 4.18.0-348.20.1.el8_5.x86_64 &gt; The self compiled binaries we are using since more then 10 years &gt; But after last OS patching we have such issue, I never experienced something &gt; like this. Yes, I think there is something in conflict between OS and our &gt; apache modules/libraries.</span > This is what I would expect. The code which is crashing (when calling apr_pool_clear) was added in 2009, so something has been introduced lately which is causing some problem. Can you be sure that the version of APR you are using for the build is the same version being used at runtime?</pre> </div> <div id="c14" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c14">Comment 14</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-15 20:34:02 UTC </span> </div> <pre class="bz_comment_text">In strace I found the following file openings related to apr: 3657933: 0.000051 openat(AT_FDCWD, &quot;/opt/apache24/lib/libaprutil-1.so.0&quot;, O_RDONLY|O_CLOEXEC) = 3 3657933: 0.000059 openat(AT_FDCWD, &quot;/opt/apache24/lib/libapr-1.so.0&quot;, O_RDONLY|O_CLOEXEC) = 3 So the lib is the same as we provide with our package and the same Version. By the way, you asked about php, mod_security, they are not loaded.</pre> </div> <div id="c15" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c15">Comment 15</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-19 09:55:05 UTC </span> </div> <pre class="bz_comment_text">Is it possible to enable a similar logging in apr? How to implement?</pre> </div> <div id="c16" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c16">Comment 16</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Lothar</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-21 13:24:44 UTC </span> </div> <pre class="bz_comment_text">Meanwhile I found the cause: systemd-239-51.el8_5.5.x86_64 is updating /etc/nsswitch.conf &lt; hosts: files dns --- <span class="quote">&gt; hosts: files dns myhostname</span > after removing myhostname it works again. see: <a rel="nofollow" href="https://access.redhat.com/solutions/1287253">https://access.redhat.com/solutions/1287253</a> So probably after each patching cycle of systemd, we have to check &quot;/etc/nsswitch.conf&quot;. Hopefully there would be finally a better solution. Anyway, thanks, for your support. KR, Lothar</pre> </div> <div id="c17" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c17">Comment 17</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Christopher Schultz</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-25 21:11:59 UTC </span> </div> <pre class="bz_comment_text">That's really very strange. &quot;myhostname&quot; is something RHEL-specific which I am unable to test, but whatever it is should not cause mod_jk or httpd to crash. Rainer, do you have any explanation for what this could be? mod_jk is just trying to clean-up its own resources and the code looks good. Is it possible that our pointed has been trashed by some other code?</pre> </div> <div id="c18" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c18">Comment 18</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Rainer Jung</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2022-04-26 01:55:13 UTC </span> </div> <pre class="bz_comment_text">Unfortunately I have no explanation: - my RHEL 8 test system did also have the myhostname entry without problem - his debug log output showed different behavior than mine with respect to pool reuse, but I do not know how that would explain the crash But since the name resolution only happens at worker init time, one could think about not reusing the memory pool at all, so not having it as a static member. Regards, Rainer</pre> </div> <div id="c19" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c19">Comment 19</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Josef Čejka</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-02-22 14:59:56 UTC </span> </div> <pre class="bz_comment_text">I have two customers reporting the same issue on SLES15-SP4 but I can't reproduce it by myself. With additional debug messages like in <a href="show_bug.cgi?id=66005#c11">comment #11</a> log showed that it crashed when jk_resolve() was reusing jk_apr_pool with address that was correctly initialized in previous jk_resolve call. However in time of reuse the memory pointed to by jk_apr_pool contained &quot;random&quot; data and also &quot;pconf&quot; pool passed to jk_resolve() as &quot;pool&quot; argument had not jk_apr_pool in it's list of children. When I tried to reproduce the pool was never reused because it was called only once during module initialization and every apache ap_config_generation generation caused module was unload/load and it reset the jk_apr_pool variable back to NULL. To fix it I created a patch that creates new pool on every jk_resolve() call as suggested in <a href="show_bug.cgi?id=66005#c18">comment #18</a>. With this customers reported that the issue is fixed.</pre> </div> <div id="c20" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c20">Comment 20</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Josef Čejka</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-02-22 15:06:29 UTC </span> </div> <pre class="bz_comment_text">Created <span class="bz_obsolete"><a href="attachment.cgi?id=38503&amp;action=diff" name="attach_38503" title="Do not reuse jk_apr_pool">attachment 38503</a> <a href="attachment.cgi?id=38503&amp;action=edit" title="Do not reuse jk_apr_pool">[details]</a></span> Do not reuse jk_apr_pool</pre> </div> <div id="c21" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c21">Comment 21</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Josef Čejka</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-04-12 10:48:40 UTC </span> </div> <pre class="bz_comment_text">Created <span class=""><a href="attachment.cgi?id=38538&amp;action=diff" name="attach_38538" title="Limit mod_jk.so exported symbols to &quot;jk_module&quot; only.">attachment 38538</a> <a href="attachment.cgi?id=38538&amp;action=edit" title="Limit mod_jk.so exported symbols to &quot;jk_module&quot; only.">[details]</a></span> Limit mod_jk.so exported symbols to &quot;jk_module&quot; only. I found the real culprit. Please ignore my previous patch. ATM mod_jk.so library exports all internal symbols so any other library loaded after it can bind it's unresolved symbols on mod_jk.so. Glibc is checking dependencies and dlclose() does not unload library on which depends other library. This breaks Apache module reloading mechanism because following dlopen() will return already existing handler to mod_jk.so without re-initialization of global static variables so they contain still already invalid memory pointers instead of NULL values. In my case symbol &quot;context_free&#64;&#64;LIBSELINUX_1.0&quot; required by libkrb5support.so was bound to context_free from mod_jk.so instead of function with the same name provided by libselinux.so.1 because mod_jk.so was loaded first. It occurred only if nscd daemon was disabled and nsswitch had to load krb5 libraries. I can easily reproduce the issue on SLES15-SP4 by disabling nscd service. IMO this can also explain why Lothar reported that his issue disappeared after modifying nsswitch.conf.</pre> </div> <div id="c22" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c22">Comment 22</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Rainer Jung</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-08-18 13:49:18 UTC </span> </div> <pre class="bz_comment_text">Thanks for the great finding! I plan to apply your patch. Since -E is not a standardized linker flag I would rather prefer to not include it. For me it made no difference, whether I add the -Wl,-E (so the -E flag for ld). the full &quot;nm&quot; output was the same when uusing it and when not using it, alsways combined with out symbol regexp. Thanks and regards, Rainer</pre> </div> <div id="c23" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c23">Comment 23</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Rainer Jung</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-08-18 19:08:50 UTC </span> </div> <pre class="bz_comment_text">Too many typos: Thanks for the great finding! I plan to apply your patch. Since -E is not a standardized linker flag I would rather prefer to not include it. For me it made no difference, whether I add the -Wl,-E (so the -E flag for ld). the full &quot;nm&quot; output was the same when using it and when not using it, always combined with your symbol regexp. Thanks and regards, Rainer</pre> </div> <div id="c24" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c24">Comment 24</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Michael Osipov</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-08-21 08:19:39 UTC </span> </div> <pre class="bz_comment_text">The patch provided is highly not portable. Why not use internal attributes which mark symbols as public/private?</pre> </div> <div id="c25" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c25">Comment 25</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Rainer Jung</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-08-21 15:36:37 UTC </span> </div> <pre class="bz_comment_text">Not sure how highly nonportable, at least it uses libtool. Attributes are often used in GCC style. Do you have a concrete suggestion how to use them in a portable way to only export the jk_handler symbol?</pre> </div> <div id="c26" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c26">Comment 26</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Michael Osipov</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-09-01 07:47:47 UTC </span> </div> <pre class="bz_comment_text">(In reply to Rainer Jung from <a href="show_bug.cgi?id=66005#c25">comment #25</a>) <span class="quote">&gt; Not sure how highly nonportable, at least it uses libtool. &gt; &gt; Attributes are often used in GCC style. Do you have a concrete suggestion &gt; how to use them in a portable way to only export the jk_handler symbol?</span > Others supply a file of per-line symbols which should be visible externally. That can be made portable because all linkers support it.</pre> </div> <div id="c27" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c27">Comment 27</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Michael Osipov</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-09-01 07:48:57 UTC </span> </div> <pre class="bz_comment_text">(In reply to Josef Čejka from <a href="show_bug.cgi?id=66005#c21">comment #21</a>) <span class="quote">&gt; Created <span class=""><a href="attachment.cgi?id=38538&amp;action=diff" name="attach_38538" title="Limit mod_jk.so exported symbols to &quot;jk_module&quot; only.">attachment 38538</a> <a href="attachment.cgi?id=38538&amp;action=edit" title="Limit mod_jk.so exported symbols to &quot;jk_module&quot; only.">[details]</a></span> &gt; Limit mod_jk.so exported symbols to &quot;jk_module&quot; only. &gt; &gt; I found the real culprit. Please ignore my previous patch. &gt; &gt; ATM mod_jk.so library exports all internal symbols so any other library &gt; loaded after it can bind it's unresolved symbols on mod_jk.so. Glibc is &gt; checking dependencies and dlclose() does not unload library on which depends &gt; other library. This breaks Apache module reloading mechanism because &gt; following dlopen() will return already existing handler to mod_jk.so without &gt; re-initialization of global static variables so they contain still already &gt; invalid memory pointers instead of NULL values. &gt; &gt; In my case symbol &quot;context_free&#64;&#64;LIBSELINUX_1.0&quot; required by &gt; libkrb5support.so was bound to context_free from mod_jk.so instead of &gt; function with the same name provided by libselinux.so.1 because mod_jk.so &gt; was loaded first. It occurred only if nscd daemon was disabled and nsswitch &gt; had to load krb5 libraries. I can easily reproduce the issue on SLES15-SP4 &gt; by disabling nscd service. IMO this can also explain why Lothar reported &gt; that his issue disappeared after modifying nsswitch.conf.</span > Josef, kudos to your investigation skills!</pre> </div> <div id="c28" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c28">Comment 28</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Mark Thomas</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-09-04 22:12:14 UTC </span> </div> <pre class="bz_comment_text">Rainer, do you have a timescale in mind for applying the proposed patch or a variation? I'm planning on a mod_jk tag and release soon - hopefully this week.</pre> </div> <div id="c29" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c29">Comment 29</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Rainer Jung</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-09-05 09:52:30 UTC </span> </div> <pre class="bz_comment_text">I don't have a solution ready in the direction that Michael mentions. Because we don't call a linker directly and we don't want to. Linker flags are not standardized. That's one reason for using libtool. So I would apply the libtool &quot;solution&quot; in the next minutes and if we find a better solution before the tag we can optimize. For me the original libtool solution works in a release.</pre> </div> <div id="c30" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c30">Comment 30</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Mark Thomas</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-09-05 10:00:25 UTC </span> </div> <pre class="bz_comment_text">Sounds good to me. Tx.</pre> </div> <div id="c31" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c31">Comment 31</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Rainer Jung</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-09-05 10:18:06 UTC </span> </div> <pre class="bz_comment_text">I checked the libtool code. It provides the option -export-symbols-regexp, which was suggested and which I know committed, and it also provides -export-symbols with a file name containing the symbols. The implementation in libtool is very similar. It first generates a full symbol list, then filters the list (using egrep -e, or egrep) then then calls the linker with the result. So the portability of both ways is pretty much the same and expected to be good when using libtool. In our case having a separate symbol file doesn't seem to be necessary, because the contract between the module and the httpd web server is just this one stable symbol name. Committed in GH eda74b19e4800e3ed8bb3351d8995d1b3eb44a4d. Will be part of 1.2.49.</pre> </div> <div id="c32" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c32">Comment 32</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Michael Osipov</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-09-05 10:28:41 UTC </span> </div> <pre class="bz_comment_text">(In reply to Rainer Jung from <a href="show_bug.cgi?id=66005#c31">comment #31</a>) <span class="quote">&gt; I checked the libtool code. It provides the option -export-symbols-regexp, &gt; which was suggested and which I know committed, and it also provides &gt; -export-symbols with a file name containing the symbols. The implementation &gt; in libtool is very similar. It first generates a full symbol list, then &gt; filters the list (using egrep -e, or egrep) then then calls the linker with &gt; the result. So the portability of both ways is pretty much the same and &gt; expected to be good when using libtool. In our case having a separate symbol &gt; file doesn't seem to be necessary, because the contract between the module &gt; and the httpd web server is just this one stable symbol name. &gt; &gt; Committed in GH eda74b19e4800e3ed8bb3351d8995d1b3eb44a4d. &gt; &gt; Will be part of 1.2.49.</span > Then, I am happy with this since libtool will properly abstract from the actual linker calls. Thank for the investigation!</pre> </div> <div id="c33" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c33">Comment 33</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Rainer Jung</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2023-11-10 11:11:50 UTC </span> </div> <pre class="bz_comment_text">Unfortunately apache-2.0/Makefile.in contains a type, the flag was named -export-symbols-regexp instead of -export-symbols-regex (no &quot;p&quot; at the end of the flag name). To make this fix work, one has to fix this typo in that Makefile.in before building mod_jk (or wait for version 1.2.50).</pre> </div> <div id="c34" class="bz_comment"> <div class="bz_comment_head"> <span class="bz_comment_number"> <a href="show_bug.cgi?id=66005#c34">Comment 34</a> </span> <span class="bz_comment_user"> <span class="vcard"><span class="fn">Rainer Jung</span> </span> </span> <span class="bz_comment_user_images"> </span> <span class="bz_comment_time"> 2024-04-22 12:45:32 UTC </span> </div> <pre class="bz_comment_text">*** <a class="bz_bug_link bz_status_RESOLVED bz_closed" title="RESOLVED DUPLICATE - Apache httpd not starting with mod_jk 1.2.49 after upgrade to SLES 15 SP5" href="show_bug.cgi?id=68928">Bug 68928</a> has been marked as a duplicate of this bug. ***</pre> </div> </td> <td> </td> </tr></table> </div> </form> <hr> <ul class="related_actions"> <li><a href="show_bug.cgi?format=multiple&amp;id=66005">Format For Printing</a></li> <li>&nbsp;-&nbsp;<a href="show_bug.cgi?ctype=xml&amp;id=66005">XML</a></li> <li>&nbsp;-&nbsp;<a href="enter_bug.cgi?cloned_bug_id=66005">Clone This Bug</a></li> <li>&nbsp;-&nbsp;<a href="#">Top of page </a></li> </ul> <br> </div> <div id="footer"> <div class="intro"></div> This is <b>ASF Bugzilla</b>: the Apache Software Foundation bug system. In case of problems with the functioning of ASF Bugzilla, please contact <a href="mailto:bugzilla-admin@apache.org">bugzilla-admin@apache.org</a>. <b>Please Note:</b> this e-mail address is <b>only</b> for reporting problems with ASF Bugzilla. Mail about any other subject will be silently ignored. <ul id="useful-links"> <li id="links-actions"><ul class="links"> <li><a href="./">Home</a></li> <li><span class="separator">| </span><a href="enter_bug.cgi">New</a></li> <li><span class="separator">| </span><a href="describecomponents.cgi">Browse</a></li> <li><span class="separator">| </span><a href="query.cgi">Search</a></li> <li class="form"> <span class="separator">| </span> <form action="buglist.cgi" method="get" onsubmit="if (this.quicksearch.value == '') { alert('Please enter one or more search terms first.'); return false; } return true;"> <input type="hidden" id="no_redirect_bottom" name="no_redirect" value="0"> <script type="text/javascript"> if (history && history.replaceState) { var no_redirect = document.getElementById("no_redirect_bottom"); no_redirect.value = 1; } </script> <input class="txt" type="text" id="quicksearch_bottom" name="quicksearch" aria-labelledby="find_bottom" title="Quick Search" value=""> <input class="btn" type="submit" value="Search" id="find_bottom"></form> <a href="page.cgi?id=quicksearch.html" title="Quicksearch Help">[?]</a></li> <li><span class="separator">| </span><a href="report.cgi">Reports</a></li> <li></li> <li> <span class="separator">| </span> <a href="docs/en/html/using/understanding.html" target="_blank">Help</a> </li> <li id="new_account_container_bottom"> <span class="separator">| </span> <a href="createaccount.cgi">New&nbsp;Account</a> </li> <li id="mini_login_container_bottom"> <span class="separator">| </span> <a id="login_link_bottom" href="show_bug.cgi?id=66005&amp;GoAheadAndLogIn=1" onclick="return show_mini_login_form('_bottom')">Log In</a> <form action="show_bug.cgi?id=66005" method="POST" class="mini_login bz_default_hidden" id="mini_login_bottom"> <input id="Bugzilla_login_bottom" required name="Bugzilla_login" class="bz_login" type="email" placeholder="Email Address"> <input class="bz_password" name="Bugzilla_password" type="password" id="Bugzilla_password_bottom" required placeholder="Password"> <input type="checkbox" id="Bugzilla_remember_bottom" name="Bugzilla_remember" value="on" class="bz_remember" checked> <label for="Bugzilla_remember_bottom">Remember</label> <input type="hidden" name="Bugzilla_login_token" value=""> <input type="submit" name="GoAheadAndLogIn" value="Log in" id="log_in_bottom"> <a href="#" onclick="return hide_mini_login_form('_bottom')">[x]</a> </form> </li> <li id="forgot_container_bottom"> <span class="separator">| </span> <a id="forgot_link_bottom" href="show_bug.cgi?id=66005&amp;GoAheadAndLogIn=1#forgot" onclick="return show_forgot_form('_bottom')">Forgot Password</a> <form action="token.cgi" method="post" id="forgot_form_bottom" class="mini_forgot bz_default_hidden"> <label for="login_bottom">Login:</label> <input name="loginname" size="20" id="login_bottom" required type="email" placeholder="Your Email Address"> <input id="forgot_button_bottom" value="Reset Password" type="submit"> <input type="hidden" name="a" value="reqpw"> <input type="hidden" id="token_bottom" name="token" value="1733906206-bYTe1LVWTyZEKUo5HsADt14T2BQXTUD9pZveGeTpb9A"> <a href="#" onclick="return hide_forgot_form('_bottom')">[x]</a> </form> </li> </ul> </li> </ul> <div class="outro"></div> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10