Hello,

Next segfault

(gdb) bt full
#0 apr_allocator_alloc (allocator=0x80f426980, size=Variable "size" is not available.
) at memory/unix/apr_pools.c:252
No locals.
#1 0x0000000800a14779 in apr_bucket_alloc (size=8032, list=0x80f527028) at buckets/apr_buckets_alloc.c:148
        memnode = Variable "memnode" is not available.

(gdb) where
#0 apr_allocator_alloc (allocator=0x80f426980, size=Variable "size" is not available.
) at memory/unix/apr_pools.c:252
#1 0x0000000800a14779 in apr_bucket_alloc (size=8032, list=0x80f527028) at buckets/apr_buckets_alloc.c:148 #2 0x0000000800a13411 in apr_brigade_writev (b=0x80f52ea30, flush=0, ctx=0x0, vec=0x7fffffffe440, nvec=4) at buckets/apr_brigade.c:576 #3 0x00000000004446f1 in basic_http_header (r=0x80f52d0a0, bb=0x80f52ea30, protocol=Variable "protocol" is not available.
) at http_filters.c:895
#4 0x0000000000444c39 in ap_http_header_filter (f=0x80f52e680, b=0x80f52e980) at http_filters.c:1263 #5 0x000000000042c17b in ap_content_length_filter (f=0x80f52e658, b=0x80f52e980) at protocol.c:1335 #6 0x00000000004463a4 in ap_byterange_filter (f=0x80f52e630, bb=0x80f52e980) at byterange_filter.c:177 #7 0x000000000042bb57 in ap_read_request (conn=0x80f523298) at protocol.c:1005 #8 0x00000000004410d3 in ap_process_http_connection (c=0x80f523298) at http_core.c:183 #9 0x000000000043d9d2 in ap_run_process_connection (c=0x80f523298) at connection.c:43 #10 0x000000000044ad20 in process_socket (p=0x80f523028, sock=0x80f5230a0, conn_id=11, bucket_alloc=0x80f527028, pool=0x80f521028) at peruser.c:1393 #11 0x000000000044bed8 in child_main (child_num_arg=Variable "child_num_arg" is not available.
) at peruser.c:2242
#12 0x000000000044c6b4 in make_child (s=0x80181a868, slot=11) at peruser.c:2563 #13 0x000000000044cd76 in ap_mpm_run (_pconf=Variable "_pconf" is not available.
) at peruser.c:2681
#14 0x000000000042440a in main (argc=1, argv=0x7fffffffeb98) at main.c:739


Best regards
Michal Kumzak

Dne 20.1.2011 20:10, Michal Kumžák napsal(a):
Hello,

The segfaults are still here and I think is the same I reported  :-(

(gdb) bt full
#0 apr_palloc (pool=0x80f6a1028, in_size=Variable "in_size" is not available.
) at memory/unix/apr_pools.c:252
        active = (apr_memnode_t *) 0x80f6a1000
        node = (apr_memnode_t *) 0x6f
        mem = Variable "mem" is not available.
(gdb) where
#0 apr_palloc (pool=0x80f6a1028, in_size=Variable "in_size" is not available.
) at memory/unix/apr_pools.c:252
#1  0x000000080113aa60 in apr_pstrcat (a=Variable "a" is not available.
) at strings/apr_strings.c:149
#2 0x0000000000449a6b in pass_request (r=0x80f6a10a0, child=0x8005b3138) at peruser.c:1540 #3 0x0000000000449f53 in peruser_post_read (r=0x80f6a10a0) at peruser.c:3577 #4 0x0000000000429a6a in ap_run_post_read_request (r=0x80f6a10a0) at protocol.c:1671 #5 0x000000000042bdce in ap_read_request (conn=0x80f699298) at protocol.c:1011 #6 0x00000000004410d3 in ap_process_http_connection (c=0x80f699298) at http_core.c:183 #7 0x000000000043d9d2 in ap_run_process_connection (c=0x80f699298) at connection.c:43 #8 0x000000000044ad10 in process_socket (p=0x80f699028, sock=0x80f6990a0, conn_id=10, bucket_alloc=0x80f69d028, pool=0x80f697028)
    at peruser.c:1393
