Date: Sun, 23 Mar 2025 18:26:09 +0000 From: bugzilla-noreply@freebsd.org To: virtualization@FreeBSD.org Subject: [Bug 285415] [Hyper-V] i386 panic during vm_phys_early_startup() Message-ID: <bug-285415-27103-6wTQ8vtgBM@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-285415-27103@https.bugs.freebsd.org/bugzilla/> References: <bug-285415-27103@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D285415 --- Comment #8 from Dimitry Andric <dim@FreeBSD.org> --- (In reply to Mark Johnston from comment #7) I tried this out, even adding an assertion that the range [KPTphys, KPTphys= + ptoa(nkpt)> falls into the range allocated by getmemsize(), which is [KERNL= OAD, trunc_page(firstaddr)>. While the boot then seems to continue quite far, it still dies in the end, with: ---<<BOOT>>--- MP Configuration Table version 1.4 found at 0x4f4ba0 APIC: Using the MADT enumerator. Copyright (c) 1992-2025 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 15.0-CURRENT #8 main-n275975-5963423232e8-dirty: Sun Mar 23 19:19:29 CET 2025 dim@hfbsd15b:/usr/obj/usr/src/i386.i386/sys/GENERIC i386 FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2) WARNING: WITNESS option enabled, expect reduced performance. WARNING: 32-bit kernels are deprecated and may be removed in FreeBSD 15.0. DBG /usr/src/sys/vm/vm_phys.c(2043) vm_phys_early_startup: vm_phys_early_nsegs=3D1 DBG /usr/src/sys/vm/vm_phys.c(2046) vm_phys_early_startup: vm_phys_early_segs[0]=3D{start=3D800000, end=3D2500000, domain=3D0} DBG /usr/src/sys/vm/vm_phys.c(2050) vm_phys_early_startup: calling vm_phys_add_seg(start=3D800000, end=3D2500000) DBG /usr/src/sys/vm/vm_phys.c(517) vm_phys_add_seg: calling vm_phys_create_seg(paddr=3D800000, VM_LOWMEM_BOUNDARY=3D1000000) DBG /usr/src/sys/vm/vm_phys.c(424) _vm_phys_create_seg: enter, start=3D8000= 00, end=3D1000000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(432) _vm_phys_create_seg: vm_phys_nsegs=3D0 DBG /usr/src/sys/vm/vm_phys.c(436) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 0, end=3D0, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(447) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 800000, end=3D1000000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(448) _vm_phys_create_seg: seg=3D0x186b804, vm_phys_segs=3D0x186b804 DBG /usr/src/sys/vm/vm_phys.c(529) vm_phys_add_seg: calling vm_phys_create_seg(paddr=3D1000000, end=3D2500000) DBG /usr/src/sys/vm/vm_phys.c(424) _vm_phys_create_seg: enter, start=3D1000= 000, end=3D2500000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(432) _vm_phys_create_seg: vm_phys_nsegs=3D1 DBG /usr/src/sys/vm/vm_phys.c(436) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 0, end=3D0, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(438) _vm_phys_create_seg: seg[-1]=3D{start=3D= 800000, end=3D1000000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(447) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 1000000, end=3D2500000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(448) _vm_phys_create_seg: seg=3D0x186b824, vm_phys_segs=3D0x186b804 DBG /usr/src/sys/vm/vm_phys.c(529) vm_phys_add_seg: calling vm_phys_create_seg(paddr=3D1000, end=3D9f000) DBG /usr/src/sys/vm/vm_phys.c(424) _vm_phys_create_seg: enter, start=3D1000, end=3D9f000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(432) _vm_phys_create_seg: vm_phys_nsegs=3D2 DBG /usr/src/sys/vm/vm_phys.c(436) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 0, end=3D0, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(438) _vm_phys_create_seg: seg[-1]=3D{start=3D= 1000000, end=3D2500000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(436) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 1000000, end=3D2500000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(438) _vm_phys_create_seg: seg[-1]=3D{start=3D= 800000, end=3D1000000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(436) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 800000, end=3D1000000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(447) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 1000, end=3D9f000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(448) _vm_phys_create_seg: seg=3D0x186b804, vm_phys_segs=3D0x186b804 DBG /usr/src/sys/vm/vm_phys.c(529) vm_phys_add_seg: calling vm_phys_create_seg(paddr=3D100000, end=3D800000) DBG /usr/src/sys/vm/vm_phys.c(424) _vm_phys_create_seg: enter, start=3D1000= 00, end=3D800000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(432) _vm_phys_create_seg: vm_phys_nsegs=3D3 DBG /usr/src/sys/vm/vm_phys.c(436) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 0, end=3D0, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(438) _vm_phys_create_seg: seg[-1]=3D{start=3D= 1000000, end=3D2500000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(436) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 1000000, end=3D2500000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(438) _vm_phys_create_seg: seg[-1]=3D{start=3D= 800000, end=3D1000000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(436) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 800000, end=3D1000000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(438) _vm_phys_create_seg: seg[-1]=3D{start=3D= 1000, end=3D9f000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(447) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 100000, end=3D800000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(448) _vm_phys_create_seg: seg=3D0x186b824, vm_phys_segs=3D0x186b804 DBG /usr/src/sys/vm/vm_phys.c(529) vm_phys_add_seg: calling vm_phys_create_seg(paddr=3D2500000, end=3Df7ff0000) DBG /usr/src/sys/vm/vm_phys.c(424) _vm_phys_create_seg: enter, start=3D2500= 000, end=3Df7ff0000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(432) _vm_phys_create_seg: vm_phys_nsegs=3D4 DBG /usr/src/sys/vm/vm_phys.c(436) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 0, end=3D0, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(438) _vm_phys_create_seg: seg[-1]=3D{start=3D= 1000000, end=3D2500000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(447) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 2500000, end=3Df7ff0000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(448) _vm_phys_create_seg: seg=3D0x186b884, vm_phys_segs=3D0x186b804 DBG /usr/src/sys/vm/vm_phys.c(529) vm_phys_add_seg: calling vm_phys_create_seg(paddr=3D100000000, end=3D1ff4ab000) DBG /usr/src/sys/vm/vm_phys.c(424) _vm_phys_create_seg: enter, start=3D1000= 00000, end=3D1ff4ab000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(432) _vm_phys_create_seg: vm_phys_nsegs=3D5 DBG /usr/src/sys/vm/vm_phys.c(436) _vm_phys_create_seg: seg[ 0]=3D{start=3D= 0, end=3D0, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(438) _vm_phys_create_seg: seg[-1]=3D{start=3D= 2500000, end=3Df7ff0000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(447) _vm_phys_create_seg: seg[ 0]=3D{start=3D100000000, end=3D1ff4ab000, domain=3D0 DBG /usr/src/sys/vm/vm_phys.c(448) _vm_phys_create_seg: seg=3D0x186b8a4, vm_phys_segs=3D0x186b804 Trampoline disposition 0xfe87a4c0 VT(vga): text 80x25 Hyper-V Version: 10.0.26100 [SP3] =20 Features=3D0xae7f<VPRUNTIME,TMREFCNT,SYNIC,SYNTM,APIC,HYPERCALL,VPINDEX,REF= TSC,IDLE,TMFREQ> PM Features=3D0x20 [C2] Features3=3D0xe0bed7b2<DEBUG,XMMHC,IDLE,NUMA,TMFREQ,SYNCMC,CRASH,NPIEP> Recommends: 00900c2c 00000fff Limits: Vcpu:240 Lcpu:2048 Int:5952 HW Features: 0000000e, AMD: 00000000 Timecounter "Hyper-V" frequency 10000000 Hz quality 2000 .... hms0: <Hyper-V Tablet> on hidbus0 hms0: 5 buttons and [XYW] coordinates ID=3D0 panic: invalid 1st page, ofs 0x3985000, len 2048 cpuid =3D 3 time =3D 1742754087 KDB: stack backtrace: db_trace_self_wrapper(f7,152db3c0,24baf780,3985000,800,...) at db_trace_self_wrapper+0x28/frame 0x36eb0028 vpanic(141533a,36eb0064,36eb0064,36eb0080,132bb87,...) at vpanic+0xf4/frame 0x36eb0044 panic(141533a,3985000,0,800,3327f6d0,...) at panic+0x14/frame 0x36eb0058 storvsc_xferbuf_prepare(26c37800,24baf780,2,0) at storvsc_xferbuf_prepare+0x147/frame 0x36eb0080 bus_dmamap_load_mem(24ba8100,24ba8180,36eb00d4,132ba40,26c37800,1) at bus_dmamap_load_mem+0x2f2/frame 0x36eb00b4 bus_dmamap_load_ccb(24ba8100,24ba8180,3327f6d0,132ba40,26c37800,1) at bus_dmamap_load_ccb+0x4a/frame 0x36eb00f4 storvsc_action(2b11b180,3327f6d0) at storvsc_action+0x3a7/frame 0x36eb0140 xpt_run_devq(2b117080,3326f000,28c88e40,2b117090,3327f6d0,...) at xpt_run_devq+0x287/frame 0x36eb017c xpt_action_default(3327f6d0) at xpt_action_default+0x3c6/frame 0x36eb01a0 scsi_action(3327f6d0) at scsi_action+0x19/frame 0x36eb01b8 dastart(33253180,3327f6d0) at dastart+0x30d/frame 0x36eb01f4 xpt_run_allocq(33253180,480) at xpt_run_allocq+0x8b/frame 0x36eb021c cam_iosched_schedule(33268e80,33253180) at cam_iosched_schedule+0x21/frame 0x36eb0230 dastrategy(332d7754) at dastrategy+0x64/frame 0x36eb024c g_disk_start(38ad9000,333b9430,332e6f00,1000,0,...) at g_disk_start+0x469/f= rame 0x36eb02ac g_io_request(38ad9000,24998dc0,200,0,332ffe00,...) at g_io_request+0x26b/fr= ame 0x36eb02d4 g_part_start(333b9430,3707f814,332e6a80,1000,0,...) at g_part_start+0x114/f= rame 0x36eb034c g_io_request(333b9430,15642f40,36eb0398,20b3513,4e,...) at g_io_request+0x26b/frame 0x36eb0374 vdev_geom_io_start(333e23c0,4,36594223,0,41,...) at vdev_geom_io_start+0x26f/frame 0x36eb03a0 zio_vdev_io_start(333e23c0,4,36593cab,1df16d7,1e14d3b,...) at zio_vdev_io_start+0x559/frame 0x36eb03e0 zio_nowait(333e23c0,36eb0440,1ffc930,2,2032ca0,...) at zio_nowait+0x143/fra= me 0x36eb0420 vdev_mirror_io_start(37ff9000,33346000,37ff9000,2157040,36eb047c,...) at vdev_mirror_io_start+0x13b/frame 0x36eb044c zio_vdev_io_start(37ff9000,1df16d7,1e14d3b,1e185c7,1e185a1,...) at zio_vdev_io_start+0x559/frame 0x36eb048c zio_execute(37ff9000,1,36eb0524,fcf452,37ff9360,...) at zio_execute+0x93/fr= ame 0x36eb04c4 taskq_run_ent(37ff9360,1) at taskq_run_ent+0x1f/frame 0x36eb04d4 taskqueue_run_locked(152db3c0,1a55074,36eb0568,36eb0554,f2e09b,...) at taskqueue_run_locked+0x192/frame 0x36eb0524 taskqueue_thread_loop(1cecbef0,36eb0568) at taskqueue_thread_loop+0xae/frame 0x36eb0538 fork_exit(fd0090,1cecbef0,36eb0568,0,0,...) at fork_exit+0x6b/frame 0x36eb0= 554 fork_trampoline() at 0xffc0348e/frame 0x36eb0554 --- kthread start KDB: enter: panic [ thread pid 0 tid 100179 ] Stopped at kdb_enter+0x34: movl $0,kdb_why But this could very well be another issue, something in the storvsc stuff w= hich is (AFAICT) a Hyper-V specific disk driver. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-285415-27103-6wTQ8vtgBM>