This is exactly what I am seeing also. I have seen one other seg fault
(below), but the vast majority are due to a null socket.

#0  0x00fd1402 in __kernel_vsyscall ()
(gdb) bt
#0  0x00fd1402 in __kernel_vsyscall ()
#1  0x0082c61b in poll () from /lib/libc.so.6
#2  0x0014ea09 in apr_poll (aprset=0x992e268, num=2, nsds=0xbf9cc0f4,
timeout=-1) at poll/unix/poll.c:117
#3  0x0809326c in child_main (child_num_arg=103) at peruser.c:1708
#4  0x08094d7a in make_child (s=0x95fa018, slot=103) at peruser.c:2027
#5  0x08094fcb in perform_idle_server_maintenance (p=0x95f80a8) at
peruser.c:2080
#6  0x08096073 in ap_mpm_run (_pconf=0x95f80a8, plog=0x962a170,
s=0x95fa018) at peruser.c:2366
#7  0x08062f36 in main (argc=3, argv=0xbf9cc4c4) at main.c:717


Brock

On Feb 13, 2008 8:21 AM, Lazy <[EMAIL PROTECTED]> wrote:
> 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
>
_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser

Reply via email to