httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject [Bug 58502] New: segfault in apr_brigade_cleanup() under high load with slow clients
Date Fri, 16 Oct 2015 20:22:34 GMT
https://bz.apache.org/bugzilla/show_bug.cgi?id=58502

            Bug ID: 58502
           Summary: segfault in apr_brigade_cleanup() under high load with
                    slow clients
           Product: Apache httpd-2
           Version: 2.4.16
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: critical
          Priority: P2
         Component: mpm_worker
          Assignee: bugs@httpd.apache.org
          Reporter: s.tabacchiera@gmail.com

apache 2.2.17 on RHEL 6.3 64bit

SCENARIO: 
Client -> apache/mod_proxy_wstunnel -> tomcat

Under high load (multiple busy threads), with many slow clients (expeciallu
mobile users during roaming, who often go offline), we experience most threads
are waiting for clients to read() from their side, netstat showing a large
Send-Q, when clients abort or apache Timeout expires, httpd core dumps with
segfault.

gdb bt:
#0  0x00007f69ec6abe17 in apr_brigade_cleanup (data=0x7f692646ffb8) at
buckets/apr_brigade.c:44
#1  0x00007f69ec265b1e in run_cleanups (pool=0x7f692646e028) at
memory/unix/apr_pools.c:2352
#2  apr_pool_destroy (pool=0x7f692646e028) at memory/unix/apr_pools.c:814
#3  0x00007f69ec6abe2c in apr_brigade_cleanup (data=0x7f6926489860) at
buckets/apr_brigade.c:44
#4  0x0000000000448dda in ap_core_output_filter (f=0x7f6926489690,
new_bb=0x7f6926489860) at core_filters.c:385
#5  0x0000000000463fa3 in ap_process_request_after_handler (r=<value optimized
out>) at http_request.c:267
#6  0x00000000004645af in ap_process_request (r=0x7f692646e0a0) at
http_request.c:373
#7  0x00000000004608ee in ap_process_http_sync_connection (c=0x7f69264892b8) at
http_core.c:210
#8  ap_process_http_connection (c=0x7f69264892b8) at http_core.c:251
#9  0x0000000000457fc0 in ap_run_process_connection (c=0x7f69264892b8) at
connection.c:41
#10 0x000000000046b468 in process_socket (thd=0x7f69e6963f28, dummy=<value
optimized out>) at worker.c:631
#11 worker_thread (thd=0x7f69e6963f28, dummy=<value optimized out>) at
worker.c:990
#12 0x0000003f3a807a51 in start_thread () from /lib64/libpthread.so.0
#13 0x0000003f3a0e893d in clone () from /lib64/libc.so.6

ENVIRONMENT:
RHEL 6.3 64bit on vmware
Apache 2.4.17 worker, with apr-1.5.2, apr-util-1.5.4, openssl 1.0.1p.

Same issue occurring with 2.4.16, 2.2.31, 2.2.29, with and w/o ssl.
Same issue occurring with event mpm.
Issue NOT OCCURRING with prefork mpm.

It seems a thread-synchronization issue.

HOW TO REPRODUCE:
Just start a number of clients who, after the initial websocket request, read
very slowly. Let the Send-Q fills to ~128KB, with high thread-per-child
concurrency. Then let all clients abort simultaneously, or let the Timeout
expires. Apache child exit with signal (11) and core dumps.

-- 
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


Mime
View raw message