We have a similar problem with our server. Apache going down and did not
responding at any connections. Have at log many errors
child pid 18590 exit signal Segmentation fault (11)
The problem have at Multiplexer, after killing this process apache began
working normally. We try do strace on this process
and has only
strace -p 18271
Process 18271 attached - interrupt to quit
poll(
What all. We are try compiling peruser with gcc-4.1 but has same result.
How we can solve this problem? Any idea?
Our server:
2*Xeon(TM) CPU 3.00GHz
System Debian 3.1 sarge
Apache 2.0.55 + peruser0.2.0 + mod_php4.4.2
Alex Timofeyev.
Severn wrote:
I've been poking at it some more... I did make some mistakes in the
config I posted before.
-KeepAlive is now Off
-In the vhost, Processor is now ServerEnvironment (this caused the
senv segfault)
-Typoed the IPs while editing it (though it was right in my actual
config)
It doesn't segfault at the senv enymore.. instead it does this--
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 182919131456 (LWP 22254)]
apr_os_sock_put (sock=0x7fbfffe038, thesock=0x7fbfffe044, cont=0x5bd138)
at sockets.c:383
383 (*sock)->local_port_unknown =
(*sock)->local_interface_unknown = 1;
(gdb) bt full
#0 apr_os_sock_put (sock=0x7fbfffe038, thesock=0x7fbfffe044,
cont=0x5bd138)
at sockets.c:383
No locals.
#1 0x000000000045d41d in child_main (child_num_arg=Variable
"child_num_arg" is not available.
) at peruser.c:1566
ptrans = (apr_pool_t *) 0x6913f8
allocator = (apr_allocator_t *) 0x685230
status = Variable "status" is not available.
(gdb) list
1566 apr_os_sock_put((void*)&pod_sock, &fd, pconf);
1567 listen_add(pconf, pod_sock, check_pipe_of_death);
1568
1569 (peruser_setup_child(my_child_num) &&
clean_child_exit(APEXIT_CHILDFATAL));
1570 ap_run_child_init(pchild, ap_server_conf);
1571
1572 ap_create_sb_handle(&sbh, pchild, my_child_num, 0);
1573 (void) ap_update_child_status(sbh, SERVER_READY,
(request_rec *) NULL);
1574
1575 /* Set up the pollfd array */
(gdb) print pod_sock
No symbol "pod_sock" in current context.
(gdb) list apr_os_sock_put
368 return APR_SUCCESS;
369 }
370
371 apr_status_t apr_os_sock_put(apr_socket_t **sock,
apr_os_sock_t *thesock,
372 apr_pool_t *cont)
373 {
374 /* XXX Bogus assumption that *sock points at anything legit */
375 if ((*sock) == NULL) {
376 alloc_socket(sock, cont);
377 /* XXX IPv6 figure out the family here! */
(gdb) print sock
$1 = (apr_socket_t **) 0x7fbfffe038
(gdb) print *sock
$2 = (apr_socket_t *) 0x14
(gdb) print **sock
Cannot access memory at address 0x14
--
If I enable MPM_PERUSER_DEBUG however, *sock is 0x0 and everything
seems to work fine... (how the heck does turning on debug affect
pointers?)
-Severn
On 4/2/06, *Stefan Seufert* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
wrote:
I've been able to attach a debugger and thus have been able to locate
the cause of the crash:
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1208174912 (LWP 11331)]
> 0x0809cffa in peruser_post_read (r=0x8bc9c30) at peruser.c:2566
> 2566 processor =
&CHILD_INFO_TABLE[sconf->senv->processor_id];
> (gdb) bt full
> #0 0x0809cffa in peruser_post_read (r=0x8bc9c30) at peruser.c:2566
> sconf = (peruser_server_conf *) 0x8bb9628
> processor = Variable "processor" is not available.
> (gdb) list
> 2566 processor =
&CHILD_INFO_TABLE[sconf->senv->processor_id];
> 2567 else
> 2568 processor = &CHILD_INFO_TABLE[r->connection->id];
> 2569
> 2570
> 2571 if (!strlen(r->the_request))
> 2572 {
> 2573 _DBG("corrupt request. aborting",0);
> 2574 return DECLINED;
> 2575 }
> (gdb) print sconf
> $1 = (peruser_server_conf *) 0x8bb9628
> (gdb) print sconf->senv
> $2 = (server_env_t *) 0x0
> (gdb)
It looks like sconf->senv isn't set. The ->processor_id access then
causes the segfault. So the next question is: Why is it empty? Maybe
just a configuration problem we haven't covered? Sean, any ideas?
Stefan
_______________________________________________
Peruser mailing list
[email protected] <mailto:[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