Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 2599B200C07 for ; Sun, 22 Jan 2017 13:17:00 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 24462160B45; Sun, 22 Jan 2017 12:17:00 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 485D1160B38 for ; Sun, 22 Jan 2017 13:16:59 +0100 (CET) Received: (qmail 53508 invoked by uid 500); 22 Jan 2017 12:16:58 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 53498 invoked by uid 99); 22 Jan 2017 12:16:58 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 22 Jan 2017 12:16:58 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id B46511806F7 for ; Sun, 22 Jan 2017 12:16:57 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1 X-Spam-Level: * X-Spam-Status: No, score=1 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id r4Zdc4VRV07j for ; Sun, 22 Jan 2017 12:16:53 +0000 (UTC) Received: from cloud1-vm154.de-nserver.de (cloud1-vm154.de-nserver.de [178.250.10.56]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id D44065F479 for ; Sun, 22 Jan 2017 12:16:52 +0000 (UTC) Received: (qmail 25957 invoked from network); 22 Jan 2017 13:16:52 +0100 X-Fcrdns: No Received: from phoffice.de-nserver.de (HELO [10.242.2.5]) (185.39.223.5) (smtp-auth username s.priebe@profihost.ag, mechanism plain) by cloud1-vm154.de-nserver.de (qpsmtpd/0.92) with (ECDHE-RSA-AES256-SHA encrypted) ESMTPSA; Sun, 22 Jan 2017 13:16:52 +0100 Subject: Re: mod_http2 and Frequent wake-ups for mpm_event Reply-To: dev@httpd.apache.org References: <64D5C7FC-DE97-4637-81E9-8E0AB02617B2@greenbytes.de> <3214CF17-8921-4347-B801-0093BA29C280@profihost.ag> <58893576-8D52-43AD-8AB1-31E5D70CDA9B@greenbytes.de> <8eca89a8-03ae-108f-d3df-5cc85911811e@profihost.ag> <73c1b14f-18f6-af45-c8ea-3584d6652d7a@profihost.ag> <21cd5f8f-a2c7-8aba-ccfb-5f3c399edebc@profihost.ag> <289b946c-9114-0eac-e470-67c0de909fd5@profihost.ag> <86e616ec-271c-3576-d4a1-08143e04976e@profihost.ag> <02B166CD-4D82-4F87-94AB-F4603723BDBA@greenbytes.de> <50cfac51-1c47-b2c1-4348-bc0b21dfcbac@profihost.ag> To: dev@httpd.apache.org Cc: Yann Ylavic From: Stefan Priebe Message-ID: Date: Sun, 22 Jan 2017 13:16:50 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-User-Auth: Auth by s.priebe@profihost.ag through 185.39.223.5 archived-at: Sun, 22 Jan 2017 12:17:00 -0000 Hi, and a new one but also in ap_start_lingering_close: Program terminated with signal SIGSEGV, Segmentation fault. #0 apr_palloc (pool=pool@entry=0x7f455805e138, in_size=in_size@entry=32) at memory/unix/apr_pools.c:684 #0 apr_palloc (pool=pool@entry=0x7f455805e138, in_size=in_size@entry=32) at memory/unix/apr_pools.c:684 #1 0x00007f456bc5d8b4 in apr_brigade_create (p=0x7f455805e138, list=0x7f45040034e8) at buckets/apr_brigade.c:61 #2 0x000055e165efa319 in ap_shutdown_conn (c=c@entry=0x7f455805e458, flush=flush@entry=1) at connection.c:76 #3 0x000055e165efa40d in ap_flush_conn (c=0x7f455805e458) at connection.c:95 #4 ap_start_lingering_close (c=0x7f455805e458) at connection.c:145 #5 0x000055e165f942dd in start_lingering_close_blocking (cs=) at event.c:876 #6 process_socket (my_thread_num=, my_child_num=, cs=0x7f455805e3c8, sock=, p=, thd=) at event.c:1153 #7 worker_thread (thd=0x7f455805e138, dummy=0x20) at event.c:2001 #8 0x00007f456b80a0a4 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #9 0x00007f456b53f62d in clone () from /lib/x86_64-linux-gnu/libc.so.6 Stefan Am 21.01.2017 um 19:31 schrieb Stefan Priebe: > All last traces come from event, proces_longering_close ap_push_pool but > end in different functions. It looks like a race somewhere and it just > races at different function in the event of close and pool clear. > > Might there be two places where the same pool gets cleared? > > Stefan > > Am 21.01.2017 um 19:07 schrieb Stefan Priebe: >> Hi Stefan, >> >> thanks. No crashes where h2 comes up. But i still have these and no idea >> how to find out who and why they're crashing. >> >> Using host libthread_db library >> "/lib/x86_64-linux-gnu/libthread_db.so.1". >> Core was generated by `/usr/local/apache2/bin/httpd -k start'. >> Program terminated with signal SIGSEGV, Segmentation fault. >> #0 allocator_free (node=0x0, allocator=0x7f6e08066540) >> at memory/unix/apr_pools.c:381 >> #0 allocator_free (node=0x0, allocator=0x7f6e08066540) >> at memory/unix/apr_pools.c:381 >> #1 apr_pool_clear (pool=0x7f6e0808d238) at memory/unix/apr_pools.c:793 >> #2 0x00000000004fe528 in ap_push_pool (queue_info=0x0, >> pool_to_recycle=0x7f6e08066548) at fdqueue.c:234 >> #3 0x00000000004fa2c8 in process_lingering_close (cs=0x7f6e0808d4c8, >> pfd=0x1d3bf98) at event.c:1439 >> #4 0x00000000004fd410 in listener_thread (thd=0x1d3cb70, >> dummy=0x7f6e0808d4c8) >> at event.c:1704 >> #5 0x00007f6e1aed20a4 in start_thread () >> from /lib/x86_64-linux-gnu/libpthread.so.0 >> #6 0x00007f6e1aa0362d in clone () from /lib/x86_64-linux-gnu/libc.so.6 >> (gdb) (gdb) quit >> >> Reading symbols from /usr/local/apache/bin/httpd...Reading symbols from >> /usr/lib/debug//usr/local/apache2/bin/httpd...done. >> done. >> [Thread debugging using libthread_db enabled] >> Using host libthread_db library >> "/lib/x86_64-linux-gnu/libthread_db.so.1". >> Core was generated by `/usr/local/apache2/bin/httpd -k start'. >> Program terminated with signal SIGSEGV, Segmentation fault. >> #0 allocator_free (node=0x0, allocator=0x7f6e08053ae0) >> at memory/unix/apr_pools.c:381 >> #0 allocator_free (node=0x0, allocator=0x7f6e08053ae0) >> at memory/unix/apr_pools.c:381 >> #1 apr_pool_clear (pool=0x7f6e08076bb8) at memory/unix/apr_pools.c:793 >> #2 0x00000000004fe528 in ap_push_pool (queue_info=0x0, >> pool_to_recycle=0x7f6e08053ae8) at fdqueue.c:234 >> #3 0x00000000004fa2c8 in process_lingering_close (cs=0x7f6e08076e48, >> pfd=0x1d3bf98) at event.c:1439 >> #4 0x00000000004fd410 in listener_thread (thd=0x1d3cb70, >> dummy=0x7f6e08076e48) >> at event.c:1704 >> #5 0x00007f6e1aed20a4 in start_thread () >> from /lib/x86_64-linux-gnu/libpthread.so.0 >> #6 0x00007f6e1aa0362d in clone () from /lib/x86_64-linux-gnu/libc.so.6 >> (gdb) (gdb) quit >> >> Stefan >> >> Am 21.01.2017 um 17:03 schrieb Stefan Eissing: >>> Stefan, >>> >>> made a release at https://github.com/icing/mod_h2/releases/tag/v1.8.9 >>> with all patches and improved (hopefully) on them a bit. If you dare >>> to drop that into your installation, that'd be great. >>> >>> Cheers, >>> >>> Stefan >>> >>>> Am 21.01.2017 um 15:25 schrieb Stefan Priebe : >>>> >>>> and i got another crash here: >>>> >>>> 2346 static void run_cleanups(cleanup_t **cref) >>>> 2347 { >>>> 2348 cleanup_t *c = *cref; >>>> 2349 >>>> 2350 while (c) { >>>> 2351 *cref = c->next; >>>> 2352 (*c->plain_cleanup_fn)((void *)c->data); <== here >>>> 2353 c = *cref; >>>> 2354 >>>> >>>> which looks similar to the other crash. >>>> >>>> #0 0x00007fe4bbd33e1b in run_cleanups (cref=) at >>>> memory/unix/apr_pools.c:2352 >>>> #1 apr_pool_clear (pool=0x7fe4a804dac8) at memory/unix/apr_pools.c:772 >>>> #2 0x00000000004feb38 in ap_push_pool >>>> (queue_info=0x6d616e79642d3733, pool_to_recycle=0x2) at fdqueue.c:234 >>>> #3 0x00000000004fa8d8 in process_lingering_close (cs=0x7fe4a804dd58, >>>> pfd=0x25d3f98) at event.c:1439 >>>> >>>> Details: >>>> (gdb) print c >>>> $1 = (cleanup_t *) 0x7fe4a804e9f0 >>>> (gdb) print *c >>>> $2 = {next = 0x7fe4a804e870, data = 0x6d616e79642d3733, >>>> plain_cleanup_fn = 0x392d3734322e6369, >>>> child_cleanup_fn = 0x617465722e722d35} >>>> (gdb) print *c->data >>>> Attempt to dereference a generic pointer. >>>> (gdb) print *c->plain_cleanup_fn >>>> Cannot access memory at address 0x392d3734322e6369 >>>> (gdb) >>>> >>>> Stefan >>>> >>>> Am 21.01.2017 um 15:18 schrieb Stefan Priebe: >>>>> Hi, >>>>> >>>>> #0 apr_pool_cleanup_kill (p=0x7fe4a8072358, >>>>> data=data@entry=0x7fe4a80723e0, >>>>> cleanup_fn=cleanup_fn@entry=0x7fe4bbd38a40 ) at >>>>> memory/unix/apr_pools.c:2276 >>>>> >>>>> it crashes here in apr: >>>>> 2276 if (c->data == data && c->plain_cleanup_fn == >>>>> cleanup_fn) { >>>>> >>>>> some lines before c becomes this >>>>> 2264 c = p->cleanups; >>>>> >>>>> p is: >>>>> (gdb) print *p >>>>> $1 = {parent = 0x256f138, child = 0x7fe46c0751c8, sibling = >>>>> 0x7fe4a8096888, ref = 0x7fe4a8069fe8, cleanups = 0x7fe478159748, >>>>> free_cleanups = 0x7fe478159788, allocator = 0x7fe4a803b490, >>>>> subprocesses = 0x0, abort_fn = 0x43da00 , >>>>> user_data = 0x0, tag = 0x502285 "transaction", active = >>>>> 0x7fe478158d70, self = 0x7fe4a8072330, >>>>> self_first_avail = 0x7fe4a80723d0 "X#\a\250\344\177", pre_cleanups = >>>>> 0x7fe4a8072ab8} >>>>> >>>>> wouldn't the error mean that p->cleanups is NULL? >>>>> >>>>> (gdb) print *p->cleanups >>>>> $2 = {next = 0x7fe478159628, data = 0x7fe478159648, plain_cleanup_fn = >>>>> 0x7fe4bbd2ffd0 , >>>>> child_cleanup_fn = 0x7fe4bbd2ff70 } >>>>> >>>>> So p->cleanups->data is 0x7fe478159648 and data is 0x7fe4a80723e0? >>>>> >>>>> I don't get why it's segfaulting >>>>> >>>>> Stefan >>>>> Am 21.01.2017 um 09:50 schrieb Yann Ylavic: >>>>>> Hi Stefan, >>>>>> >>>>>> On Sat, Jan 21, 2017 at 9:45 AM, Stefan Priebe >>>>>> >>>>>> wrote: >>>>>>> >>>>>>> after running the whole night. These are the only ones still >>>>>>> happening. >>>>>>> Should i revert the mpm patch to check whether it's the source? >>>>>> >>>>>> Yes please, we need to determine... >>>>>> >>>>>> Thanks, >>>>>> Yann. >>>>>> >>> >>> Stefan Eissing >>> >>> bytes GmbH >>> Hafenstrasse 16 >>> 48155 Münster >>> www.greenbytes.de >>>