From nobody Sun Dec 28 08:23:12 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 4dfC6X5l9rz6LRKH for ; Sun, 28 Dec 2025 08:23:32 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic306-19.consmr.mail.gq1.yahoo.com (sonic306-19.consmr.mail.gq1.yahoo.com [98.137.68.82]) (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 4dfC6V2Qylz3V0B for ; Sun, 28 Dec 2025 08:23:29 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b="BPg/uHQm"; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.68.82 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1766910206; bh=d6kkl2MwgtiFp8QAHXHOMXLC5V1hG6Pv6t1d8EfUg6A=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=BPg/uHQmfs1cgabQyoTnI47/jRU5xfOI+d/XAnStIMg/ff7drzPbniK/cAFTGTjfyY0gVjT7eceyWdareaW4Xf1/ElaLlFdHuWna+0sNXkifMFN9WWecf9zmgbTjBQxHg3Ijr7K+kVtSBq2vnkgex2gsBLOyA/D4fSacbRdP9QJ0q9IyMdEAfRg2D+dHfguv2NXiukhcbjuH3+HMx6v4JkACh+cQfHffe7Z4XxNjKF54c/CkQDpQ17XKTdafJWEZ8hLIMxa7rioWKn8RRhGWDdG4RO5NI6/wE88+f7eLxQzng6pwyC8+rBUzINjbYsN9Yph9pmiQYbX2r+jumtL/+g== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1766910206; bh=r7cldOjLHWv2/Qlz92yqceiSBzg4KeToKsVqfsFtNi3=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=KweZI7hmyFpHWaA2Jm6PxpPGneLwP4IB9jQc72TxMAyM/oYCL5o+MFIRUD31ixfYvqSueUU6/0DyUQSjx/h5Yo2mrP1jAfLXdWXfoI0HcCuigqhkIwjsygV+5YgQscbuMpobAtcvjrKQCBii/J7XdME0URa+3cyzlpfx7yhJqd0CkKVK4A5tmqxi9Y2eGZuwzaE0ulQpZv8+BtM21vdRiIsSBpvNLMX8zk04JQHmPtWv++t02bRONp8/e1dVgQWybWxoVI49QDgJVp8LAUV6ancvCIvwDTWqqCqL9pdhrA4h5FwUNQun9z/xWW7bPYBm6HMbnS03WdVnrmSPCw5lkQ== X-YMail-OSG: FXvbr6wVM1lqosKf8qYOvxVeeyfSwBhll9NxOacUN4mRICGtQQvNXlmPhr4U7aJ QgmeAW1i35HhIVsXph07DXhA.hBblzUQ5nYm.wniFSqoQTCxAuAJ21B_uI5quBBEhl1j4yolBwVT hXT4nXZqwwFuXwi0DR4P5KaUFs0y85zLlLSep.nEa0rtA8DCTXGFIt71CqkNp1eVi.goNexT2qS2 a_b7x2KnesAdC6ALAGf35HATgd9H3q3ozafScJbRQaMf4xD0AIkAM7h37sM1tI.KMyCfeWYL9trJ GY3hSqqasVjcJP4YdOwxRxRQgE0xw1G5HurC52q0b4jwZkO20kA6TiAyl.iLPM5otor6vjzDbgGi w5ZCr.oL3h6skiKgjxj5g09aNI4iUzr.oVvrLUaCSiUFDeaarR2b_PQDfvT3eGOzsueT8zjY8az9 Y5Xsw3Ucj0AfPdFyTvMTGYSyygSymaQK.FL_sTj5Iv4A4IDggF52X2HEf4ssjvKHIXW3qxv.lU8K 0Obg27hO.EIJ9Gc.D.lugTM28ekilB0bxA_.vJ7Y3ywSRROOaqldvXkJLC8zlhzctmrHQ234voY5 bE73YR2nxkJicQAgrsVIDbf9fyglu8xN8uZq13AwtNfIJ5fReouxn3nm8iqJd7DQ2r8zcjOwWlSN bwwlmvEO8x.yc41nxJNMlNu3xi.VzSiCX45aGIClmTwXgtPvSH8Vj.GH.d2MARrNu6cAfnYlLe2I PhTf0ZLtPrQP2bJn0oQx9GUKLwd962NlCb1CDxVLM7zqjXH2DgPa3Zg5s3xriKuOJRuXqp.QRwVl P49Z3onfrb077FwagQlvCnvdfXdg_AEhSTq_sAjwehF.6RoVmEmsK4ROjjXWOuY4XGWdniklkVNx Yo_tf0Gw9R5wwZUt0Dx5taP86Jioka5sAcPTPf3qF3bcJwK11sUXMquQrNknjzec0PObhIH1raXG .hDECezTnRtNnk0NonPb8xwosNU2cbXkYBsjxAS..GKQCZHtaxUWeq_N_yGJNAxJ9QvOd9i2kHkX F5CASupG_z1YpYObX4y77RaB_B1C2lJH3UPqc_0MHp66b.me7R1YXjOiES0lW8hEOx2wcSaBS0tv s22j_JDgQT5onuNiQAXjweKp4ntJND.I_RfBA8FF23_zCi7kz81XC2VasJr1n.pqWvj8xTDOV79A Yw8HmySmz.zpcHixRhQamYkkI2ovqLzED4FwuSApjV_2DeCFwRX01TAvTZPlAkpy3KUZxVY9NPsY hw866ocyeTkN1qHGvHaocthxAEH3On_qyhn27T3g1AJfjJbgErtyxTEYD14oiA5Onx1nE._baroQ sw2S3p1hMUL..YZOWefM8HcIm.KV1FR4CL6he7zA3SJMxo9mbmukATbtgYIOKmSD5L3b3ivQe5_7 qrhVafL37E_GuaFSnzbGXjxFA.EX7PpFqFCUmjKn5PIu2.dAF7QN89ZPIzbiXSwWmfP7.J9HDbo0 ouNsfWGxDrUWhk3DK5XAmAM3Z1wIGZ469i6v0Q8blCu3I895QoFwCBUUel4NPqLUqScVr47.kVKF qitETNcKucyPIXHlSQdCXt9Q4D.nlnDZMrabbVWbI9kUuIkNLAUr1kvFKf1kCij_AsXsshLxEmvV EBmZVE9V8HznkBmO6Riqmb.Aok2TCBfe95u_T1lRlDqQWAwZi0DvwrgB0_1lLwk_qfowQHzNy.Wd 7L.RC9HRHOPmhPjFfo2CiSspfk.lT8nemTI5rB3b8cqhMMF_r8lpZcwDNy2hP5Jx3LwVELxf94jF rl4H0fE.8d2hi9VzzBSQ_CvSDsA5O9LQLh5z5iGkva.5fsvBauFHOinjZpzz8IpD9L5WiNfKNawn LtY_5XFMa_KxxORYXwzFsAk51nCSk3VCh2ulZbq.GPzsNKTKABKbvecSeMFv_6vO7Zbm4KKNVVJg pXggcg5R2llAJK41wYWTJF2AkGkcChUkHEfcsIqX7IMXprAyQQRNyxjLU9GVegI4UR9lPRW3D0RJ 2ViC5MTiyUEpSprJ7B2wfO9zZut73BY.gfDWm69j9MsPv0ieYF75VJm3q0JATbmI1XaEPy_MDyf1 Pp24PTumYdYu9oV32fOzdoxbFwkTCFmYN4NCacwQbixvB8AM0f0WnPl9ezuQHYddRN2WQgNA4S.l o6kC2OFPJUHEYU7kDPL5SnKLvsRAtNEjR9lKjGqpUWRW3wOW.RJV2dcAWGmRER2YMzhNuyVwZdlj 15sAsP7eTMRBpy86lg7e35X4FNho7piXHz_whXp8QhOhajUuqMJ5pAe19auDyAwFc1t15A82MoDm uS18YFIgv X-Sonic-MF: X-Sonic-ID: d9ace80a-1e43-4957-b107-8cd2d2db9f39 Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.gq1.yahoo.com with HTTP; Sun, 28 Dec 2025 08:23:26 +0000 Received: by hermes--production-gq1-54bf57fc64-trzjk (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 351d25ed9a16f1850e3f2a8f6a30f6ad; Sun, 28 Dec 2025 08:23:23 +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: <6C850038-7550-4954-A319-0F1484C31766@yahoo.com> Date: Sun, 28 Dec 2025 00:23:12 -0800 Cc: Konstantin Belousov Content-Transfer-Encoding: quoted-printable Message-Id: <29DCA955-4FEB-4EB4-8AEC-01312C932456@yahoo.com> References: <73B5AB7B-E546-431C-AAF8-C20DB5616CD5@yahoo.com> <16109C94-D82C-4873-BC21-41B420A850EE@yahoo.com> <6C850038-7550-4954-A319-0F1484C31766@yahoo.com> To: freebsd-arm , FreeBSD Current , "js@freebsd.org" X-Mailer: Apple Mail (2.3826.700.81) X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.88 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-0.99)[-0.993]; NEURAL_HAM_SHORT(-0.89)[-0.885]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; 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.82:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.68.82:from] X-Rspamd-Queue-Id: 4dfC6V2Qylz3V0B On Dec 27, 2025, at 23:55, Mark Millard wrote: > [Turns out: works on aarch64 kernel's armv7 support, fails > on the armv7 native kernel, exact same world files on the > exact same media.] 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 > 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=3D= 2, 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 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: # 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) =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) =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) Segmentation fault (core dumped) As for gdb's backtrace: 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 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 (I need to get some sleep.) =3D=3D=3D Mark Millard marklmi at yahoo.com