From nobody Thu Jul 20 19:27:39 2023 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4R6N4Z21gHz4nbP1 for ; Thu, 20 Jul 2023 19:27:42 +0000 (UTC) (envelope-from mike@karels.net) Received: from mail2.karels.net (mail2.karels.net [3.19.118.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "freebsd", Issuer "freebsd" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4R6N4Y4Smcz4Djg for ; Thu, 20 Jul 2023 19:27:41 +0000 (UTC) (envelope-from mike@karels.net) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=karels.net header.s=mail2 header.b=puExlE3w; spf=pass (mx1.freebsd.org: domain of mike@karels.net designates 3.19.118.201 as permitted sender) smtp.mailfrom=mike@karels.net; dmarc=none Received: from mail2.karels.net (localhost [IPv6:0:0:0:0:0:0:0:1]) by mail2.karels.net (8.17.1/8.17.1) with ESMTP id 36KJReiL048094 for ; Thu, 20 Jul 2023 14:27:40 -0500 (CDT) (envelope-from mike@karels.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=karels.net; s=mail2; t=1689881260; bh=kHJ4pYi/pSoyw4FjSO3dqBMb8C0cbrXkyHC3fAzpMaw=; h=From:To:Subject:Date; b=puExlE3w2aEQFLjAyXSlebMisuXezi0epQWUJq8OVXMW6Ikiejgk5qlInFhp4Rrc0 HgsTEKMIv0MPafQNnMkCJ5Kd6LIB0CYi7yeCTjC8lfYtLCZInIP5IHG93R0uk0jLHW 0z+hnaY5vjolEoE3g0k93k6t7I4wqCa46wY//rXys02WnjdZY4b/MiS1tNcMSZcPHL st7Tfmyw5MyKUSbK10fPfyxy9BNsPEKUr4+kuZkRDL2q5sYR+2wPNWh6prspVUE68J Csj/2vmmSn75YdTjJoUClvYAvkKmHonAmB0+fk9I3HW+lOEvlP+Klq1+nZAOSEq8l2 EKH6TgmbrsNEQ== Received: from [10.0.2.130] ([73.62.165.147]) by mail2.karels.net with ESMTPSA id HFC2JayKuWTcuwAAs/W3XQ (envelope-from ) for ; Thu, 20 Jul 2023 14:27:40 -0500 From: Mike Karels To: Current FreeBSD Subject: confusion about root partition causes panic during startup Date: Thu, 20 Jul 2023 14:27:39 -0500 X-Mailer: MailMate (1.14r5964) Message-ID: <120E9843-2732-4D2D-A23D-CB608F199E84@karels.net> List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.998]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[karels.net:s=mail2]; R_SPF_ALLOW(-0.20)[+ip4:3.19.118.201]; MIME_GOOD(-0.10)[text/plain]; DKIM_TRACE(0.00)[karels.net:+]; BLOCKLISTDE_FAIL(0.00)[3.19.118.201:server fail,73.62.165.147:server fail]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; RCPT_COUNT_ONE(0.00)[1]; FREEFALL_USER(0.00)[mike]; ARC_NA(0.00)[]; ASN(0.00)[asn:16509, ipnet:3.16.0.0/14, country:US]; FROM_HAS_DN(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[karels.net]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Queue-Id: 4R6N4Y4Smcz4Djg X-Spamd-Bar: -- I installed an additional NVME drive on a system, and then booted. It tu= rns out that the new drive became nda0, renumbering the other drives. The lo= ader found the correct partition to boot (the only choice), and loaded the ker= nel correctly. However, /etc/fstab still had the old name (nvd1p2), which is= now drive 2. I expected it to drop into single user, but instead the sys= tem panicked in vfs_mountroot_shuffle trying to switch root devices (see belo= w). It doesn't seem that having the wrong root device in /etc/fstab should ca= use a panic; it makes it harder to patch the system. I was unable to get the= system to boot using boot-to-single-user or setting currdev, but I manage= d to remember doing "boot -a" from a loader prompt to get the system to ask= the root device before mounting it. I can easily reproduce this to test.= Probably the NDFREE_PNBUF() shouldn't happen if namei() returned an error= =2E Mike Trying to mount root from ufs:/dev/nvd1p2 [rw]... WARNING: WITNESS option enabled, expect reduced performance. mountroot: unable to remount devfs under /dev (error 2) panic: Assertion _ndp->ni_cnd.cn_pnbuf !=3D NULL failed at ../../../kern/= vfs_mountroot.c:416 cpuid =3D 19 time =3D 11 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe006d3= bac40 vpanic() at vpanic+0x149/frame 0xfffffe006d3bac90 panic() at panic+0x43/frame 0xfffffe006d3bacf0 vfs_mountroot() at vfs_mountroot+0x1bf7/frame 0xfffffe006d3bae60 start_init() at start_init+0x23/frame 0xfffffe006d3baef0 fork_exit() at fork_exit+0x82/frame 0xfffffe006d3baf30 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe006d3baf30 --- trap 0x5c035c02, rip =3D 0x680c680c680c680c, rsp =3D 0x1b6b1f6b1b6b1b= 6b, rbp =3D 0x4eb54eb54eb54eb5 --- KDB: enter: panic [ thread pid 1 tid 100002 ] Stopped at kdb_enter+0x32: movq $0,0xde7643(%rip)