Date: Mon, 23 Jan 2012 20:26:06 +0400 From: Gleb Smirnoff <glebius@FreeBSD.org> To: Andriy Gapon <avg@FreeBSD.org> Cc: current@FreeBSD.org Subject: Re: new panic in cpu_reset() with WITNESS Message-ID: <20120123162606.GO16676@FreeBSD.org> In-Reply-To: <20120123162410.GN16676@glebius.int.ru> References: <20120117110242.GD12760@glebius.int.ru> <20120120154158.GD16676@FreeBSD.org> <4F1ABFF3.9090305@FreeBSD.org> <20120122163539.GF16676@glebius.int.ru> <4F1D18A5.8010006@FreeBSD.org> <20120123130743.GI16676@glebius.int.ru> <4F1D6830.60602@FreeBSD.org> <20120123162410.GN16676@glebius.int.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 23, 2012 at 08:24:10PM +0400, Gleb Smirnoff wrote: T> On Mon, Jan 23, 2012 at 04:01:20PM +0200, Andriy Gapon wrote: T> A> > A> Can you try to change printfs in witness to db_printfs? Perhaps this will allow T> A> > A> to get the details of the LOR in uart_cnputc. Maybe that will reveal some T> A> > A> important additional details. T> A> > T> A> > Should I do s/printf/db_printf/ throughout entire subr_witness.c, or only T> A> > in special places? T> A> T> A> I think that "replace all" should work for this test. T> T> Yes, s/ printf/ db_printf/ in subr_witness.c fixes my problem. Sorry. I was testing wrong kernel. The substitute doesn't help. Panic trace is almost the same: db> bt Tracing pid 1 tid 100001 td 0xfffffe0001d5e000 kdb_enter() at kdb_enter+0x3b panic() at panic+0x1c7 _mtx_lock_spin_flags() at _mtx_lock_spin_flags+0x10f cnputs() at cnputs+0x7a vprintf() at vprintf+0xcb printf() at printf+0x67 db_putc() at db_putc+0x81 kvprintf() at kvprintf+0x83 db_printf() at db_printf+0x86 witness_checkorder() at witness_checkorder+0x773 _mtx_lock_spin_flags() at _mtx_lock_spin_flags+0x99 uart_cnputc() at uart_cnputc+0x3e cnputc() at cnputc+0x4c cnputs() at cnputs+0x26 putchar() at putchar+0x11f kvprintf() at kvprintf+0x83 vprintf() at vprintf+0x85 printf() at printf+0x67 cpu_reset() at cpu_reset+0x81 kern_reboot() at kern_reboot+0x3a5 sys_reboot() at sys_reboot+0x42 amd64_syscall() at amd64_syscall+0x39e Xfast_syscall() at Xfast_syscall+0xf7 --- syscall (55, FreeBSD ELF64, sys_reboot), rip = 0x40ea3c, rsp = 0x7fffffffd6d8, rbp = 0x49 --- db> -- Totus tuus, Glebius.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120123162606.GO16676>