Bug 267225 - Panic in pcpu
Summary: Panic in pcpu
Status: Closed DUPLICATE of bug 266108
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 13.1-RELEASE
Hardware: riscv Any
: --- Affects Many People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords: crash, needs-qa
Depends on:
Blocks:
 
Reported: 2022-10-20 11:02 UTC by Meng Zhuo
Modified: 2023-02-22 19:07 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Meng Zhuo 2022-10-20 11:02:36 UTC
Panic with unknown reason.
kgdb
#0  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
#1  sched_switch (td=0xffffffc0009976e0 <thread0_st>, flags=<optimized out>) at /usr/src/sys/kern/sched_ule.c:2245
#2  0xffffffc000359934 in mi_switch (flags=260) at /usr/src/sys/kern/kern_synch.c:544
#3  0xffffffc0003a27e6 in sleepq_switch (wchan=<optimized out>, pri=<optimized out>) at /usr/src/sys/kern/subr_sleepqueue.c:608
#4  0xffffffc0003a2e82 in sleepq_timedwait (wchan=<unavailable>, pri=<unavailable>) at /usr/src/sys/kern/subr_sleepqueue.c:690
#5  0xffffffc000358f38 in _sleep (ident=0xffffffc0009971a0 <proc0>, lock=0x0, priority=84, wmesg=0xffffffc000669a35 "swapin", sbt=42949670000, pr=0, flags=256) at /usr/src/sys/kern/kern_synch.c:220
#6  0xffffffc0005c13b4 in swapper () at /usr/src/sys/vm/vm_swapout.c:755
#7  0xffffffc0002de920 in mi_startup () at /usr/src/sys/kern/init_main.c:344
#8  0xffffffc0000001be in va () at /usr/src/sys/riscv/riscv/locore.S:261
Comment 1 Dmitri Goutnik freebsd_committer freebsd_triage 2022-10-20 11:40:16 UTC
To add some context, this is happening on the freebsd-riscv64-unmatched (SiFive HiFive Unmatched RISC-V board. 16 GB RAM. FreeBSD 13.1-RELEASE, [1]) builder that is used for testing of the upcoming freebsd/riscv64 Go port.

[1] https://farmer.golang.org/builders#host-freebsd-riscv64-unmatched
Comment 2 Mitchell Horne freebsd_committer freebsd_triage 2022-10-20 15:22:00 UTC
Hello,

I strongly suspect you have grabbed the wrong backtrace. The backtrace should contain entries for the exception handler and panic-handling code, e.g. an entry for vpanic().

When examining a crash dump, kgdb creates one thread for each running CPU. The command "info threads" will show the list, and you can use the "thread" command to switch to another thread's context.

