Hi,

over the last days both on x86 as well as on arm64 I had various strange “hangs” or panics. I’ll try to find svn revisions which do compile and try and see if I can do a bit of bisect (the first two attempts did not compile; should try the CI system). Given it is all new setups from the last week, I do not have previous behaviour (or 12.x one only).


(a) on x86 and arm64 I have “hangs” after starting init around the re-mount; one of the later “hangs” on arm64 was:

Initially I thought it was related to USB as not compiling that in made the problem go away on x86 (where the console was frozen in a 1 VCPU VM so I couldn’t debug). On Arm64 I can now press ^T and see that it actually is waiting hard .. (and removing USB from the kernel did move the problem slightly but not make it go away).

(notice real time)
load: 0.45  cmd: sysctl 27 [objtrm] 1711.61r 0.00u 0.00s 0% 0k



(b) The quickest I found so far was on arm64/head from an hour ago; this is with and without an md_image or other modules loaded and GENERIC rather than GENERIC-NODEBUG (reproduced in two consecutive boots); it seems to sometimes matter whether I boot with hw.ncpu=4 or hw.ncpu=1:

---<<BOOT>>---
KDB: debugger backends: ddb
KDB: current backend: ddb
                   Type     Physical      Virtual   #Pages Attr
     ConventionalMemory 000000200000       200000 00007eea WB
    RuntimeServicesData 0000080ea000      80ea000 0000002c WB RUNTIME
     ConventionalMemory 000008116000      8116000 000e46e9 WB
             LoaderData 0000ec7ff000     ec7ff000 00008696 WB
             LoaderCode 0000f4e95000     f4e95000 0000008d WB
    RuntimeServicesData 0000f4f22000     f4f22000 00000001 WB RUNTIME
               Reserved 0000f4f23000     f4f15000 00000006 WB
    RuntimeServicesData 0000f4f29000     f4f29000 00000001 WB RUNTIME
               Reserved 0000f4f2a000     f4f2a000 00000002 WB
             LoaderData 0000f4f2c000     f4f2c000 00003014 WB
    RuntimeServicesCode 0000f7f40000     f7f40000 00000010 WB RUNTIME
             LoaderData 0000f7f50000     f4f2c000 000000b0 WB
Physical memory chunk(s):
  0x00200000 - 0xf4f22fff,  3917 MB (1002787 pages)
  0xf4f29000 - 0xf4f29fff,     0 MB (      1 pages)
  0xf4f2c000 - 0xf7f3ffff,    48 MB (  12308 pages)
  0xf7f50000 - 0xf7ffffff,     0 MB (    176 pages)
Excluded memory regions:
  0x080ea000 - 0x08115fff,     0 MB (     44 pages) NoAlloc
  0xec800000 - 0xf0f38fff,    71 MB (  18233 pages) NoAlloc
  0xf4f22000 - 0xf4f2bfff,     0 MB (     10 pages) NoAlloc
  0xf7f40000 - 0xf7f4ffff,     0 MB (     16 pages) NoAlloc
Found 6 CPUs in the device tree
Copyright (c) 1992-2019 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 13.0-arm64-base13-nanopct4 #1 r355193M 11d01e051405-c509697(master): Fri Nov 29 00:31:57 UTC 2019
..
FreeBSD clang version 9.0.0 (tags/RELEASE_900/final 372316) (based on LLVM 9.0.0)
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
Preloaded elf kernel "/boot/kernel/kernel" at 0xffff00000450c000.
Preloaded md_image "/base13-nanopct4-r355193" at 0xffff000004514e80.
Preloaded elf module "/boot/kernel/nullfs.ko" at 0xffff000004514ee0.
Preloaded elf module "/boot/kernel/geom_eli.ko" at 0xffff000004515638.
module firmware already present!
panic: page 0xfffffd00ec54c170 has object
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self_wrapper+0x28
         pc = 0xffff0000006dee8c  lr = 0xffff0000001066c8
         sp = 0xffff0000000103f0  fp = 0xffff000000010600

db_trace_self_wrapper() at vpanic+0x18c
         pc = 0xffff0000001066c8  lr = 0xffff0000003b563c
         sp = 0xffff000000010610  fp = 0xffff0000000106c0

vpanic() at panic+0x44
         pc = 0xffff0000003b563c  lr = 0xffff0000003b53ec
         sp = 0xffff0000000106d0  fp = 0xffff000000010750

panic() at vm_page_alloc_check+0x78
         pc = 0xffff0000003b53ec  lr = 0xffff000000692b2c
         sp = 0xffff000000010760  fp = 0xffff000000010760

vm_page_alloc_check() at vm_page_alloc_domain_after+0x2a4
         pc = 0xffff000000692b2c  lr = 0xffff000000692298
         sp = 0xffff000000010770  fp = 0xffff0000000107f0

vm_page_alloc_domain_after() at kmem_back_domain+0xec
         pc = 0xffff000000692298  lr = 0xffff00000067de6c
         sp = 0xffff000000010800  fp = 0xffff000000010850

