On 22/12/25(Mon) 14:59, Martin Pieuchot wrote:
> "K R" can reproduce a hang on a multiple sockets amd64 that has been
> first reported in a different thread:
>    https://marc.info/?l=openbsd-tech&m=176631121132731&w=2
> 
> The reports seem to always contain a CPU spinning for `tlb_shoot_wait'
> inside pmap_kremove().
> 
> In two these reports, including the one below, instead of a hang, a CPU
> faulted inside Xipi_invlrange_pcid executing the following instruction:
> 
> 00000000000006e0 <Xipi_invlrange_pcid>:
> [...]
>     717:       66 0f 38 82 0c 24       invpcid (%rsp),%rcx
> 
> Any idea?

Here's another report:

The machine hung as usual -- I waited a couple of days but no
protection fault this time.   Forced a NMI to get a ddb prompt.

Thanks,
--Kor

NMI ... going to debugger
Stopped at      __mp_lock+0x72: jmp     __mp_lock+0x60

ddb{0}> show reg
rdi               0xffffffff82a73fc0    kernel_lock
rsi                              0x2
rbp               0xffff800055bbd400
rbx               0xffff800000a46480
rdx                         0x24e6b4    acpi_pdirpa+0x23a525
rcx                         0x24e6b5    acpi_pdirpa+0x23a526
rax               0xffffffff82a1bff0    cpu_info_full_primary+0x1ff0
r8                                 0
r9                                 0
r10                                0
r11                0x2a63abab505df87
r12               0xffff800055bbd460
r13               0xffff800000a46480
r14               0xffffffff82a1bff0    cpu_info_full_primary+0x1ff0
r15                                0
rip               0xffffffff810a9f92    __mp_lock+0x72
cs                               0x8
rflags                         0x297
rsp               0xffff800055bbd3f0
ss                                 0
__mp_lock+0x72: jmp     __mp_lock+0x60

ddb{0}> tr
__mp_lock(ffffffff82a73fc0) at __mp_lock+0x72
intr_handler(ffff800055bbd460,ffff800000a46480) at intr_handler+0x71
Xintr_ioapic_edge16_untramp() at
Xintr_ioapic_edge16_untramp+0x18f_kernel_lock() at _kernel_lock+0xb2
softintr_dispatch(0) at softintr_dispatch+0xeb
dosoftint(0) at dosoftint+0x3f
Xsoftclock() at Xsoftclock+0x27
acpicpu_idle() at acpicpu_idle+0x228
sched_idle(ffffffff82a1bff0) at sched_idle+0x24b
end trace frame: 0x0, count: -9

ddb{0}> ps /o
    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
 305318  98615      0         0x3          0   15  nfdump
 135921  98615      0         0x3  0x4000000    4  nfdump
 487013  72983      0         0x3  0x4000000    1  nfdump
 518264  72983      0         0x3  0x4000000    7  nfdump
  22530  98238      0         0x3  0x4000000    6  nfdump
  96696  98238      0         0x3  0x4000000    3  nfdump
 285208  60544      0     0x14000      0x200    5  softnet0
 490656  92097      0     0x14000      0x200    2K systqmp

ddb{0}> ps
   PID     TID   PPID    UID  S       FLAGS  WAIT          COMMAND
 98615  305318  29768      0  7         0x3                nfdump
 98615  513109  29768      0  3   0x4000083  fsleep        nfdump
 98615   34706  29768      0  3   0x4000003  vmmaplk       nfdump
 98615  473283  29768      0  3   0x4000083  fsleep        nfdump
 98615  144335  29768      0  3   0x4000083  fsleep        nfdump
 98615  408475  29768      0  3   0x4000083  fsleep        nfdump
 98615  453055  29768      0  3   0x4000083  fsleep        nfdump
 98615  135921  29768      0  7   0x4000003                nfdump
 72983  253626  65817      0  3         0x3  vmmaplk       nfdump
 72983  182758  65817      0  3   0x4000083  fsleep        nfdump
 72983  487013  65817      0  7   0x4000003                nfdump
 72983     359  65817      0  3   0x4000083  fsleep        nfdump
 72983   65895  65817      0  3   0x4000083  fsleep        nfdump
 72983  225535  65817      0  3   0x4000083  fsleep        nfdump
 72983  137053  65817      0  3   0x4000083  fsleep        nfdump
 72983  518264  65817      0  7   0x4000003                nfdump
 98238  363429  46986      0  3        0x83  fsleep        nfdump
 98238  264903  46986      0  3   0x4000083  fsleep        nfdump
 98238   22530  46986      0  7   0x4000003                nfdump
 98238  295466  46986      0  3   0x4000083  fsleep        nfdump
 98238    5573  46986      0  3   0x4000083  fsleep        nfdump
 98238  109865  46986      0  3   0x4000083  fsleep        nfdump
 98238  305747  46986      0  3   0x4000083  fsleep        nfdump
 98238   96696  46986      0  7   0x4000003                nfdump
 46986  462433      1      0  3    0x10008b  sigsusp       sh
 29768  215589      1      0  3    0x10008b  sigsusp       sh
 65817   67721      1      0  3    0x10008b  sigsusp       sh
 22709  260287      1      0  3    0x100083  ttyin         getty
 68087  176928      1      0  3    0x100083  ttyin         getty
 93467  113919      1      0  3    0x100083  ttyin         getty
 68961  517132      1      0  3    0x100083  ttyin         getty
 37832  466117      1      0  3    0x100083  ttyin         getty
 93297  248414      1      0  3    0x100083  ttyin         ksh
 19083  458404      1      0  3    0x100098  kqread        cron
 42641  195044      1     99  3   0x1100090  kqread        sndiod
 94202  425435      1    110  3    0x100090  kqread        sndiod
 69510  270817  12416     95  3   0x1100092  kqread        smtpd
 12748  235385  12416    103  3   0x1100092  kqread        smtpd
 35924   38404  12416     95  3   0x1100092  kqread        smtpd
 78550   81862  12416     95  3    0x100092  kqread        smtpd
 25166  478139  12416     95  3   0x1100092  kqread        smtpd
 54294   92515  12416     95  3   0x1100092  kqread        smtpd
 12416  488676      1      0  3    0x100080  kqread        smtpd
 47538  434887      1      0  3        0x88  kqread        sshd
 79798  342483      1      0  3    0x100080  kqread        ntpd
 88803  336519  13546     83  3    0x100092  kqread        ntpd
 13546  452696      1     83  3   0x1100092  kqread        ntpd
 75205  502543  10572     74  3   0x1100092  bpf           pflogd
 10572  395093      1      0  3        0x80  sbwait        pflogd
 13858  200359  92046     73  3   0x1100090  kqread        syslogd
 92046  320237      1      0  3    0x100082  sbwait        syslogd
 51409  288733      1      0  3    0x100080  kqread        resolvd
 21597  336014  98313     77  3    0x100092  kqread        dhcpleased
 23003  330276  98313     77  3    0x100092  kqread        dhcpleased
 98313  217711      1      0  3        0x80  kqread        dhcpleased
 73031  278447  63327    115  3    0x100092  kqread        slaacd
  9758  283338  63327    115  3    0x100092  kqread        slaacd
 63327  435718      1      0  3    0x100080  kqread        slaacd
 95153  439972      0      0  3     0x14200  bored         smr
 52703  157354      0      0  3     0x14200  pgzero        zerothread
 13203  296610      0      0  3     0x14200  aiodoned      aiodoned
 21439  508479      0      0  3     0x14200  syncer        update
 80497  220144      0      0  3     0x14200  cleaner       cleaner
 85694  511787      0      0  3     0x14200  reaper        reaper
 67415  114240      0      0  3     0x14200  pgdaemon      pagedaemon
 77798  448165      0      0  3     0x14200  bored         wsdisplay0
 37050  259221      0      0  3     0x14200  usbtsk        usbtask
 69711  158396      0      0  3     0x14200  usbatsk       usbatsk
 77529  364020      0      0  3  0x40014200  acpi0         acpi0
 71670   81324      0      0  7  0x40014200                idle31
 54355  410074      0      0  7  0x40014200                idle30
 50133  154915      0      0  7  0x40014200                idle29
 69349  216845      0      0  7  0x40014200                idle28
 35847  336739      0      0  7  0x40014200                idle27
 84440  510422      0      0  7  0x40014200                idle26
 53662  343465      0      0  7  0x40014200                idle25
 62443  496534      0      0  7  0x40014200                idle24
 54916  422487      0      0  7  0x40014200                idle23
 72411  246197      0      0  7  0x40014200                idle22
 62845  444995      0      0  7  0x40014200                idle21
 93790  397160      0      0  7  0x40014200                idle20
 49908   70875      0      0  7  0x40014200                idle19
 59858  421658      0      0  7  0x40014200                idle18
 55760  417386      0      0  7  0x40014200                idle17
 97852   91881      0      0  7  0x40014200                idle16
 89403  122784      0      0  3  0x40014200                idle15
 41682  283230      0      0  7  0x40014200                idle14
 90580   40109      0      0  7  0x40014200                idle13
 66933  125104      0      0  7  0x40014200                idle12
 90130  514210      0      0  7  0x40014200                idle11
 24541  233817      0      0  7  0x40014200                idle10
 89558  343110      0      0  7  0x40014200                idle9
 19900  333321      0      0  7  0x40014200                idle8
 87381  326731      0      0  3  0x40014200                idle7
  4757   77875      0      0  3  0x40014200                idle6
 27834   31596      0      0  3  0x40014200                idle5
 36824  261782      0      0  3  0x40014200                idle4
 67533  468294      0      0  3  0x40014200                idle3
 19818  428844      0      0  3  0x40014200                idle2
 11397  331255      0      0  3  0x40014200                idle1
 64538  497188      0      0  2  0x40014200                sensors
 58867   36401      0      0  3     0x14200  bored         softnet7
 67873   36860      0      0  3     0x14200  bored         softnet6
 91799  194444      0      0  3     0x14200  bored         softnet5
 61636  308573      0      0  3     0x14200  bored         softnet4
 82037  454164      0      0  3     0x14200  bored         softnet3
  3192  466309      0      0  3     0x14200  bored         softnet2
 45133  422696      0      0  3     0x14200  bored         softnet1
 60544  285208      0      0  7     0x14200                softnet0
 92097  490656      0      0  7     0x14200                systqmp
 94930  294160      0      0  3     0x14200  bored         systq
  9833  354990      0      0  3     0x14200  tmoslp        softclockmp
  1327  222666      0      0  3  0x40014200  tmoslp        softclock
*32628  328970      0      0  7  0x40014200                idle0
     1   31056      0      0  3        0x82  wait          init
     0       0     -1      0  3     0x10200  scheduler     swapper

ddb{0}> mach cpuinfo
*   0: ddb
    1: stopped
    2: stopped
    3: stopped
    4: stopped
    5: stopped
    6: stopped
    7: stopped
    8: stopped
    9: stopped
   10: stopped
   11: stopped
   12: stopped
   13: stopped
   14: stopped
   15: stopped
   16: stopped
   17: stopped
   18: stopped
   19: stopped
   20: stopped
   21: stopped
   22: stopped
   23: stopped
   24: stopped
   25: stopped
   26: stopped
   27: stopped
   28: stopped
   29: stopped
   30: stopped
   31: stopped

ddb{0}> mach ddb 0t1
Stopped at      x86_ipi_db+0x16:        leave

ddb{1}> tr
x86_ipi_db(ffff8000552baff0) at x86_ipi_db+0x16
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27
pmap_enter(fffffd9c9b5b1e68,f5ccb699000,197a2b8000,3,22) at pmap_enter+0x662
uvm_fault_lower(ffff800055e6ba68,ffff800055e6baa0,ffff800055e6b9e0) at
uvm_fault_lower+0x255
uvm_fault(fffffd9da0e22460,f5ccb699000,0,2) at uvm_fault+0x1c5
upageflttrap(ffff800055e6bbe0,f5ccb699000) at upageflttrap+0x6c
usertrap(ffff800055e6bbe0) at usertrap+0x28b
recall_trap() at recall_trap+0x8
end of kernel
end trace frame: 0xf5d79a1b7b0, count: -9

ddb{1}> mach ddb 0t2
Stopped at      x86_ipi_db+0x16:        leave

ddb{2}> tr
x86_ipi_db(ffff8000552c3ff0) at x86_ipi_db+0x16
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27
pmap_tlb_shootrange(ffffffff82ba4d60,ffff800055d18000,ffff800055d1a000,1)
at pmap_tlb_shootrange+0x2a2
pmap_kremove(ffff800055d18000,2000) at pmap_kremove+0x81
km_free(ffff800055d18000,2000,ffff800055bd4fc0,ffffffff82912e28) at
km_free+0x1c6
pool_multi_free_ni(ffffffff82b61478,ffff800055d18000) at pool_multi_free_ni+0x82
pool_p_free(ffffffff82b61478,fffffda07f7e2a10) at pool_p_free+0x75
pool_gc_pages(0) at pool_gc_pages+0x1d0
taskq_thread(ffffffff82a51248) at taskq_thread+0x129
end trace frame: 0x0, count: -10

ddb{2}> mach ddb 0t3
Stopped at      x86_ipi_db+0x16:        leave

ddb{3}> tr
x86_ipi_db(ffff8000552ccff0) at x86_ipi_db+0x16
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27
pmap_enter(fffffd9c9b5b1cb8,40881c7c000,19773df000,3,22) at pmap_enter+0x662
uvm_fault_lower(ffff800055eece98,ffff800055eeced0,ffff800055eece10) at
uvm_fault_lower+0x255
uvm_fault(fffffd9da0e22e70,40881c7c000,0,2) at uvm_fault+0x1c5
upageflttrap(ffff800055eed010,40881c7c000) at upageflttrap+0x6c
usertrap(ffff800055eed010) at usertrap+0x28b
recall_trap() at recall_trap+0x8
end of kernel
end trace frame: 0x408fb4d17b0, count: -9

ddb{3}> mach ddb 0t4
Stopped at      x86_ipi_db+0x16:        leave

ddb{4}> tr
x86_ipi_db(ffff8000552d5ff0) at x86_ipi_db+0x16
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27
pmap_do_remove(fffffd9d56d6f440,1a9d2568000,1a9d2570000,0) at
pmap_do_remove+0x3d2
uvm_unmap_kill_entry_withlock(fffffd9c9a3dba28,fffffd9c61094998,1) at
uvm_unmap_kill_entry_withlock+0x133
uvm_unmap_remove(fffffd9c9a3dba28,1a9d2568000,1a9d2a68000,ffff800055ef9b60,0,1,1b9fdbf60bd62a88)
at uvm_unmap_remove+0x32f
sys_munmap(ffff800055e737a0,ffff800055ef9c60,ffff800055ef9be0) at
sys_munmap+0x10b
syscall(ffff800055ef9c60) at syscall+0x5f9
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x1a9145d8b90, count: -9

ddb{4}> mach ddb 0t5
Stopped at      x86_ipi_db+0x16:        leave

ddb{5}> tr
x86_ipi_db(ffff8000552deff0) at x86_ipi_db+0x16
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27
_kernel_lock() at _kernel_lock+0xb2
rt_clone(ffff800055bdb418,ffff800055bdb4a8,0) at rt_clone+0x64
rtalloc(ffff800055bdb4a8,1,0) at rtalloc+0x69
in_arpinput(ffff80000192e048,fffffd800441f600) at in_arpinput+0x171
arpintr() at arpintr+0xb7
if_netisr(0) at if_netisr+0xd5
taskq_thread(ffff800000037000) at taskq_thread+0x129
end trace frame: 0x0, count: -10

ddb{5}> mach ddb 0t6
Stopped at      x86_ipi_db+0x16:        leave

ddb{6}> tr
x86_ipi_db(ffff8000552e7ff0) at x86_ipi_db+0x16
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27
pmap_page_remove(fffffd81bbe67b00) at pmap_page_remove+0x342
uvm_anfree(fffffd9c3c9de440) at uvm_anfree+0x61
amap_wipeout(fffffd9c3f45acc0) at amap_wipeout+0x196
uvm_unmap_detach(ffff800055e65880,0) at uvm_unmap_detach+0xbe
sys_munmap(ffff800055d7efc0,ffff800055e65980,ffff800055e65900) at
sys_munmap+0x185
syscall(ffff800055e65980) at syscall+0x5f9
Xsyscall() at Xsyscall+0x128
end of kernel
end trace frame: 0x408ec4521b0, count: -10

ddb{6}> mach ddb 0t7
Stopped at      x86_ipi_db+0x16:        leave

ddb{7}> tr
x86_ipi_db(ffff8000552f0ff0) at x86_ipi_db+0x16
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27
pmap_enter(fffffd9c9b5b1e68,f5d3388f000,197942e000,3,22) at pmap_enter+0x662
uvm_fault_lower(ffff800055ef34b8,ffff800055ef34f0,ffff800055ef3430) at
uvm_fault_lower+0x255
uvm_fault(fffffd9da0e22460,f5d3388f000,0,2) at uvm_fault+0x1c5
upageflttrap(ffff800055ef3630,f5d3388f000) at upageflttrap+0x6c
usertrap(ffff800055ef3630) at usertrap+0x28b
recall_trap() at recall_trap+0x8
end of kernel
end trace frame: 0xf5cab2049d0, count: -9

ddb{7}> mach ddb 0t15
Stopped at      x86_ipi_db+0x16:        leave

ddb{15}> tr
x86_ipi_db(ffff800055338ff0) at x86_ipi_db+0x16
x86_ipi_handler() at x86_ipi_handler+0x80
Xresume_lapic_ipi() at Xresume_lapic_ipi+0x27
_kernel_lock() at _kernel_lock+0xb2
postsig(ffff800055d7d268,b,ffff800055e17210) at postsig+0x3d2
userret(ffff800055d7d268) at userret+0x15d
usertrap(ffff800055e172c0) at usertrap+0x2c8
recall_trap() at recall_trap+0x8
end of kernel
end trace frame: 0x7d1c39d94d80, count: -8

ddb{15}>

[...]


Reply via email to