[OpenAFS-devel] Fileserver (from openafs-server-1.6.5-1.el6.x86_64) segmentation
fault
Harald Barth
haba@kth.se
Tue, 13 Aug 2013 11:05:01 +0200 (CEST)
Our fileserver fell over with:
Program terminated with signal 11, Segmentation fault.
#0 0x000000000046e190 in rx_GetCall (tno=21,
cur_service=<value optimized out>, socketp=0x7f0aeb5fddbc)
at ../rx/rx.c:2002
2002 for (queue_Scan(&rx_incomingCallQueue, tcall, ncall, rx_call)) {
gdb on the core gives:
(gdb) where
#0 0x000000000046e190 in rx_GetCall (tno=21,
cur_service=<value optimized out>, socketp=0x7f0aeb5fddbc)
at ../rx/rx.c:2002
#1 0x0000000000473604 in rxi_ServerProc (threadID=21, newcall=0x0,
socketp=0x7f0aeb5fddbc) at ../rx/rx.c:1835
#2 0x000000000044d3b2 in rx_ServerProc (dummy=<value optimized out>)
at ../rx/rx_pthread.c:306
#3 0x000000000044ca26 in server_entry (argp=<value optimized out>)
at ../rx/rx_pthread.c:95
#4 0x00007f0c0c953851 in start_thread () from /lib64/libpthread.so.0
#5 0x00007f0c0bd7811d in clone () from /lib64/libc.so.6
(gdb) p rx_incomingCallQueue
$1 = {prev = 0x7f0b6c0b5310, next = 0x7f0bb408e400}
(gdb) p tcall
$2 = (struct rx_call *) 0x0
(gdb) p ncall
$3 = <value optimized out>
(gdb) p rx_call
No symbol "rx_call" in current context.
(gdb) list
1997 * already executing */
1998 /* One thread will process calls FCFS (to prevent starvation),
1999 * while the other threads may run ahead looking for calls which
2000 * have all their input data available immediately. This helps
2001 * keep threads from blocking, waiting for data from the client. */
2002 for (queue_Scan(&rx_incomingCallQueue, tcall, ncall, rx_call)) {
2003 service = tcall->conn->service;
2004 if (!QuotaOK(service)) {
2005 continue;
2006 }
(gdb)
queue_Scan seems to be a hideous macro. So some assistance
appreciated.
Harald.