kmem_back_domain() at kmem_malloc_domainset+0xc0
         pc = 0xffff00000067de6c  lr = 0xffff00000067dd48
         sp = 0xffff000000010860  fp = 0xffff0000000108d0

kmem_malloc_domainset() at vm_ksubmap_init+0x54
         pc = 0xffff00000067dd48  lr = 0xffff00000067d1d8
         sp = 0xffff0000000108e0  fp = 0xffff000000010920

vm_ksubmap_init() at cpu_startup+0x1c
         pc = 0xffff00000067d1d8  lr = 0xffff0000006ea77c
         sp = 0xffff000000010930  fp = 0xffff000000010930

cpu_startup() at mi_startup+0x12c
         pc = 0xffff0000006ea77c  lr = 0xffff00000034e2d4
         sp = 0xffff000000010940  fp = 0xffff0000000109a0

mi_startup() at virtdone+0x58
         pc = 0xffff00000034e2d4  lr = 0xffff0000000010c8
         sp = 0xffff0000000109b0  fp = 0x0000000000000000

KDB: enter: panic
[ thread pid 0 tid 0 ]
Stopped at      0




FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 13.0-arm64-base13-nanopct4 #1 r355193M 11d01e051405-c509697(master): Fri Nov 29 00:31:57 UTC 2019
..
FreeBSD clang version 9.0.0 (tags/RELEASE_900/final 372316) (based on LLVM 9.0.0)
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
Preloaded elf kernel "/boot/kernel/kernel" at 0xffff0000014b2000.
module firmware already present!
panic: page 0xfffffd00ec551f68 has object
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self_wrapper+0x28
         pc = 0xffff0000006dee8c  lr = 0xffff0000001066c8
         sp = 0xffff0000000103f0  fp = 0xffff000000010600

db_trace_self_wrapper() at vpanic+0x18c
         pc = 0xffff0000001066c8  lr = 0xffff0000003b563c
         sp = 0xffff000000010610  fp = 0xffff0000000106c0

vpanic() at panic+0x44
         pc = 0xffff0000003b563c  lr = 0xffff0000003b53ec
         sp = 0xffff0000000106d0  fp = 0xffff000000010750

panic() at vm_page_alloc_check+0x78
         pc = 0xffff0000003b53ec  lr = 0xffff000000692b2c
         sp = 0xffff000000010760  fp = 0xffff000000010760

vm_page_alloc_check() at vm_page_alloc_domain_after+0x2a4
         pc = 0xffff000000692b2c  lr = 0xffff000000692298
         sp = 0xffff000000010770  fp = 0xffff0000000107f0

vm_page_alloc_domain_after() at kmem_back_domain+0xec
         pc = 0xffff000000692298  lr = 0xffff00000067de6c
         sp = 0xffff000000010800  fp = 0xffff000000010850

kmem_back_domain() at kmem_malloc_domainset+0xc0
         pc = 0xffff00000067de6c  lr = 0xffff00000067dd48
         sp = 0xffff000000010860  fp = 0xffff0000000108d0

kmem_malloc_domainset() at vm_ksubmap_init+0x54
         pc = 0xffff00000067dd48  lr = 0xffff00000067d1d8
         sp = 0xffff0000000108e0  fp = 0xffff000000010920

vm_ksubmap_init() at cpu_startup+0x1c
         pc = 0xffff00000067d1d8  lr = 0xffff0000006ea77c
         sp = 0xffff000000010930  fp = 0xffff000000010930

cpu_startup() at mi_startup+0x12c
         pc = 0xffff0000006ea77c  lr = 0xffff00000034e2d4
         sp = 0xffff000000010940  fp = 0xffff0000000109a0

mi_startup() at virtdone+0x58
         pc = 0xffff00000034e2d4  lr = 0xffff0000000010c8
         sp = 0xffff0000000109b0  fp = 0x0000000000000000

KDB: enter: panic
[ thread pid 0 tid 0 ]
Stopped at      0
db>


(c) then one before on a GENERIC-NODEBUG kernel was along these lines with hw.ncpu=4 and an md_image loaded:

..
Release APs...gic0: Start searching for Re-Distributor
gic0: Start searching for Re-Distributor
gic0: Start searching for Re-Distributor
gic0: CPU1 Re-Distributor has been found
gic0: CPU3 Re-Distributor has been found
gic0: CPU2 Re-Distributor has been found
gic0: CPU1 Re-Distributor woke up
gic0:P  Re-Distributor woke up
gic0: CPU1 enabled CPU interface via system registers
gic0: CPU2 enabled CPU interface via system registers
gic0: CPU3 Re-Distributor woke up
gic0: CPU3 enabled CPU interface via system registers
done
F@tal data abort:
CPU  0: ARM Cortex-A53 r0p4 affinity:  0
  x0: fffffd00015f2fb8
 Instruction Set Attributes 0 = <CRC32,SHA2,SHA1,AES+PMULL>
  x1: ffff00005abed508
 Instruction Set Attributes 1 = <>
  x2:                0
  x3: ffff00005abed50c
