Skip site navigation (1)Skip section navigation (2)
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>