double fault on 10.3-Stable i386 during installworld

Konstantin Belousov kostikbel at gmail.com
Wed Nov 1 09:26:26 UTC 2017


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.


More information about the freebsd-hackers mailing list