Processor Features 0 = <GIC,AdvSIMD,FP,2"2,EL2 32,EL1 32,EL0 32>
  x4:                2
         Processor Features 1 = <>
  x5: ffff000000c7a2a0
  x6: ffff000000c7a2a8
Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,1TB PA>
  x7: ffff000000c7a2b0
      Memory Model Features 1 = <8bit VMID>
  Memory Model Features 2 = <32bit CCIDX,48bit VA>
  x9:               3d
Debug Features 0 = <2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3,Debugv8>
 x10: fffffd00015f2e00
             Debug Features 1 = <>
 x11:                2
         Auxiliary Features 0 = <>
 x12: fffffd0000802b40
      Auxiliary Features 1 = <>
 x13:              100
CPU  1: ARM Cortex-A53 r0p4 affinity:  1
 x14:                1
CPU  2: ARM Cortex-A53 r0p4 affinity:  2
 x15:                0
CPU  3: ARM Cortex-A53 r0p4 affinity:  3
 x16:                1
 x17: ffff000000c7a2a0
regulator: shutting dowN vbus_py`Ec
                                   x18: ffff00005abed4e0
 x19: fffffd0000802a80
 x20:         ffffffff
 x21:               18
 x22:               3d
 x23: fffffd0000819000
 x24: fffffd000214d218
 x25:                a
 x26:               3d
 x27: ffff000000a6f000
 x28:                2
 x29: ffff00005abed580
  sp: ffff00005abeD4e
                      lr: ffff0000006a42a0
 elr: ffff0000006a4384
spsr:         80000145
 far:                a
 esr:         96000044
panic: vm_fault failed: ffff0000006a4384
cpuid = 3
time = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self_wrapper+0x28
         pc = 0xffff00000070cb6c  lr = 0xffff00000010695c
db_trace_self_wrapper() at vpanic+0x18c0xffff00005abed0e0
         pc = 0xffff00000010695c  lr = 0xffff0000003ca864
         sp = 0xffff00005abed0f0  fp = 0xffff00005abed1a0

vpanic() at panic+0x44
         pc = 0xffff0000003ca864  lr = 0xffff0000003ca6d4
         sp = 0xffff00005abed1b0  fp = 0xffff00005abed230
panic() at d@`@_abort+0x1e0
         pc = 0xffff0000003ca6d4  lr = 0xffff000000728c34
         sp = 0xffff00005abed240  fp = 0xffff00005abed2f0

data_abort() at do_eH1h_sync+0x144
         pc = 0xffff000000728c34  lr = 0xffff000000727e50
         sp = 0xffff00005abed300  fp = 0xffff00005abed330

do_el1h_sync() at @andHe_el1h_sync+0x78
         pc = 0xffff000000727e50  lr = 0xffff00000070f078
         sp = 0xffff00005abed340  fp = 0xffff00005abed450

handle_el1h_sync() ad zone_import+0x264
         pc = 0xffff00000070f078  lr = 0xffff0000006a429c
         sp = 0xffff00005abed460  fp = 0xffff00005abed580

zone_import() at cache_alloc+0x480
         pc = 0xffff0000006a429c  lr = 0xffff00000069f748
         sp = 0xffff00005abed590  fp = 0xffff00005abed5e0

cache_alloc() at uma_zalloc_arg+0x60
         pc = 0xffff00000069f748  lr = 0xffff00000069efb8
         sp = 0xffff00005abed5f0  fp = 0xffff00005aBed6

uma_zalloc_arg() at malloc+0x70
         pc = 0xffff00000069efb8  lr = 0xffff0000003a4320
         sp = 0xffff00005abed630  fp = 0xffff00005abed660

malloc() at crdup+0x20
         pc = 0xffff0000003a4320  lr = 0xffff0000003ba0e0
         sp = 0xffff00005abed670 fp8 xffff00005abed680

crdup() at vfs_mount_alloc+0xe4
         pc = 0xffff0000003ba0e0  hr 8  xffff00000049002c
         sp = 0xffff00005abed690  fp = 0xffff00005abed6c0

vfs_mount_alloc() at vfs_mountroot+0x220
         pc = 0xffff00000049002c  lr = 0xffff000000494204
         sp = 0xffff00005abed6d0  fp = 0xffff00005abed880

vfs_mountroot() at start_init+0x"4 pc =0xDDdD000000494204 lr = 0xffff0000003604b0
         sp = 0xffff00005abed890  fp = 0xffff00005abed940

start_init() at fork_exit+0x90
         pc = 0xffff0000003604b0  lr = 0xffff000000389598
         sp = 0xffff00005abed950  fp = 0xffff00005abed980

fork_exit() at fo`k_trampoline+0x10
         pc = 0xffff000000389598  lr = 0xffff000000727b8c
         s` < xDDff00005abed990  fp = 0x0000000000000000

KDB: enter: panic
[ thread pid 1 tid 100002 ]
Stopped at      zone_import+0x34c:      undefined       f900056c



I do have more of these kinds of things .. and I can probably produce more by rebuilding the kernel and playing with a few parameters..

Any hints or suggestions welcome.

/bz
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to