2008/2/12, Brock Noland <[EMAIL PROTECTED]>:
> Greetings,
>
> I hear there are admins using peruser and experiencing seg faults.
> Troubleshooting these is significantly easier if a core file exists.
> However, the current peruser patch does not implement the
> CoreDumpDirectory directive.

400 processors/vhosts over 40 Multiplexers

everything happens just after gracefull

Program terminated with signal 11, Segmentation fault.
#0  apr_socket_addr_get (sa=0x8315014, which=APR_LOCAL, sock=0x0) at
sockaddr.c:196
196             if (sock->local_interface_unknown || sock->local_port_unknown) {
(gdb) bt full
#0  apr_socket_addr_get (sa=0x8315014, which=APR_LOCAL, sock=0x0) at
sockaddr.c:196
No locals.
#1  0x080b74ec in core_create_conn (ptrans=0x8314fc8,
server=0x80ef1f0, csd=0x0, id=263, sbh=0x8315000, alloc=0x8316fd0) at
core.c:4477
        rv = <value optimized out>
        c = (conn_rec *) 0x8315008
#2  0x080abf5a in ap_run_create_connection (p=0x8314fc8,
server=0x80ef1f0, csd=0x0, conn_id=263, sbh=0x8315000,
alloc=0x8316fd0) at connection.c:40
        n = 0
        rv = (conn_rec *) 0x40
#3  0x0809e4fb in child_main (child_num_arg=<value optimized out>) at
peruser.c:993
        lr_walk = <value optimized out>
        ptrans = (apr_pool_t *) 0x8314fc8
        allocator = (apr_allocator_t *) 0x82ffac0
        status = <value optimized out>
        i = <value optimized out>
        lr = <value optimized out>
        curr_pollfd = <value optimized out>
        last_pollfd = 1
        pollset = (apr_pollfd_t *) 0x8313028
        sbh = (ap_sb_handle_t *) 0x8312ff8
        rv = <value optimized out>
        bucket_alloc = (apr_bucket_alloc_t *) 0x8316fd0
        fd = 813
        sock = (apr_socket_t *) 0x0
        pod_sock = (apr_socket_t *) 0x82800b0
#4  0x0809ee4e in make_child (s=<value optimized out>, slot=0) at peruser.c:2069
        pid = <value optimized out>
#5  0x0809f7c1 in ap_mpm_run (_pconf=0x80ea0a8, plog=0x8124190,
s=0x80ef1f0) at peruser.c:2122
        status = 0
        pid = {pid = -1, in = 0x80e4008, out = 0x8124190, err = 0x80e4238}
        child_slot = <value optimized out>
        exitwhy = APR_PROC_EXIT
        processed_status = <value optimized out>
        i = <value optimized out>
        rv = <value optimized out>
        one = 1
#6  0x080a61d3 in main (argc=1920169263, argv=0x636f6c2f) at main.c:636
        c = 0 '\0'
        configtestonly = 0
        confname = 0x80d4706 "conf/httpd.conf"
        def_server_root = 0x80d5377 "/usr/local/apache2_debug"
        temp_error_log = 0x0
        process = (process_rec *) 0x80e8120
        server_conf = (server_rec *) 0x80ef1f0
        pglobal = (apr_pool_t *) 0x80e80a0
        pconf = (apr_pool_t *) 0x80ea0a8
        plog = (apr_pool_t *) 0x8124190
        ptemp = (apr_pool_t *) 0x8146200
        pcommands = (apr_pool_t *) 0x80ec0b0
        opt = (apr_getopt_t *) 0x80ec148
        rv = <value optimized out>
        optarg = 0xb7f10876 "OPENSSL_ia32cap"

log from peruser when I added checking for null socket in process_socket
thiese are all Multiplexers, sometimes after fiew gracefuls apache
gets unresponsive
and leaves these processes behind


[Wed Feb 13 15:05:50 2008] [warn] (peruser: pid=27374 uid=65534
child=0) child_main(): returned from process_socket()
[Wed Feb 13 15:05:50 2008] [warn] (peruser: pid=27374 uid=65534
child=0) child_main(): input available ... resetting socket.
[Wed Feb 13 15:05:50 2008] [warn] (peruser: pid=27374 uid=65534
child=0) child_main(): marked jmpbuffer
[Wed Feb 13 15:05:50 2008] [warn] (peruser: pid=27374 uid=65534
child=0) child_main(): calling process_socket()
[Wed Feb 13 15:05:50 2008] [warn] (peruser: pid=27374 uid=65534
child=0) process_socket(): Creating dummy connection to use the vhost
lookup api
[Wed Feb 13 15:05:50 2008] [warn] (peruser: pid=27374 uid=65534
child=0) process_socket(): process_socket() get null socket
...


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

Reply via email to