From nobody Sun Dec 28 16:06:11 2025 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 4dfPNl3k9Cz6Lyw0 for ; Sun, 28 Dec 2025 16:06:31 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic306-20.consmr.mail.gq1.yahoo.com (sonic306-20.consmr.mail.gq1.yahoo.com [98.137.68.83]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4dfPNj2BSQz3Lby for ; Sun, 28 Dec 2025 16:06:29 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=AKguDBuJ; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.68.83 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1766937985; bh=EicLZEA/Xj6wqUC7MEi436E0SOevhR3qkNhrKw38T8I=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=AKguDBuJRhF7Rzv84US+1rIHQl887fgtLLp6Rt7+T2hloyGz1WbwEj50dzfuvJiMkktKE2URl/TAi601th3j1U5H0B44FZPWRBCWllV0KZGKx5/H4LktWbeg/e+RrunoKFBZPPxMdUqTV0VcTjnqB3wDRKum72FT4bwEDopfksacLwUh957J0ye1ZvxAjR8ZTZuuXLI/y7V58SIwOcOOpzySwFxKUKDpa9iG3bNZsb+x7pWD+o8pXH1rgqW+KuZXiuDW5CFsGbU9msBMc4jZ9dFvGNT5d5Hpdntq7yVq1A7rE4CJt9OkQev7V6yLiPUlxCbGDyk6b3mZS42orT2plA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1766937985; bh=gZMR5IfNi4udwwn+FaplGNsBS2k0cALZQcYid4yezw9=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=Eb+8GGNheFnqBixuKUbFXy5R8GkrbCVEqpDPhMUtyy277uvQkzi63vxWuQY2i1/6PdHSk7hWOoct34/dDXFQKcpCGRmv+0ON21vVN+PKTdPolmtzB9dTUb1W6Nu3+urwJwOXkISjvgGO/V02SD5wt6JpowNoC2NeB/1zkH/8mRH2qv9yLuspLMecgapmOpZvv1YPQKzJHwFOinO0bzZJ9sAKsyk16qd2yc3mF3XY+68jSFZ6jYRadRdJKFoI0rcOpIWLb8Y7xmpPEm4pqQZduNQ/jwSpD2JDo157ao8t/D845HA9RdGyYr1puKL0i9hEH5a/anJwM2qnmsG1lbBoYw== X-YMail-OSG: sJSJQogVM1lZ.Muv7DKyWNkxHgeG.Qg6Nt9CneGXtoRpqe9ZD2DLoScSk8EIHKN BggDlrteDzt7ExEG.quhxWHJ6UyCmRBHzEhHCERltPo3mHCVj7zIJMggo06511yQ0z3v2zJWL7iQ 5Jhn_UCjYDXNJbrh75.CLb9vNFVucbTqyiZGb40fNBjKCRPvNBix4p4FN.wcfKDfbmUZ1yWKoC6. mcfTmykJDRfi_lpxHFiu8ayGSTkg9qiFxyjxCyrUEtj_uh8uw7ydFFGO8cZ0NAUxYBpwZGJBlPej IMkeUbRjFf0o8BvOrOfOFc1kRRCZDWKq9S7tFpEDF1o2CiJHoJmTGGf636pmRt1B2ZvYx6W1iRuc _pV12HeWzaK8yc6gnEKoDirY0A0JoAA_Q50F1.L4rBXcPDbRb5QlzzXqv8YBu0gmnRKnnjg9VMQi kYSiClgejgcrh2_weyK8CLeCZMwPi1gZ8U19BYPhfzsNOEkh7xL7k9m3ehiTASqipFXVkH1VIF70 PCouuZUpw0yuhdZH.CTZbhLlbdriI2j18sMosrRzKbNfTgguI_XpIlmRdBb4CjX7G.G507MdRhbb rFNEckZlas9_P6yeYEzNk9b235opFyCvSDL1yEQbDoSUrMSWCgKkYFfjG8pg6wWQ5PN2NpdX1NZr 7mNL.adXtdapvceVeIYm5v0J9wAaMucm3YpoYbc6aLM9oeIX5rlPpwSZMsmu.RDLhGKHp28BCLgM TByglwUP3mM5FE54VISxWCfmM0xxc5kO2m0M8NfskGrboMeNHuBbkEkSSbN6PV3TUSwQ4q8ebXRT kWXJ7NNBTkW2iE8CPngVfvI.FyLYTb.uDxAw9JR1jdvHYU9at7vk3vA1xdoXFrUcrwwT6V7QpFax swcL3xOcpl1mK65BjBYsjxwU0JpvIy3tjOo1bRmHajVASKB70lOrpVVr_J7WXniqxdvjcV1l9Khh Ou.mZ_oe3f0aGQB4Rlk3YK7v3h.V2nDCUaEGhdQAB8Aav4p0E_xSMBkYUroQSQ0aD5OXBmK5A0db v.3kAO.ZZQMmJryYIwTy_xrmPOL9DmftR_GZQNkuM1PviqY5Pw9eMfaz9HxH2a6wWx3BWjPK646N mhs0NRa8W4.SGyYW3Wav4PRByjcs8a6TtaN66_dBL._8xyp875tJY95ee3DwLF0_GuKL4Nh1smd8 2YdVEaO26lMTSBl6kI5Egxrnwh89CFZQu3hjwFOJyaeSEmq05snGLTMgn9WtpGdkDAh4.xpIaL1n m0PSc_d9UgV7MnAAJT_CEqOXrU5eXmaOHb4dJgFvQMLTn9R2FhbRNgIkVDVYVVwndyk2NoNyNkr8 HzsgyL1CzDnmiB9Yn8ghE6gnLE6tkT9QS6RoUqkwK_Fr68UFDIbdMPe22lsSjpt3EEsq7K47bWAa 1f3NdW2SDsl7jdmuqMlYum3QElegp662adqfTS3FwmiLTMioe2scNLeSIVw7JX_0x__p5IhdQk_6 jlRIcwFpxSpdCy863WRAwHkvjAnguTnBfKQhUmDdU5FbM.jBKyXUewU.uk.nYEh2KSM6JGV8_Sac ZgbWnRTxnbTjZcjLSnpPTsMs30T6B74hImlp89LGlsv3bGcAvEo2jUSkkhRxOQI5xz8RJ.Z_gDj0 M1fOiRTGxUJzbrvGGWsh6DtGu9856i1D1kWsMqfvwiCD4d2R9lWhmg6poox2TAs5C_eOuEeviVhp v9xnks.YpZz08x6CEF5VKXFelJ3GOpVnas0Sfob8v2XL74XvMEHcif0WSE3q8WKPetP1PSllCHnr BV42jcLvoRqtxH3zdJq3qHSz3UgFWsuWbDwXJdswYGIamopKMngxKaSKtwOsNE.rziIzXjaDDE0e 4ItoTB7_SarRaSXIZ..4PaBrZpj3mWSBQ2sL8KZkzFlDI8koHFbOD9vzwqgYNnIJ9MMqAO48Kr9r XShPwFue67G5vNoSD2GECRAwnwI0KnpSEmQIcrg7OzeXsEJPYanmaMeIDa53Cdkc6SLnMnN_zh6C 2k0JI4.TP2gXsn..e7BUfFF1xPD2b8RbPPTMi.phQc.KxumO4SswqaNr.jdEhrmTBA67VEsL37Oh HTfrVFzzNbDvt9oxbCvYzWTCsJperXU4JGqLhwWLnLMqlrV3PZSV4CZKKFTOTzy4RRHA64Cyu.xw 2ECeR3xN6wLiLi6eA57Dl4XDEiQaTyUQsJU0YunSYvy5J3uxxRQS1rSnKhIusiLqqY2kg5bGVOol IEJEg61xEmKswCuAk2DjuAoybzTJnHcfU9Ht5F2Gteg5YVHxjIbyPM9NYU_AIHHS0Ewm8ZjUFSCH H5cCd_4lnquwp6lg- X-Sonic-MF: X-Sonic-ID: 731c1b30-2ace-4f74-92eb-dd4406714ed2 Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.gq1.yahoo.com with HTTP; Sun, 28 Dec 2025 16:06:25 +0000 Received: by hermes--production-gq1-54bf57fc64-s8ptv (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 82dfc0869d5fb4ea74df1b703e825e47; Sun, 28 Dec 2025 16:06:22 +0000 (UTC) Content-Type: text/plain; charset=utf-8 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 (Mac OS X Mail 16.0 \(3826.700.81\)) Subject: Re: armv7 main's gpart [show]: signal 11 core dump during boot, before login; xo_format_string_direct; official pkgbase distribution (kernel and world) From: Mark Millard In-Reply-To: <29DCA955-4FEB-4EB4-8AEC-01312C932456@yahoo.com> Date: Sun, 28 Dec 2025 08:06:11 -0800 Cc: "js@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <73B5AB7B-E546-431C-AAF8-C20DB5616CD5@yahoo.com> <16109C94-D82C-4873-BC21-41B420A850EE@yahoo.com> <6C850038-7550-4954-A319-0F1484C31766@yahoo.com> <29DCA955-4FEB-4EB4-8AEC-01312C932456@yahoo.com> To: freebsd-arm , FreeBSD Current , Konstantin Belousov X-Mailer: Apple Mail (2.3826.700.81) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.96 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-0.99)[-0.994]; NEURAL_HAM_SHORT(-0.97)[-0.970]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FREEMAIL_FROM(0.00)[yahoo.com]; DKIM_TRACE(0.00)[yahoo.com:+]; FROM_HAS_DN(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.68.83:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.83:from] X-Rspamd-Queue-Id: 4dfPNj2BSQz3Lby [minherit(0x2051e000,1100,INHERIT_ZERO) =3D 0 (0x0) might be involoved?] On Dec 28, 2025, at 00:23, Mark Millard wrote: > On Dec 27, 2025, at 23:55, Mark Millard wrote: >=20 >> [Turns out: works on aarch64 kernel's armv7 support, fails >> on the armv7 native kernel, exact same world files on the >> exact same media.] >=20 > I got that wrong: a large part of the output occurs before a > segmentation fault on the Windows Dev Kit 2023. But it has a > very different backtrace and the output before that has numerical > garbage values showing. >=20 >>=20 >> On Dec 27, 2025, at 23:35, Mark Millard wrote: >>=20 >>> On Dec 27, 2025, at 22:03, Mark Millard wrote: >>>=20 >>>> Context: >>>>=20 >>>> # uname -apKU >>>> FreeBSD OPiP2E-RPi2v1p1 16.0-CURRENT FreeBSD 16.0-CURRENT = main-n282732-939ac0c8fde2 GENERIC-NODEBUG arm armv7 1600007 1600007 >>>>=20 >>>> That is an official pkgbase distribution that I installed, not >>>> a personal build. pkgbase for main has world being a debug >>>> build, no matter which of the kernels one choses to boot. >>>> For pkgbase, 939ac0c8fde2 would be correct(?) for the kernel >>>> but might not be exact for the world: /usr/src/sys/ and >>>> /usr/src/ (without sys/) are from different times, last I >>>> knew anyway. Changes can happen between. >>>>=20 >>>> During boot, the time on the Orange Pi Plus 2ed is bad so: >>>>=20 >>>> # ls -lodT /gpart.core=20 >>>> -rw------- 1 root wheel nodump 3174400 Jan 1 00:01:01 2010 = /gpart.core >>>>=20 >>>> Also, for pkgbase, a source file distributed can be newer >>>> for its time stamp than the program distributed that was >>>> based on the source file. Such happens below. >>>>=20 >>>>=20 >>>>=20 >>>> Core was generated by `gpart show'. >>>> Program terminated with signal SIGSEGV, Segmentation fault. >>>> Address not mapped to object. >>>> #0 xo_format_string_direct (xop=3Dxop@entry=3D0x2009b120, = xbp=3Dxbp@entry=3D0x2009b150, flags=3Dflags@entry=3D4096, wcp=3D0x0, = cp=3D0x6e480000 , = len=3D-1, max=3D-1,=20 >>>> need_enc=3D3, have_enc=3D2) at = /usr/src/contrib/libxo/libxo/libxo.c:2715 >>>>=20 >>>> warning: Source file is more recent than executable. >>>> 2715 if (*cp =3D=3D '\0') >>>> (gdb) bt >>>> #0 xo_format_string_direct (xop=3Dxop@entry=3D0x2009b120, = xbp=3Dxbp@entry=3D0x2009b150, flags=3Dflags@entry=3D4096, wcp=3D0x0, = cp=3D0x6e480000 , = len=3D-1, max=3D-1,=20 >>>> need_enc=3D3, have_enc=3D2) at = /usr/src/contrib/libxo/libxo/libxo.c:2715 >>>> #1 0x20150908 in xo_format_string (xop=3D0x2009b120, = xbp=3D0x2009b150, flags=3D4096, xfp=3D0xbfbfd280) at = /usr/src/contrib/libxo/libxo/libxo.c:2982 >>>> #2 xo_do_format_field (xop=3D, = xop@entry=3D0x2009b120, xbp=3D0x2009b150, fmt=3Dfmt@entry=3D0x20130635 = "%s", flen=3Dflen@entry=3D2, flags=3D4096) at = /usr/src/contrib/libxo/libxo/libxo.c:3503 >>>> #3 0x2014c69c in xo_simple_field (xop=3D0x2009b120, encode_only=3D0,= value=3D0x0, vlen=3D0, fmt=3D0x20130635 "%s", flen=3D2, = flags=3D) at /usr/src/contrib/libxo/libxo/libxo.c:3817 >>>> #4 xo_format_value (xop=3D, xop@entry=3D0x2009b120, = name=3D, name@entry=3D0x204bf931 "state}\n", = nlen=3D, nlen@entry=3D5, value=3D0x0, vlen=3D0, = fmt=3D0x20130635 "%s",=20 >>>> flen=3D2, encoding=3D0x0, elen=3D0, flags=3D) at = /usr/src/contrib/libxo/libxo/libxo.c:4373 >>>> #5 0x20148710 in xo_do_emit_fields (xop=3D, = xop@entry=3D0x2009b120, fields=3D, = fields@entry=3D0xbfbfd7e8, max_fields=3Dmax_fields@entry=3D17, = fmt=3D) >>>> at /usr/src/contrib/libxo/libxo/libxo.c:6372 >>>> #6 0x201476a0 in xo_do_emit (xop=3Dxop@entry=3D0x2009b120, = flags=3D, fmt=3Dfmt@entry=3D0x204bf8e3 "=3D>{t:start/%*jd} = {t:sectors/%*jd} {t:name/%*s} {:scheme} ({h:size/%ld}){t:state}\n") >>>> at /usr/src/contrib/libxo/libxo/libxo.c:6551 >>>> #7 0x20147840 in xo_emit (fmt=3D0x204bf8e3 "=3D>{t:start/%*jd} = {t:sectors/%*jd} {t:name/%*s} {:scheme} ({h:size/%ld}){t:state}\n") = at /usr/src/contrib/libxo/libxo/libxo.c:6622 >>>> #8 0x204d1fd4 in gpart_show_geom (gp=3Dgp@entry=3D0x20089168, = element=3Delement@entry=3D0x204bfe51 "type", = show_providers=3Dshow_providers@entry=3D0) at = /usr/src/lib/geom/part/geom_part.c:654 >>>> #9 0x204d1048 in gpart_show (req=3D0x20089000, fl=3D) at /usr/src/lib/geom/part/geom_part.c:793 >>>> #10 0x000230dc in run_command (argc=3D0, argv=3D) at = /usr/src/sbin/geom/core/geom.c:497 >>>> #11 0x00022308 in main (argc=3D1, argv=3D0xbfbfed90) at = /usr/src/sbin/geom/core/geom.c:861 >>>> (gdb) list >>>> 2710 for (;;) { >>>> 2711 if (len =3D=3D 0) >>>> 2712 break; >>>> 2713=20 >>>> 2714 if (cp) { >>>> 2715 if (*cp =3D=3D '\0') >>>> 2716 break; >>>> 2717 if ((flags & XFF_UNESCAPE) && (*cp =3D=3D '\\' || *cp =3D=3D = '%')) { >>>> 2718 cp +=3D 1; >>>> 2719 len -=3D 1; >>>> (gdb) up >>>> #1 0x20150908 in xo_format_string (xop=3D0x2009b120, = xbp=3D0x2009b150, flags=3D4096, xfp=3D0xbfbfd280) at = /usr/src/contrib/libxo/libxo/libxo.c:2982 >>>> 2982 cols =3D xo_format_string_direct(xop, xbp, flags, wcp, cp, = len, >>>> (gdb) list >>>> 2977=20 >>>> 2978 return rc; >>>> 2979 } >>>> 2980 } >>>> 2981=20 >>>> 2982 cols =3D xo_format_string_direct(xop, xbp, flags, wcp, cp, = len, >>>> 2983 xfp->xf_width[XF_WIDTH_MAX], >>>> 2984 need_enc, xfp->xf_enc); >>>> 2985 if (cols < 0) >>>> 2986 goto bail; >>>> (gdb) list >>>> 3498=20 >>>> 3499 xf.xf_enc =3D (xf.xf_fc =3D=3D 'm') ? XF_ENC_UTF8 >>>> 3500 : (xf.xf_lflag || (xf.xf_fc =3D=3D 'S')) ? XF_ENC_WIDE >>>> 3501 : xf.xf_hflag ? XF_ENC_LOCALE : XF_ENC_UTF8; >>>> 3502=20 >>>> 3503 rc =3D xo_format_string(xop, xbp, flags, &xf); >>>> 3504=20 >>>> 3505 if ((flags & XFF_TRIM_WS) && xo_style_is_encoding(xop)) >>>> 3506 rc =3D xo_trim_ws(xbp, rc); >>>> 3507=20 >>>> (gdb) up >>>> #3 0x2014c69c in xo_simple_field (xop=3D0x2009b120, encode_only=3D0,= value=3D0x0, vlen=3D0, fmt=3D0x20130635 "%s", flen=3D2, = flags=3D) at /usr/src/contrib/libxo/libxo/libxo.c:3817 >>>> 3817 xo_do_format_field(xop, NULL, fmt, flen, flags); >>>> (gdb) list >>>> 3812 { >>>> 3813 if (encode_only) >>>> 3814 flags |=3D XFF_NO_OUTPUT; >>>> 3815=20 >>>> 3816 if (vlen =3D=3D 0) >>>> 3817 xo_do_format_field(xop, NULL, fmt, flen, flags); >>>> 3818 else if (!encode_only) >>>> 3819 xo_data_append_content(xop, value, vlen, flags); >>>> 3820 } >>>> 3821=20 >>>> (gdb) up >>>> #4 xo_format_value (xop=3D, xop@entry=3D0x2009b120, = name=3D, name@entry=3D0x204bf931 "state}\n", = nlen=3D, nlen@entry=3D5, value=3D0x0, vlen=3D0, = fmt=3D0x20130635 "%s",=20 >>>> flen=3D2, encoding=3D0x0, elen=3D0, flags=3D) at = /usr/src/contrib/libxo/libxo/libxo.c:4373 >>>> 4373 xo_simple_field(xop, FALSE, value, vlen, fmt, flen, flags); >>>> (gdb) list >>>> 4368=20 >>>> 4369 save.xhs_offset =3D xbp->xb_curp - xbp->xb_bufp; >>>> 4370 save.xhs_columns =3D xop->xo_columns; >>>> 4371 save.xhs_anchor_columns =3D xop->xo_anchor_columns; >>>> 4372=20 >>>> 4373 xo_simple_field(xop, FALSE, value, vlen, fmt, flen, flags); >>>> 4374=20 >>>> 4375 if (flags & XFF_HUMANIZE) >>>> 4376 xo_format_humanize(xop, xbp, &save, flags); >>>> 4377 break; >>>> (gdb) up >>>> #5 0x20148710 in xo_do_emit_fields (xop=3D, = xop@entry=3D0x2009b120, fields=3D, = fields@entry=3D0xbfbfd7e8, max_fields=3Dmax_fields@entry=3D17, = fmt=3D) >>>> at /usr/src/contrib/libxo/libxo/libxo.c:6372 >>>> 6372 xo_format_value(xop, content, clen, NULL, 0, >>>> (gdb) list >>>> 6367 flags &=3D ~XFF_WS; /* Prevent later handling of this flag */ >>>> 6368 } >>>> 6369 } >>>> 6370=20 >>>> 6371 if (ftype =3D=3D 'V') >>>> 6372 xo_format_value(xop, content, clen, NULL, 0, >>>> 6373 xfip->xfi_format, xfip->xfi_flen, >>>> 6374 xfip->xfi_encoding, xfip->xfi_elen, flags); >>>> 6375 else if (ftype =3D=3D '[') >>>> 6376 xo_anchor_start(xop, xfip, content, clen); >>>> (gdb) up >>>> #6 0x201476a0 in xo_do_emit (xop=3Dxop@entry=3D0x2009b120, = flags=3D, fmt=3Dfmt@entry=3D0x204bf8e3 "=3D>{t:start/%*jd} = {t:sectors/%*jd} {t:name/%*s} {:scheme} ({h:size/%ld}){t:state}\n") >>>> at /usr/src/contrib/libxo/libxo/libxo.c:6551 >>>> 6551 return xo_do_emit_fields(xop, fields, max_fields, fmt); >>>> (gdb) list >>>> 6546 /* Retain the info */ >>>> 6547 xo_retain_add(fmt, fields, max_fields); >>>> 6548 } >>>> 6549 } >>>> 6550=20 >>>> 6551 return xo_do_emit_fields(xop, fields, max_fields, fmt); >>>> 6552 } >>>> 6553=20 >>>> 6554 /* >>>> 6555 * Rebuild a format string in a gettext-friendly format. This = function >>>> (gdb) up >>>> #7 0x20147840 in xo_emit (fmt=3D0x204bf8e3 "=3D>{t:start/%*jd} = {t:sectors/%*jd} {t:name/%*s} {:scheme} ({h:size/%ld}){t:state}\n") = at /usr/src/contrib/libxo/libxo/libxo.c:6622 >>>> 6622 rc =3D xo_do_emit(xop, 0, fmt); >>>> (gdb) list >>>> 6617 { >>>> 6618 xo_handle_t *xop =3D xo_default(NULL); >>>> 6619 ssize_t rc; >>>> 6620=20 >>>> 6621 va_start(xop->xo_vap, fmt); >>>> 6622 rc =3D xo_do_emit(xop, 0, fmt); >>>> 6623 va_end(xop->xo_vap); >>>> 6624 bzero(&xop->xo_vap, sizeof(xop->xo_vap)); >>>> 6625=20 >>>> 6626 return rc; >>>> (gdb) up >>>> #8 0x204d1fd4 in gpart_show_geom (gp=3Dgp@entry=3D0x20089168, = element=3Delement@entry=3D0x204bfe51 "type", = show_providers=3Dshow_providers@entry=3D0) at = /usr/src/lib/geom/part/geom_part.c:654 >>>> warning: Source file is more recent than executable. >>>> 654 xo_emit("=3D>{t:start/%*jd} {t:sectors/%*jd} {t:name/%*s} = {:scheme} ({h:size/%ld}){t:state}\n", >>>> (gdb) list >>>> 649 } >>>> 650 wname =3D wmax; >>>> 651 pp =3D LIST_FIRST(&gp->lg_consumer)->lg_provider; >>>> 652 secsz =3D pp->lg_sectorsize; >>>> 653 xo_open_instance("part"); >>>> 654 xo_emit("=3D>{t:start/%*jd} {t:sectors/%*jd} {t:name/%*s} = {:scheme} ({h:size/%ld}){t:state}\n", >>>> 655 wblocks, (intmax_t)first, wblocks, (intmax_t)(last - first + = 1), >>>> 656 wname, gp->lg_name, >>>> 657 scheme, pp->lg_mediasize, >>>> 658 s ? " [CORRUPT]": ""); >>>> (gdb) up >>>> #9 0x204d1048 in gpart_show (req=3D0x20089000, fl=3D) at /usr/src/lib/geom/part/geom_part.c:793 >>>> 793 gpart_show_geom(gp, element, show_providers); >>>> (gdb) list >>>> 788 else >>>> 789 errx(EXIT_FAILURE, "No such geom: %s.", name); >>>> 790 } >>>> 791 } else { >>>> 792 LIST_FOREACH(gp, &classp->lg_geom, lg_geom) { >>>> 793 gpart_show_geom(gp, element, show_providers); >>>> 794 } >>>> 795 } >>>> 796 xo_close_list(name); >>>> 797 geom_deletetree(&mesh); >>>> (gdb) up >>>> #10 0x000230dc in run_command (argc=3D0, argv=3D) at = /usr/src/sbin/geom/core/geom.c:497 >>>> warning: Source file is more recent than executable. >>>> 497 cmd->gc_func(req, flags); >>>> (gdb) list >>>> 492 buf[0] =3D '\0'; >>>> 493 if (cmd->gc_func !=3D NULL) { >>>> 494 unsigned flags; >>>> 495=20 >>>> 496 flags =3D set_flags(cmd); >>>> 497 cmd->gc_func(req, flags); >>>> 498 errstr =3D req->error; >>>> 499 } else { >>>> 500 gctl_add_param(req, "output", sizeof(buf), buf, >>>> 501 GCTL_PARAM_WR | GCTL_PARAM_ASCII); >>>> (gdb) up >>>> #11 0x00022308 in main (argc=3D1, argv=3D0xbfbfed90) at = /usr/src/sbin/geom/core/geom.c:861 >>>> 861 run_command(argc, argv); >>>> (gdb) list >>>> 856 show_tree(); >>>> 857 return (0); >>>> 858 } >>>> 859=20 >>>> 860 get_class(&argc, &argv); >>>> 861 run_command(argc, argv); >>>> 862 /* NOTREACHED */ >>>> 863=20 >>>> 864 exit(EXIT_FAILURE); >>>> 865 } >>>>=20 >>>>=20 >>>> For reference: >>>>=20 >>>> # ls -lodT /usr/src/contrib/libxo/libxo/libxo.c = /usr/src/lib/geom/part/geom_part.c /usr/src/sbin/geom/core/geom.c = /sbin/gpart >>>> -r-xr-xr-x 17 root wheel - 30720 Dec 18 07:22:59 2025 /sbin/gpart >>>> -rw-r--r-- 1 root wheel - 211505 Dec 24 08:29:29 2025 = /usr/src/contrib/libxo/libxo/libxo.c >>>> -rw-r--r-- 1 root wheel - 35380 Dec 24 08:29:29 2025 = /usr/src/lib/geom/part/geom_part.c >>>> -rw-r--r-- 1 root wheel - 36298 Dec 24 08:29:29 2025 = /usr/src/sbin/geom/core/geom.c >>>>=20 >>>> That explains the "warning: Source file is more recent than = executable" >>>> messages. >>>=20 >>> Additional context notes: >>>=20 >>> ) On the Cortex-A7 SUT the above is repeatable at the >>> shell prompt when logged in: just try "gpart show", >>> including via gdb use. "/rescue/gpart show" also >>> core dumps. >>>=20 >>> ) In a armv7 chroot on a aarch64 system (the Windows >>> Dev Kit 2023), the "gpart show" works just fine. >>>=20 >>> But the vintages could well be a little different. >>> (Tracing to git commits for pkgbase is problematical.) >>>=20 >>>=20 >>> I'll note: >>>=20 >>> Johan S=C3=B6llvander >>> Date: Thu, 18 Dec 2025 15:23:29 UTC=20 >>> The branch main has been updated by js: >>>=20 >>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D4f809ffec69cd6ede3e7be9a5bc876b2= e5931028 >>>=20 >>> commit 4f809ffec69cd6ede3e7be9a5bc876b2e5931028 >>> Author: Johan S=C3=B6llvander >>> AuthorDate: 2025-12-18 15:06:09 +0000 >>> Commit: Johan S=C3=B6llvander >>> CommitDate: 2025-12-18 15:22:59 +0000 >>>=20 >>> gpart: add libxo support for "show" subcommand + man page updates >>>=20 >>> Added libxo support to `gpart show`, also updated the man >>> pages for geom and gpart to show where you can expect >>> libxo formatted output. >>>=20 >>> PR: 290629 >>> MFC after: 1 week >>> Sponsored by: ConnectWise >>> Reviewed by: asomers, mckusick, phil >>> Approved by: asomers (mentor) >>> Differential Revision: https://reviews.freebsd.org/D53950 >>> --- >>> . . . >>>=20 >>>=20 >>> Note: Dec 18 07:22:59 2025 /sbin/gpart for my time zone >>> would be 2025-12-18 15:22:59 +0000 (the CommitDate) UTC. >>=20 >>=20 >> I shut down the OPi+2e and mounted the boot media >> on the Windows Dev Kit 2023 and then did a chroot >> into that boot media and tried "gpart show": >>=20 >> "gpart show" worked just fine. >>=20 >> What matters is which kernel it runs on for the >> exact same world files on the exact same media. >>=20 >=20 > I got that wrong: a large part of the output occurs before > a segmentation fault on the Windows Dev Kit 2023. But it has a > very different backtrace. Also, note all the "517M" that make no > sense --and the "0" and "2" junk as well: >=20 > # gpart show=20 > =3D> 34 1000215149 nda0 GPT (2)(null) > 34 2014 - free - (2) > 2048 532480 1 efi (517M) > 534528 32768 2 ms-reserved (517M) > 567296 997287936 3 ms-basic-data (517M) > 997855232 2359296 4 ms-recovery (517M) > 1000214528 655 - free - (2) >=20 > =3D> 34 2930277101 da0 GPT (0)(null) > 34 32734 - free - (0) > 32768 501760 1 efi (517M) > 534528 20971520 2 freebsd-swap (517M) > 21506048 29360128 3 freebsd-swap (517M) > 50866176 33554432 4 freebsd-swap (517M) > 84420608 67108864 5 freebsd-swap (517M) > 151529472 96468992 6 freebsd-swap (517M) > 247998464 268435456 7 freebsd-swap (517M) > 516433920 7340032 8 freebsd-swap (517M) > 523773952 13096960 - free - (0) > 536870912 2357198848 9 freebsd-ufs (517M) > 2894069760 36207375 - free - (0) >=20 > =3D> 40 1953525088 da1 GPT (0)(null) > 40 532480 1 efi (517M) > 532520 2008 - free - (0) > 534528 3563520 2 freebsd-swap (517M) > 4098048 6504448 - free - (0) > 10602496 1740636160 4 freebsd-ufs (517M) > 1751238656 7546880 3 freebsd-swap (517M) > 1758785536 194739592 - free - (0) >=20 > Segmentation fault (core dumped) >=20 > As for gdb's backtrace: >=20 > Program terminated with signal SIGSEGV, Segmentation fault. > Address not mapped to object. > #0 0x200c5ef0 in delete_config (gp=3D0x2053e224) at = /usr/src/lib/libgeom/geom_xml2tree.c:502 >=20 > warning: Source file is more recent than executable. > 502 LIST_REMOVE(cf, lg_config); > (gdb) bt > #0 0x200c5ef0 in delete_config (gp=3D0x2053e224) at = /usr/src/lib/libgeom/geom_xml2tree.c:502 > #1 geom_deletetree (gmp=3Dgmp@entry=3D0xffffcb48) at = /usr/src/lib/libgeom/geom_xml2tree.c:524 > #2 0x204d2064 in gpart_show (req=3D, fl=3D) at /usr/src/lib/geom/part/geom_part.c:797 > #3 0x000230dc in run_command (argc=3D0, argv=3D) at = /usr/src/sbin/geom/core/geom.c:497 > #4 0x00022308 in main (argc=3D1, argv=3D0xffffdc70) at = /usr/src/sbin/geom/core/geom.c:861 >=20 >=20 > (I need to get some sleep.) Back to the Cortex-A7 context (armv7 without aatch64) for that same media . . . The tail of a truss output from a run looks like (note the "minherit(0x2051e000,1100,INHERIT_ZERO)"?): . . . modfind("g_part") =3D 190 (0xbe) = mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 537432064 (0x20089000) = mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1= ,0x0) =3D 537452544 (0x2008e000) = mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1= ,0x0) =3D 537456640 (0x2008f000) = mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542076928 (0x204f7000) = mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542089216 (0x204fa000) = mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542109696 (0x204ff000) = mmap(0x0,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542121984 (0x20502000) __sysctl("sysctl.name2oid = kern.geom.confxml",2,0xbfbfdbb8,0xbfbfdbb0,0x200b4716,17) =3D 0 (0x0) __sysctl("kern.geom.confxml",3,0x0,0xbfbfdbb4,0x0,0) =3D 0 (0x0) = mmap(0x0,24576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542150656 (0x20509000) __sysctl("kern.geom.confxml",3,0x20509180,0xbfbfdbb4,0x0,0) =3D 0 (0x0) = mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542175232 (0x2050f000) = mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542195712 (0x20514000) = mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542216192 (0x20519000) mmap(0x0,1100,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 542236672 (0x2051e000) minherit(0x2051e000,1100,INHERIT_ZERO) =3D 0 (0x0) getrandom("\M-,\M-;\M^P\^Rl\^VHP\M->'\M-v"...,40,0) =3D 40 (0x28) = mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542240768 (0x2051f000) = mmap(0x0,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542261248 (0x20524000) = mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542289920 (0x2052b000) = mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542302208 (0x2052e000) = mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-= 1,0x0) =3D 542322688 (0x20533000) = mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1= ,0x0) =3D 542334976 (0x20536000) = mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1= ,0x0) =3D 542339072 (0x20537000) = mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1= ,0x0) =3D 542343168 (0x20538000) SIGNAL 11 (SIGSEGV) code=3DSEGV_MAPERR trapno=3D5 addr=3D0x6e480000 process killed, signal =3D 11 (core dumped) Given recent work on anonymous zeroed pages, I note for minherit: QUOTE INHERIT_ZERO This option causes the address space in question to = be mapped as new anonymous pages, which would be initial- ized to all zero bytes, in the child process. END QUOTE Not that I've any specific evidence of it being an issue. I'll note that trying the official debug kernel did not report anything special and got the same behavior. =3D=3D=3D Mark Millard marklmi at yahoo.com