Running a server with multiple jail()'s each using their own vnode
disk image and having
panics from time to time. Each jail() has its own /proc mounted. A
backtrace of the first and
only dump I've got is attached below. The relevant lines of miscfs/
procfs/procfs_status.c
are also attached below.
The kernel is from RELENG_4_10 from early May, but the miscfs/procfs/
procfs_status.c file
hasn't changed since December 2004 in the CVS-repository. I assume
that this makes the
fact of the kernel being somewhat old irrelevant, but please correct
me if I'm wrong. If
considered necessary, I will of course cvsup to the latest RELENG_4
and wait for the next
panic, but I assume that this wouldn't make much of a difference.
kgdb:
<<<EOD
(kgdb) bt
#0 dumpsys () at ../../kern/kern_shutdown.c:487
#1 0xc01635fb in boot (howto=256) at ../../kern/kern_shutdown.c:316
#2 0xc0163a20 in poweroff_wait (junk=0xc02c8cc0, howto=-260919296)
at ../../kern/kern_shutdown.c:595
#3 0xc0255f00 in vm_fault (map=0xc030c1ac, vaddr=4034048000,
fault_type=1 '\001', fault_flags=0)
at ../../vm/vm_fault.c:240
#4 0xc028fd56 in trap_pfault (frame=0xe8f70c88, usermode=0,
eva=4034051500) at ../../i386/i386/trap.c:856
#5 0xc028f993 in trap (frame={tf_fs = 16, tf_es = -386465776, tf_ds
= 16, tf_edi = -386462435, tf_esi = 2686,
tf_ebp = -386462184, tf_isp = -386462540, tf_ebx = -386462401,
tf_edx = 0, tf_ecx = -268145824,
tf_eax = -260916016, tf_trapno = 12, tf_err = 0, tf_eip =
-1072057236, tf_cs = 8, tf_eflags = 66118, tf_esp = 0,
tf_ss = 0}) at ../../i386/i386/trap.c:466
#6 0xc019b46c in procfs_dostatus (curp=0xe8e85be0, p=0xf0046b60,
pfs=0xc641cfc0, uio=0xe8f70ed4)
at ../../miscfs/procfs/procfs_status.c:128
#7 0xc019bb3c in procfs_rw (ap=0xe8f70e64) at ../../miscfs/procfs/
procfs_subr.c:285
#8 0xc01993b4 in vn_read (fp=0xc59a6b80, uio=0xe8f70ed4,
cred=0xc3402900, flags=0, p=0xe8e85be0) at vnode_if.h:334
#9 0xc01725a4 in dofileread (p=0xe8e85be0, fp=0xc59a6b80, fd=6,
buf=0x8075000, nbyte=4096, offset=-1, flags=0)
at ../../sys/file.h:147
#10 0xc017246a in read (p=0xe8e85be0, uap=0xe8f70f80) at ../../kern/
sys_generic.c:117
#11 0xc0290385 in syscall2 (frame={tf_fs = 47, tf_es = 672071727,
tf_ds = -1078001617, tf_edi = -1077938565,
tf_esi = 672135552, tf_ebp = -1077940384, tf_isp = -386461740,
tf_ebx = 672060364, tf_edx = 672004264,
tf_ecx = 134696960, tf_eax = 3, tf_trapno = 7, tf_err = 2,
tf_eip = 672013624, tf_cs = 31, tf_eflags = 663,
tf_esp = -1077940428, tf_ss = 47}) at ../../i386/i386/trap.c:1175
#12 0xc02846a5 in Xint0x80_syscall ()
#13 0x280cfcc2 in ?? ()
#14 0x280c7c18 in ?? ()
#15 0x804947e in ?? ()
#16 0x8048e14 in ?? ()
#17 0x8048b8e in ?? ()
(kgdb)
EOD;
miscfs/procfs/procfs_status.c:
<<< EOD
124> if (p->p_flag & P_INMEM) {
125> struct timeval ut, st;
126>
127> calcru(p, &ut, &st, (struct timeval *) NULL);
128> ps += snprintf(ps, psbuf + sizeof(psbuf) - ps,
129> " %ld,%ld %ld,%ld %ld,%ld",
130> p->p_stats->p_start.tv_sec,
131> p->p_stats->p_start.tv_usec,
132> ut.tv_sec, ut.tv_usec,
133> st.tv_sec, st.tv_usec);
134> } else
EOD;
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"