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

Reply via email to