Hello

This is next Segfault:

(gdb) bt full
#0 apr_palloc (pool=0x80f660028, in_size=Variable "in_size" is not available.
) at memory/unix/apr_pools.c:252
        active = (apr_memnode_t *) 0x80f660000
        node = (apr_memnode_t *) 0x80000006d
        mem = Variable "mem" is not available.
(gdb) where
#0 apr_palloc (pool=0x80f660028, in_size=Variable "in_size" is not available.
) at memory/unix/apr_pools.c:252
#1 0x000000080090ad95 in apr_brigade_pflatten (bb=0x80f661f78, c=0x7fffffffe658, len=0x7fffffffe648, pool=0x80f660028) at buckets/apr_brigade.c:292 #2 0x000000000044965f in pass_request (r=0x80f6600a0, child=0x8005b2098) at peruser.c:1475 #3 0x0000000000449ba3 in peruser_post_read (r=0x80f6600a0) at peruser.c:3458 #4 0x000000000042989a in ap_run_post_read_request (r=0x80f6600a0) at protocol.c:1671 #5 0x000000000042bbfe in ap_read_request (conn=0x80f65a298) at protocol.c:1011 #6 0x0000000000440f03 in ap_process_http_connection (c=0x80f65a298) at http_core.c:183 #7 0x000000000043d802 in ap_run_process_connection (c=0x80f65a298) at connection.c:43 #8 0x000000000044a8b4 in process_socket (p=0x80f65a028, sock=0x80f65a0a0, conn_id=4, bucket_alloc=0x80f65e028, pool=0x80f658028) at peruser.c:1363 #9 0x000000000044ba7b in child_main (child_num_arg=Variable "child_num_arg" is not available.
) at peruser.c:2216
#10 0x000000000044c245 in make_child (s=0x80161a868, slot=4) at peruser.c:2534 #11 0x000000000044c812 in ap_mpm_run (_pconf=Variable "_pconf" is not available.
) at peruser.c:2651
#12 0x000000000042423a in main (argc=1, argv=0x7fffffffebc0) at main.c:739
(gdb)

Best regards
Michal Kumzak

Dne 18.1.2011 9:01, Michal Kumžák napsal(a):
Hello

Yesterday a have installed new patch v14 and there is some errors after rotate logs:

[Tue Jan 18 00:00:03 2011] [notice] Digest: generating secret for digest authentication ...
[Tue Jan 18 00:00:03 2011] [notice] Digest: done
[Tue Jan 18 00:00:03 2011] [notice] Apache/2.2.17 (FreeBSD) DAV/2 PHP/5.3.5 with Suhosin-Patch configured -- resuming normal operations [Tue Jan 18 00:00:03 2011] [notice] child pid 85694 exit signal Segmentation fault (11), possible coredump in /tmp [Tue Jan 18 00:00:03 2011] [notice] child pid 85636 exit signal Segmentation fault (11), possible coredump in /tmp [Tue Jan 18 00:00:03 2011] [notice] child pid 85634 exit signal Segmentation fault (11), possible coredump in /tmp
[Tue Jan 18 02:29:18 2011] [warn] long lost child came home! (pid 33039)
[Tue Jan 18 04:03:02 2011] [warn] long lost child came home! (pid 39372)
[Tue Jan 18 04:04:51 2011] [warn] long lost child came home! (pid 39555)
[Tue Jan 18 04:09:35 2011] [warn] long lost child came home! (pid 39832)
[Tue Jan 18 04:44:16 2011] [warn] long lost child came home! (pid 42023)
[Tue Jan 18 06:51:28 2011] [warn] long lost child came home! (pid 50234)
[Tue Jan 18 07:17:30 2011] [warn] long lost child came home! (pid 52110)
[Tue Jan 18 07:55:55 2011] [warn] long lost child came home! (pid 54474)
[Tue Jan 18 07:59:01 2011] [warn] long lost child came home! (pid 54667)
[Tue Jan 18 08:14:08 2011] [warn] long lost child came home! (pid 55788)


Backtrace of Segfault:

(gdb) bt full
#0 apr_allocator_destroy (allocator=0x80f422980) at memory/unix/apr_pools.c:133
        node = (apr_memnode_t *) 0x6d
#1 0x000000000044be9d in child_main (child_num_arg=Variable "child_num_arg" is not available.
) at peruser.c:567
        ptrans = (apr_pool_t *) 0x80f4e8028
        allocator = (apr_allocator_t *) 0x80f422980
        status = 0
        i = Variable "i" is not available.
(gdb) where
#0 apr_allocator_destroy (allocator=0x80f422980) at memory/unix/apr_pools.c:133 #1 0x000000000044be9d in child_main (child_num_arg=Variable "child_num_arg" is not available.
) at peruser.c:567
#2 0x000000000044c245 in make_child (s=0x80161a868, slot=9) at peruser.c:2534 #3 0x000000000044c812 in ap_mpm_run (_pconf=Variable "_pconf" is not available.
) at peruser.c:2651
#4 0x000000000042423a in main (argc=1, argv=0x7fffffffeb88) at main.c:739
(gdb)

My peruser configuration:

## Fork limits
ServerLimit             1000
MaxClients              1000
MaxRequestsPerChild     500

## Timeouts
# kill idle processors after this many seconds (0 to disable)
IdleTimeout             10
# kill hung processes after this many seconds (0 to disable)
ExpireTimeout           180

## Multiplexer pool
MinMultiplexers         4
MaxMultiplexers         20
MultiplexerIdleTimeout  10

## Processor defaults
MinProcessors           0
MaxProcessors           50
MinSpareProcessors      0
MaxSpareProcessors      10
#StartProcessors                1
ProcessorWaitTimeout    5 10
KeepAlive               Off

#Multiplexer www www
#Multiplexer www www
#Multiplexer www www
#Multiplexer www www

My vhost configuration for serverenvironment:

<Processor u5000>
    User u5000
    Group u5000
    MinProcessors 0
    MaxProcessors 100
</Processor>

My configuration for rotate logs in /etc/newsyslog.conf

/var/log/httpd-*.log 640 7 * $D0 JBG /var/run/httpd.pid 30 /home/*/logs/*_log 640 30 * $D0 JBG /var/run/httpd.pid 30

I hope this helps you to find bugs.


Best regards
Michal Kumzak


Dne 13.1.2011 22:32, Marcelo Coelho napsal(a):
Hi!

Peruser patch (v14)

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

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

Changes (from RC2):

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