I have not had a chance to test the
     pte += (idx ^ (PTED_HID(pted) ? pmap_ptab_mask : 0)) * 8;
change yet, because with the improvements Martin Pieuchot has
committed, my machines have been crash-free for many weeks.
(Happily, that means Go builder openbsd-ppc64 was keeping up
and enabled a Go fix for stack split size on openbsd.)

I did finally get a crash, copied below, that prompts me to ask
for help. When I told ddb on the remote serial port to "show uvm",
it stopped responding. Is there anything I can type remotely to
interrupt ddb and reboot? I'm physically distant for a while.



ddb{3}> show panic
*cpu0: kernel diagnostic assertion "UVM_PSEG_INUSE(pseg, id)" failed:
file "/sys/uvm/uvm_pager.c", line 207

ddb{3}> trace
_rb_remove+0x3a4
uvm_pmr_get1page+0x2b0
uvm_pagezero_thread+0x104
proc_trampoline+0x10

ddb{3}> show registers
r0                          0xc5bc44    uvm_pmr_get1page+0x2b4
r1                0xc00000013b405750
r2                         0x1052000    .TOC.
r3                                 0
r4                              0x10
r5                0xc00000000b615000
r6                                 0
r7                                 0
r8                               0x1
r9                0xfe0aaf95a2e48275
r10                       0x82000808
r11                         0xc5bc44    uvm_pmr_get1page+0x2b4
r12                                0
r13                      0x4f308d2b8
r14                                0
r15                                0
r16                                0
r17               0xffffffffffffffff
r18                                0
r19               0xc00000013b4058c0
r20                                0
r21               0xc00000000b614f80
r22                        0x1008f78    uvm_pmr_addr_RBT_INFO
r23                        0x1008f98    uvm_pmr_size_RBT_INFO
r24                              0x1
r25                                0
r26                                0
r27               0xc00000000b615090
r28               0xc00000000b615010
r29               0xc0000000000a1008
r30                        0x1008f98    uvm_pmr_size_RBT_INFO
r31                         0xc5def0    uvm_pagezero_thread
lr                          0xc5bc44    uvm_pmr_get1page+0x2b4
cr                        0x22222808
xer                                0
ctr                         0xb4ee34    tb_get_timecount
iar                         0xb9b998    _rb_remove+0x3a4
msr               0x9000000000009032
dar                             0x18
dsisr                     0x40000000
_rb_remove+0x3a4:       lwz r4,24(r3)

ddb{3}> show proc
PROC (zerothread) tid=92966 pid=31334 tcnt=1 stat=onproc
    flags process=14000 proc=200
    runpri=126, usrpri=126, slppri=127, nice=40
    wchan=0x0, wmesg=, ps_single=0x0 scnt=0 ecnt=0
    forw=0xffffffffffffffff, list=0xc00000013b3f0010,0xc00000013b3f0a60
    process=0xc00000013b40b3d0 user=0xc00000013b401000, vmspace=0x11184a0
    estcpu=36, cpticks=26, pctcpu=5.58, user=0, sys=11130657, intr=42872
ddb{3}> show uvm
...hangs...

Reply via email to