Does the panic occur during boot-time or runtime? If you can provide the exact panic message from the kernel log, e.g. "panic: Fatal page fault at...", that would be helpful.
Comment 3 Meng Zhuo 2022-10-23 07:44:05 UTC
(In reply to Mitchell Horne from comment #2)

It happened on runtime.
I can only find "Fatal" in daemon.log

```
savecore[722]: reboot after panic: Fatal page fault at 0xffffffc0005df184: 0xffffffcf80000318
```

Nothing in the dmesg.log or debug.log

more kgdb info
```                                                                                                                                                                                         Unread portion of the kernel message buffer:                                                                                                                                                t[0] == 0xffffffc0009d2818
t[1] == 0xffffffc0009da940
t[2] == 0xffffffc214f96640
t[3] == 0xffffffc000347a04
t[4] == 0x0000000000000001
t[5] == 0xffffffd202b7e2e8
t[6] == 0x0000000000000036                                                                                                                                                                  s[0] == 0xffffffc214f96aa0                                                                                                                                                                  s[1] == 0xfffffffffffffffe
s[2] == 0x000000003ccb3001
s[3] == 0x0000000000000001
s[4] == 0xffffffd00ae66c50
s[5] == 0xffffffd21a247000
s[6] == 0x0000000000000ff8
s[7] == 0x0000000000000000
s[8] == 0x00fffffffffff000
s[9] == 0x0000000000000001
s[10] == 0xffffffd0732ccff8
s[11] == 0x0000000000000000
a[0] == 0x0000000000000000
a[1] == 0x0000000000000084
a[2] == 0x00000000000000ff
a[3] == 0x0000000000000000
a[4] == 0x0000000000000021
a[5] == 0x0000000000000021
a[6] == 0xffffffc0009daaa0
a[7] == 0x0000000000000000
ra == 0xffffffc0005df220
sp == 0xffffffc214f969c0
gp == 0x0000000000000001
tp == 0xffffffd202b7e2e8
sepc == 0xffffffc0005df25c
sstatus == 0x0000000200000120
panic: Fatal page fault at 0xffffffc0005df25c: 0x00000000000030
cpuid = 1
time = 1666311525
KDB: stack backtrace:
#0 0xffffffc00039447e at kdb_backtrace+0x56
#1 0xffffffc00034d208 at vpanic+0x154
#2 0xffffffc00034d0b0 at panic+0x2a
#3 0xffffffc0005e3e5a at page_fault_handler+0x1ee
#4 0xffffffc0005e39b6 at do_trap_supervisor+0x5a
#5 0xffffffc0005d4fd0 at cpu_exception_handler_supervisor+0x70
#6 0xffffffc00059ed4e at vmspace_exit+0xdc
#7 0xffffffc000305b3a at exit1+0x6a6
#8 0xffffffc000305490 at sys_sys_exit+0x10
#9 0xffffffc0005e4038 at do_trap_user+0x1da
#10 0xffffffc0005d50a2 at cpu_exception_handler_user+0x72
Uptime: 41m32s
Dumping 780 out of 16354 MB:..1%..11%..21%
```

```
(kgdb) x/16 0xffffffc0005df184
0xffffffc0005df184 <pmap_remove_pages+320>:     867715  1183139329      10918323        -408301
0xffffffc0005df194 <pmap_remove_pages+336>:     269350547       -960656151      -657879886      815236390
0xffffffc0005df1a4 <pmap_remove_pages+352>:     -2132279297     360536544       24446395        -2051848607
0xffffffc0005df1b4 <pmap_remove_pages+368>:     906166981       179566596       -1241317194     -2049833974
```

```
info threads

  Id   Target Id                                          Frame
  1    Thread 100000 (PID=0: kernel/swapper)              get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  2    Thread 100007 (PID=0: kernel/softirq_0)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  3    Thread 100008 (PID=0: kernel/softirq_1)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  4    Thread 100009 (PID=0: kernel/softirq_2)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  5    Thread 100010 (PID=0: kernel/softirq_3)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  6    Thread 100011 (PID=0: kernel/inm_free taskq)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  7    Thread 100014 (PID=0: kernel/thread taskq)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  8    Thread 100016 (PID=0: kernel/in6m_free taskq)      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  9    Thread 100017 (PID=0: kernel/kqueue_ctx taskq)     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  10   Thread 100018 (PID=0: kernel/aiod_kick taskq)      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  11   Thread 100025 (PID=0: kernel/firmware taskq)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  12   Thread 100029 (PID=0: kernel/crypto_0)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  13   Thread 100030 (PID=0: kernel/crypto_1)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  14   Thread 100031 (PID=0: kernel/crypto_2)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  15   Thread 100032 (PID=0: kernel/crypto_3)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  16   Thread 100048 (PID=0: kernel/nvme taskq_0)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  17   Thread 100049 (PID=0: kernel/nvme taskq_1)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  18   Thread 100050 (PID=0: kernel/system_taskq_0)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  19   Thread 100051 (PID=0: kernel/system_taskq_1)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  20   Thread 100052 (PID=0: kernel/system_taskq_2)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  21   Thread 100053 (PID=0: kernel/system_taskq_3)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  22   Thread 100054 (PID=0: kernel/system_delay_taskq_)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  23   Thread 100055 (PID=0: kernel/system_delay_taskq_)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  24   Thread 100056 (PID=0: kernel/system_delay_taskq_)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  25   Thread 100057 (PID=0: kernel/system_delay_taskq_)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  26   Thread 100058 (PID=0: kernel/arc_prune)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  27   Thread 100083 (PID=0: kernel/CAM taskq)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  28   Thread 100099 (PID=0: kernel/z_null_iss)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  29   Thread 100100 (PID=0: kernel/z_null_int)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  30   Thread 100101 (PID=0: kernel/z_rd_iss_0)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  31   Thread 100102 (PID=0: kernel/z_rd_iss_1)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  32   Thread 100103 (PID=0: kernel/z_rd_iss_2)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  33   Thread 100104 (PID=0: kernel/z_rd_iss_3)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  34   Thread 100105 (PID=0: kernel/z_rd_iss_4)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  35   Thread 100106 (PID=0: kernel/z_rd_iss_5)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  36   Thread 100107 (PID=0: kernel/z_rd_iss_6)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  37   Thread 100108 (PID=0: kernel/z_rd_iss_7)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  38   Thread 100109 (PID=0: kernel/z_rd_int_0)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  39   Thread 100110 (PID=0: kernel/z_rd_int_1)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  40   Thread 100111 (PID=0: kernel/z_rd_int_2)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  41   Thread 100112 (PID=0: kernel/z_wr_iss_0)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  42   Thread 100113 (PID=0: kernel/z_wr_iss_1)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  43   Thread 100114 (PID=0: kernel/z_wr_iss_2)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  44   Thread 100115 (PID=0: kernel/z_wr_iss_h_0)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  45   Thread 100116 (PID=0: kernel/z_wr_iss_h_1)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  46   Thread 100117 (PID=0: kernel/z_wr_iss_h_2)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  47   Thread 100118 (PID=0: kernel/z_wr_iss_h_3)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  48   Thread 100119 (PID=0: kernel/z_wr_iss_h_4)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  49   Thread 100120 (PID=0: kernel/z_wr_int_0)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  50   Thread 100121 (PID=0: kernel/z_wr_int_1)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  51   Thread 100122 (PID=0: kernel/z_wr_int_2)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  52   Thread 100123 (PID=0: kernel/z_wr_int_h_0)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  53   Thread 100124 (PID=0: kernel/z_wr_int_h_1)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  54   Thread 100125 (PID=0: kernel/z_wr_int_h_2)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  55   Thread 100126 (PID=0: kernel/z_wr_int_h_3)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  56   Thread 100127 (PID=0: kernel/z_wr_int_h_4)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  57   Thread 100128 (PID=0: kernel/z_fr_iss_0)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  58   Thread 100129 (PID=0: kernel/z_fr_iss_1)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  59   Thread 100130 (PID=0: kernel/z_fr_iss_2)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  60   Thread 100131 (PID=0: kernel/z_fr_int)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  61   Thread 100132 (PID=0: kernel/z_cl_iss)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  62   Thread 100133 (PID=0: kernel/z_cl_int)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  63   Thread 100134 (PID=0: kernel/z_ioctl_iss)          get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  64   Thread 100135 (PID=0: kernel/z_ioctl_int)          get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  65   Thread 100136 (PID=0: kernel/z_trim_iss_0)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  66   Thread 100137 (PID=0: kernel/z_trim_iss_1)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  67   Thread 100138 (PID=0: kernel/z_trim_iss_2)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  68   Thread 100139 (PID=0: kernel/z_trim_iss_3)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  69   Thread 100140 (PID=0: kernel/z_trim_int)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  70   Thread 100002 (PID=1: init)                        get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  71   Thread 100033 (PID=2: crypto)                      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  72   Thread 100034 (PID=2: crypto/crypto returns 0)     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  73   Thread 100035 (PID=2: crypto/crypto returns 1)     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  74   Thread 100036 (PID=2: crypto/crypto returns 2)     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  75   Thread 100037 (PID=2: crypto/crypto returns 3)     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  76   Thread 100038 (PID=3: cam/doneq0)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  77   Thread 100084 (PID=3: cam/scanner)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  78   Thread 100059 (PID=4: zfskern/arc_evict)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  79   Thread 100060 (PID=4: zfskern/arc_reap)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  80   Thread 100061 (PID=4: zfskern/dbu_evict)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  81   Thread 100062 (PID=4: zfskern/dbuf_evict_thread)   get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  82   Thread 100063 (PID=4: zfskern/z_vdev_file_0)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  83   Thread 100064 (PID=4: zfskern/z_vdev_file_1)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  84   Thread 100065 (PID=4: zfskern/z_vdev_file_2)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  85   Thread 100066 (PID=4: zfskern/z_vdev_file_3)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  86   Thread 100067 (PID=4: zfskern/z_vdev_file_4)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  87   Thread 100068 (PID=4: zfskern/z_vdev_file_5)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  88   Thread 100069 (PID=4: zfskern/z_vdev_file_6)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  89   Thread 100070 (PID=4: zfskern/z_vdev_file_7)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  90   Thread 100071 (PID=4: zfskern/z_vdev_file_8)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  91   Thread 100072 (PID=4: zfskern/z_vdev_file_9)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  92   Thread 100073 (PID=4: zfskern/z_vdev_file_10)      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  93   Thread 100074 (PID=4: zfskern/z_vdev_file_11)      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  94   Thread 100075 (PID=4: zfskern/z_vdev_file_12)      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  95   Thread 100076 (PID=4: zfskern/z_vdev_file_13)      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  96   Thread 100077 (PID=4: zfskern/z_vdev_file_14)      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  97   Thread 100078 (PID=4: zfskern/z_vdev_file_15)      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  98   Thread 100079 (PID=4: zfskern/l2arc_feed_thread)   get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  99   Thread 100080 (PID=4: zfskern/zfsvfs)              get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  100  Thread 100081 (PID=4: zfskern/sysevent)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  101  Thread 100141 (PID=4: zfskern/z_zvol)              get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  102  Thread 100142 (PID=4: zfskern/z_prefetch_0)        get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  103  Thread 100143 (PID=4: zfskern/z_prefetch_1)        get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  104  Thread 100144 (PID=4: zfskern/z_prefetch_2)        get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  105  Thread 100145 (PID=4: zfskern/z_prefetch_3)        get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  106  Thread 100146 (PID=4: zfskern/z_upgrade_0)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  107  Thread 100147 (PID=4: zfskern/z_upgrade_1)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  108  Thread 100148 (PID=4: zfskern/z_upgrade_2)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  109  Thread 100149 (PID=4: zfskern/z_upgrade_3)         get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  110  Thread 100152 (PID=4: zfskern/dp_sync_taskq_0)     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  111  Thread 100153 (PID=4: zfskern/dp_sync_taskq_1)     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  112  Thread 100154 (PID=4: zfskern/dp_sync_taskq_2)     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  113  Thread 100155 (PID=4: zfskern/dp_zil_clean_taskq_) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  114  Thread 100156 (PID=4: zfskern/dp_zil_clean_taskq_) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  115  Thread 100157 (PID=4: zfskern/dp_zil_clean_taskq_) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  116  Thread 100158 (PID=4: zfskern/dp_zil_clean_taskq_) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  117  Thread 100159 (PID=4: zfskern/z_zrele_0)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  118  Thread 100160 (PID=4: zfskern/z_zrele_1)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  119  Thread 100161 (PID=4: zfskern/z_zrele_2)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  120  Thread 100162 (PID=4: zfskern/z_zrele_3)           get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  121  Thread 100163 (PID=4: zfskern/z_unlinked_drain_0)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  122  Thread 100164 (PID=4: zfskern/z_unlinked_drain_1)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  123  Thread 100165 (PID=4: zfskern/z_unlinked_drain_2)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  124  Thread 100166 (PID=4: zfskern/z_unlinked_drain_3)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  125  Thread 100170 (PID=4: zfskern/metaslab_group_task) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  126  Thread 100171 (PID=4: zfskern/metaslab_group_task) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  127  Thread 100172 (PID=4: zfskern/metaslab_group_task) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  128  Thread 100173 (PID=4: zfskern/metaslab_group_task) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  129  Thread 100186 (PID=4: zfskern/txg_thread_enter)    get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  130  Thread 100187 (PID=4: zfskern/txg_thread_enter)    get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  131  Thread 100188 (PID=4: zfskern/mmp_thread_enter)    get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  132  Thread 100189 (PID=4: zfskern/z_indirect_condense) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  133  Thread 100190 (PID=4: zfskern/z_livelist_destroy)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  134  Thread 100191 (PID=4: zfskern/z_livelist_condense) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  135  Thread 100192 (PID=4: zfskern/z_checkpoint_discar) get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  136  Thread 100082 (PID=5: rand_harvestq)               get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  137  Thread 100085 (PID=6: pagedaemon/dom0)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  138  Thread 100097 (PID=6: pagedaemon/laundry: dom0)    get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  139  Thread 100098 (PID=6: pagedaemon/uma)              get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  140  Thread 100086 (PID=7: vmdaemon)                    get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  141  Thread 100087 (PID=8: bufdaemon)                   get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  142  Thread 100090 (PID=8: bufdaemon/bufspacedaemon-0)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  143  Thread 100091 (PID=8: bufdaemon/bufspacedaemon-1)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  144  Thread 100092 (PID=8: bufdaemon/bufspacedaemon-2)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  145  Thread 100093 (PID=8: bufdaemon/bufspacedaemon-3)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  146  Thread 100094 (PID=8: bufdaemon/bufspacedaemon-4)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  147  Thread 100095 (PID=8: bufdaemon/bufspacedaemon-5)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  148  Thread 100096 (PID=8: bufdaemon/bufspacedaemon-6)  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  149  Thread 100088 (PID=9: vnlru)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  150  Thread 100001 (PID=10: audit)                      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  151  Thread 100003 (PID=11: idle/idle: cpu0)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  152  Thread 100004 (PID=11: idle/idle: cpu1)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  153  Thread 100005 (PID=11: idle/idle: cpu2)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  154  Thread 100006 (PID=11: idle/idle: cpu3)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  155  Thread 100012 (PID=12: intr/swi6: task queue)      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  156  Thread 100013 (PID=12: intr/swi6: Giant taskq)     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  157  Thread 100015 (PID=12: intr/swi5: fast taskq)      fork_trampoline () at /usr/src/sys/riscv/riscv/swtch.S:382
  158  Thread 100019 (PID=12: intr/swi4: clock (0))       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  159  Thread 100020 (PID=12: intr/swi4: clock (1))       fork_trampoline () at /usr/src/sys/riscv/riscv/swtch.S:382
  160  Thread 100021 (PID=12: intr/swi4: clock (2))       fork_trampoline () at /usr/src/sys/riscv/riscv/swtch.S:382
  161  Thread 100022 (PID=12: intr/swi4: clock (3))       fork_trampoline () at /usr/src/sys/riscv/riscv/swtch.S:382
  162  Thread 100023 (PID=12: intr/swi3: vm)              fork_trampoline () at /usr/src/sys/riscv/riscv/swtch.S:382
  163  Thread 100024 (PID=12: intr/swi1: netisr 0)        get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  164  Thread 100039 (PID=12: intr/swi0: uart uart)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  165  Thread 100040 (PID=12: intr/plic0,55: cgem0)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  166  Thread 100041 (PID=12: intr/plic0,59: xhci0)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  167  Thread 100047 (PID=12: intr/plic0,57: nvme0)       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  168  Thread 100026 (PID=13: geom/g_event)               get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  169  Thread 100027 (PID=13: geom/g_up)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  170  Thread 100028 (PID=13: geom/g_down)                get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  171  Thread 100042 (PID=14: usb/usbus0)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  172  Thread 100043 (PID=14: usb/usbus0)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  173  Thread 100044 (PID=14: usb/usbus0)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  174  Thread 100045 (PID=14: usb/usbus0)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  175  Thread 100046 (PID=14: usb/usbus0)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  176  Thread 100089 (PID=15: syncer)                     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  177  Thread 100220 (PID=423: dhclient)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  178  Thread 100200 (PID=426: dhclient)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  179  Thread 100218 (PID=487: dhclient)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  180  Thread 100199 (PID=488: devd)                      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  181  Thread 100230 (PID=690: syslogd)                   get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  182  Thread 100223 (PID=798: daemon)                    get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  183  Thread 100197 (PID=799: buildlet)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  184  Thread 100258 (PID=799: buildlet)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  185  Thread 100259 (PID=799: buildlet)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  186  Thread 100260 (PID=799: buildlet)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  187  Thread 100261 (PID=799: buildlet)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  188  Thread 100262 (PID=799: buildlet)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  189  Thread 100263 (PID=799: buildlet)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  190  Thread 100264 (PID=799: buildlet)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  191  Thread 100232 (PID=803: ntpd)                      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  192  Thread 100201 (PID=804: ntpd)                      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  193  Thread 100214 (PID=807: ntpd)                      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  194  Thread 100216 (PID=819: daemon)                    get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  195  Thread 100231 (PID=820: node_exporter)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  196  Thread 100266 (PID=820: node_exporter)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  197  Thread 100267 (PID=820: node_exporter)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  198  Thread 100268 (PID=820: node_exporter)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  199  Thread 100269 (PID=820: node_exporter)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  200  Thread 100270 (PID=820: node_exporter)             get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  201  Thread 100202 (PID=869: sshd)                      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  202  Thread 100194 (PID=873: cron)                      get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  203  Thread 100193 (PID=888: getty)                     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  204  Thread 120100 (PID=5338: packages.test)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  205  Thread 120118 (PID=5338: packages.test)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  206  Thread 120119 (PID=5338: packages.test)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  207  Thread 120120 (PID=5338: packages.test)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  208  Thread 120121 (PID=5338: packages.test)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  209  Thread 120122 (PID=5338: packages.test)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  210  Thread 120172 (PID=5338: packages.test)            atomic_set_64 (p=<optimized out>, val=<optimized out>) at /usr/src/sys/riscv/include/atomic.h:322
  211  Thread 120406 (PID=5338: packages.test)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  212  Thread 120450 (PID=5338: packages.test)            atomic_set_64 (p=<optimized out>, val=<optimized out>) at /usr/src/sys/riscv/include/atomic.h:322
  213  Thread 120575 (PID=5338: packages.test)            get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  214  Thread 121633 (PID=5769: ssa.test)                 atomic_set_64 (p=<optimized out>, val=<optimized out>) at /usr/src/sys/riscv/include/atomic.h:322
  215  Thread 121683 (PID=5769: ssa.test)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  216  Thread 121684 (PID=5769: ssa.test)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  217  Thread 121685 (PID=5769: ssa.test)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  218  Thread 121686 (PID=5769: ssa.test)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  219  Thread 121687 (PID=5769: ssa.test)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  220  Thread 121692 (PID=5769: ssa.test)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  221  Thread 121814 (PID=5769: ssa.test)                 get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  222  Thread 121682 (PID=5785: compile)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  223  Thread 121771 (PID=5785: compile)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  224  Thread 121772 (PID=5785: compile)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  225  Thread 121773 (PID=5785: compile)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  226  Thread 121774 (PID=5785: compile)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  227  Thread 121775 (PID=5785: compile)                  get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  228  Thread 121761 (PID=5789: link)                     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  229  Thread 121793 (PID=5789: link)                     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  230  Thread 121794 (PID=5789: link)                     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  231  Thread 121795 (PID=5789: link)                     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  232  Thread 121796 (PID=5789: link)                     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  233  Thread 121797 (PID=5789: link)                     get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
* 234  Thread 122007 (PID=5832: go)                       get_curthread () at /usr/src/sys/riscv/include/pcpu.h:73
  235  Thread 121918 (PID=5845: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  236  Thread 122047 (PID=5845: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  237  Thread 122048 (PID=5845: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  238  Thread 122049 (PID=5845: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  239  Thread 122050 (PID=5845: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  240  Thread 122051 (PID=5845: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  241  Thread 122052 (PID=5845: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  242  Thread 121722 (PID=5846: clang)                    get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  243  Thread 118484 (PID=5848: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  244  Thread 122058 (PID=5848: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  245  Thread 122059 (PID=5848: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  246  Thread 122060 (PID=5848: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  247  Thread 122061 (PID=5848: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  248  Thread 122062 (PID=5848: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  249  Thread 116328 (PID=5849: ld.lld)                   get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  250  Thread 122055 (PID=5849: ld.lld)                   fork_trampoline () at /usr/src/sys/riscv/riscv/swtch.S:382
  251  Thread 122056 (PID=5849: ld.lld)                   fork_trampoline () at /usr/src/sys/riscv/riscv/swtch.S:382
  252  Thread 107066 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  253  Thread 107241 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  254  Thread 107242 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  255  Thread 107243 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  256  Thread 107244 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  257  Thread 107245 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  258  Thread 107246 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  259  Thread 107247 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  260  Thread 107248 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  261  Thread 107249 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  262  Thread 107290 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  263  Thread 107675 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  264  Thread 108047 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
  265  Thread 118895 (PID=2477: go)                       get_pcpu () at /usr/src/sys/riscv/include/pcpu.h:63
```
Comment 4 Mitchell Horne freebsd_committer freebsd_triage 2022-10-24 14:39:15 UTC
(In reply to Meng Zhuo from comment #3)

> panic: Fatal page fault at 0xffffffc0005df25c: 0x00000000000030
> cpuid = 1
> time = 1666311525
> KDB: stack backtrace:
> #0 0xffffffc00039447e at kdb_backtrace+0x56
> #1 0xffffffc00034d208 at vpanic+0x154
> #2 0xffffffc00034d0b0 at panic+0x2a
> #3 0xffffffc0005e3e5a at page_fault_handler+0x1ee
> #4 0xffffffc0005e39b6 at do_trap_supervisor+0x5a
> #5 0xffffffc0005d4fd0 at cpu_exception_handler_supervisor+0x70
> #6 0xffffffc00059ed4e at vmspace_exit+0xdc
> #7 0xffffffc000305b3a at exit1+0x6a6
> #8 0xffffffc000305490 at sys_sys_exit+0x10
> #9 0xffffffc0005e4038 at do_trap_user+0x1da
> #10 0xffffffc0005d50a2 at cpu_exception_handler_user+0x72
> Uptime: 41m32s
> Dumping 780 out of 16354 MB:..1%..11%..21%

Thanks for the information. This shows the cause of the panic, which I believe is that same as what was seen in PR 266108. That fix is available on the main and stable/13 branches, but is not part of 13.1-RELEASE. If you can, I suggest updating to a 13-STABLE snapshot for this workload.
Comment 5 Mitchell Horne freebsd_committer freebsd_triage 2022-10-24 14:43:42 UTC
(In reply to Mitchell Horne from comment #4)

The alternative is to disable superpage promotion by adding:

vm.pmap.superpages_enabled=0

to /boot/loader.conf. This is a performance pessimization, but it may be just fine for your needs.
Comment 6 Meng Zhuo 2022-11-24 07:28:40 UTC
(In reply to Mitchell Horne from comment #5)

Hi, Mitchell

I have tested on 13 stable and 14 current, both are affected by this bug.
Good news is `vm.pmap.superpages_enabled=0` works.
Comment 7 Mitchell Horne freebsd_committer freebsd_triage 2022-11-28 19:00:33 UTC
(In reply to Meng Zhuo from comment #6)

Which revision of 14-CURRENT did you try? The git hash or output of 'uname -a' would be enough.
Comment 8 Mitchell Horne freebsd_committer freebsd_triage 2023-02-22 19:07:05 UTC

*** This bug has been marked as a duplicate of bug 266108 ***