Date: Wed, 1 Nov 2017 11:26:19 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Andreas Longwitz <longwitz@incore.de> Cc: freebsd-hackers@freebsd.org Subject: Re: double fault on 10.3-Stable i386 during installworld Message-ID: <20171101092619.GJ2566@kib.kiev.ua> In-Reply-To: <59F910C5.8020709@incore.de> References: <59D11664.1060206@incore.de> <20171001180943.GO95911@kib.kiev.ua> <59F910C5.8020709@incore.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Nov 01, 2017 at 01:09:41AM +0100, Andreas Longwitz wrote: > On the stack we have > > 0xe437faa0: 0x00000000 R7:0xc0bc051c 0x00000020 0x00010007 > > so there is an exception on the instruction "movl PCB_CR3(%edx),%eax" > in function cpu_switch(). The next stack entries indicates a lot of page > faults, but the "double fault" happens not until the page boundary at > 0xe437f000 is reached. I do not really understand this, but it seems to > me that the thread Can you try to recover the %ecx, %edx values for the faulted frame ? Note that %ecx is loaded from the on-stack argument. Do you have latest CPU microcode loaded ? Your machine is very old, I believe this is P4 class processor, am I right ? Sure if pcb access faults, the system is in very broken state and since an attempt to handle the fault causes a new fault for pcb access, it recurses and dies due to the stack overflow.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20171101092619.GJ2566>