#9 0x000000000044bf26 in child_main (child_num_arg=Variable "child_num_arg" is not available.
) at peruser.c:2249
#10 0x000000000044c704 in make_child (s=0x80181a868, slot=10) at peruser.c:2570 #11 0x000000000044cdc3 in ap_mpm_run (_pconf=Variable "_pconf" is not available.
) at peruser.c:2687
#12 0x000000000042440a in main (argc=1, argv=0x7fffffffeb78) at main.c:739
(gdb)

Best regards
Michal Kumzak

Dne 19.1.2011 22:47, Marcelo Coelho napsal(a):
Hello!

Peruser patch (v15) - FreeBSD

Patch from RC2:
http://opensource.mco2.net/download/apache/peruser/peruser-rc2-to-rc3-v15-freebsd.patch

Full patch from vanilla Apache 2.2.17:
http://opensource.mco2.net/download/apache/peruser/peruser-rc3-full-v15-freebsd.patch

Important: this patch works only with FreeBSD because cpu_usage.c uses FreeBSD KVM Library to control CPU use. This patch will not work on Linux (I guess).

There is a new parameter MaxCPUUsage, to control CPU use by each processor. It works like Linux cpulimit utility: if processor CPU use is greater than MaxCPUUsage, sends a SIGSTOP, if lower, sends a SIGCONT.

MaxCPUUsage defaults 0, wich means unlimited.

Changes (from RC2):

* (v15) Feature: /server-status with more details (CPU usage of each processor and each ServerEnvironment).
* (v15) Feature: New configuration MaxCPUUsage
* (v15) Bug fix: some segfaults fixed.
* (v14) Bug fix: multiplexer segfault when passing big requests to processors (URI with ~8192 bytes and big Referer header)
* (v14) Performance: faster idle server maintenance
* (v14) Clean-up: removed .orig files
* (v13) Code more "APR-ized"
* (v13) Bug fix: apachectl graceful works, even under high load.
* (v12) Not released to public
* (v11) Not released to public
* (v10) Bug fixed: fixed some segfaults
* (v10) Bug fixed: work around to a flaw in apr-util (as PR 43857)
* (v9) Not released to public
* (v8) Bug fixed: apachectl graceful now is more stable, like RC2 version * (v8) Bug fixed: fixed some segfaults (thank you Dave Steinberg for sending your core dumps) * (v8) Bug fixed: server dies with infinite loop script, reported by Taavi Sannik
* (v8) Bug fixed: "long lost child" error, reported by Taavi Sannik
* (v8) Performance: update_all_counters() rewritten without malloc() and free() * (v7) Bug fixed: multiplexers now can clone a processor child if all workers are busy. * (v6) Bug fixed: apachectl graceful now working properly, without "long lost child" errors
* (v5) Not released to public
* (v4) Code cleanup
* (v4) Performance: childs are started in ~25ms, 40 times faster than in RC2 (~1000ms) * (v4) Bug fixed: now checking if total_processors is 1 (first access) to start StartProcessors * (v3) Performance: new child type (CHILD_TYPE_RESERVED) to avoid collision (2 childs trying to get the same free slot) * (v3) Bug fixed: fixed a bug in RC2, wait_timeout was always 0, never sleeping to wait for new workers. * (v2) Performance: StartProcessors, new configuration directive to control the number of child processors per vhost at startup * (v2) Performance: childs are started in ~50ms, 20 times faster than in RC2 (~1000ms) * (v1) Performance: faster to lookup for free slots (this is important on busy servers, with many virtual hosts) * (v1) Performance: faster to count processors, one single loop counts all processors * (v1) Bug fixed: bug when MinSpareProcessors is set to 0 (now all workers processes are killed when idle_timeout is reached) * (v1) Bug fixed: Free-up slots when a WORKER or PROCESSOR unexpectedly dies


Regards,

--
Marcelo Coelho
marcelo at mco2.com.br

_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser

_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser
_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser

Reply via email to