Re: armv7 main's gpart [show]: signal 11 core dump during boot, before login; xo_format_string_direct; official pkgbase distribution (kernel and world)

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm,gmane.os.freebsd.current
Message-ID <[email protected]>
On Dec 28, 2025, at 08:54, Mark Millard <[email protected]> wrote:

> [Resend including freebsd-arm.]
> 
> On Dec 28, 2025, at 08:48, Mark Millard <[email protected]> wrote:
> 
> [email protected] <js_at_FreeBSD.org> wrote on
> Date: Sun, 28 Dec 2025 11:01:59 UTC :
> 
>> I'll take a look at it and try to setup a reproducer, unfortunately my 
>> time is a bit limited during the holidays so I can't promise any quick 
>> fixes right now.
>> 
>> Could you share the output of
>> 
>> gpart --libxo:JP show
>> 
>> with me? If possible.
> 
> On the Orange Pi Plus 2e (Cortex-A7, not aarch64,
> just armv7):
> 
> # gpart --libxo:JP show
> Segmentation fault (core dumped)
> 
> I'll note that the 0x6e480000 in r0 that is shown
> later below is the same failing address reported
> in my original list submittal about the issue.
> 
> 
> For reference:
> 
> (gdb) bt
> #0  strlen () at /usr/src/lib/libc/arm/string/strlen.S:46
> #1  0x20151020 in xo_format_string (xop=0x2009b120, xbp=0x2009b150, flags=4096, xfp=0xbfbfd1f8) at /usr/src/contrib/libxo/libxo/libxo.c:2966
> #2  xo_do_format_field (xop=<optimized out>, xop@entry=0x2009b120, xbp=0x2009b150, fmt=fmt@entry=0xbfbfd268 "%s", flen=<optimized out>, flags=4096) at /usr/src/contrib/libxo/libxo/libxo.c:3503
> #3  0x2014d0a8 in xo_simple_field (xop=0x2009b120, encode_only=0, value=0x0, vlen=0, fmt=0xbfbfd268 "%s", flen=2, flags=4096) at /usr/src/contrib/libxo/libxo/libxo.c:3817
> #4  xo_format_value (xop=<optimized out>, xop@entry=0x2009b120, name=name@entry=0x204bf931 "state}\n", nlen=nlen@entry=5, value=0x0, vlen=0, fmt=0xbfbfd268 "%s", flen=2, encoding=0x0, elen=0, 
>   flags=4096) at /usr/src/contrib/libxo/libxo/libxo.c:4535
> #5  0x20148710 in xo_do_emit_fields (xop=<optimized out>, xop@entry=0x2009b120, fields=<optimized out>, fields@entry=0xbfbfd768, max_fields=max_fields@entry=17, fmt=<optimized out>)
>   at /usr/src/contrib/libxo/libxo/libxo.c:6372
> #6  0x201476a0 in xo_do_emit (xop=xop@entry=0x2009b120, flags=<optimized out>, fmt=fmt@entry=0x204bf8e3 "=>{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=0x204bf8e3 "=>{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=gp@entry=0x20089168, element=element@entry=0x204bfe51 "type", show_providers=show_providers@entry=0) at /usr/src/lib/geom/part/geom_part.c:654
> #9  0x204d1048 in gpart_show (req=0x20089000, fl=<optimized out>) at /usr/src/lib/geom/part/geom_part.c:793
> #10 0x000230dc in run_command (argc=0, argv=<optimized out>) at /usr/src/sbin/geom/core/geom.c:497
> #11 0x00022308 in main (argc=1, argv=0xbfbfed10) at /usr/src/sbin/geom/core/geom.c:861
> (gdb) list
> . . .
> 

I'll note that the details are different, but I get failures
in an armv7 chroot on aarch64 that supports armv7 code. So
that is another type of environment that might be of use based
on pkgbase distribution materials.

Your --libxo:JP command in that context gets some output
before also getting a segmentation fault:

# gpart --libxo:JP show
{
  "__version": "1", 
  "PART": [
    {
      "start": 34,
      "sectors": 1000215149,
      "name": "nda0",
      "scheme": "GPT",
      "size": 2,
      "state": "(null)",
      "partitions": [
        {
          "start": 34,
          "sectors": 2014,
          "free": true,
          "size": 2
        },
        {
          "start": 2048,
          "sectors": 532480,
          "index": 1,
          "name": "nda0p1",
          "type": "efi",
          "label": "EFI system partition",
          "rawtype": "c12a7328-f81f-11d2-ba4b-00a0c93ec93b",
          "size": 541854500
        },
        {
          "start": 534528,
          "sectors": 32768,
          "index": 2,
          "name": "nda0p2",
          "type": "ms-reserved",
          "label": "Microsoft reserved partition",
          "rawtype": "e3c9e316-0b5c-4db8-817d-f92df00215ae",
          "size": 541854500
        },
        {
          "start": 567296,
          "sectors": 997287936,
          "index": 3,
          "name": "nda0p3",
          "type": "ms-basic-data",
          "label": "Basic data partition",
          "rawtype": "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7",
          "size": 541854500
        },
        {
          "start": 997855232,
          "sectors": 2359296,
          "index": 4,
          "name": "nda0p4",
          "type": "ms-recovery",
          "label": "(null)",
          "rawtype": "de94bba4-06d1-4d40-a16a-bfd50179d6ac",
          "size": 541854500
        },
        {
          "start": 1000214528,
          "sectors": 655,
          "free": true,
          "size": 2
        }
      ]
    },
    {
      "start": 34,
      "sectors": 2930277101,
      "name": "da0",
      "scheme": "GPT",
      "size": 0,
      "state": "(null)",
      "partitions": [
        {
          "start": 34,
          "sectors": 32734,
          "free": true,
          "size": 0
        },
        {
          "start": 32768,
          "sectors": 501760,
          "index": 1,
          "name": "da0p1",
          "type": "efi",
          "label": "PBaseEFI",
          "rawtype": "c12a7328-f81f-11d2-ba4b-00a0c93ec93b",
          "size": 541854500
        },
        {
          "start": 534528,
          "sectors": 20971520,
          "index": 2,
          "name": "da0p2",
          "type": "freebsd-swap",
          "label": "PBaseSwp10",
          "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
          "size": 541854500
        },
        {
          "start": 21506048,
          "sectors": 29360128,
          "index": 3,
          "name": "da0p3",
          "type": "freebsd-swap",
          "label": "PBaseSwp14",
          "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
          "size": 541854500
        },
        {
          "start": 50866176,
          "sectors": 33554432,
          "index": 4,
          "name": "da0p4",
          "type": "freebsd-swap",
          "label": "PBaseSwp16",
          "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
          "size": 541854500
        },
          "type": "freebsd-swap",
          "label": "PBaseSwp32",
          "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
          "size": 541854500
        },
        {
          "start": 151529472,
          "sectors": 96468992,
          "index": 6,
          "name": "da0p6",
          "type": "freebsd-swap",
          "label": "PBaseSwp46",
          "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
          "size": 541854500
        },
        {
          "start": 247998464,
          "sectors": 268435456,
          "index": 7,
          "name": "da0p7",
          "type": "freebsd-swap",
          "label": "PBaseSwp128",
          "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
          "size": 541854500
        },
        {
          "start": 516433920,
          "sectors": 7340032,
          "index": 8,
          "name": "da0p8",
          "type": "freebsd-swap",
          "label": "PBaseSwp3p5",
          "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
          "size": 541854500
        },
        {
          "start": 523773952,
          "sectors": 13096960,
          "free": true,
          "size": 0
        },
        {
          "start": 536870912,
          "sectors": 2357198848,
          "index": 9,
          "name": "da0p9",
          "type": "freebsd-ufs",
          "label": "PBaseUFS",
          "rawtype": "516e7cb6-6ecf-11d6-8ff8-00022d09712b",
          "size": 541854500
        },
        {
          "start": 2894069760,
          "sectors": 36207375,
          "free": true,
          "size": 0
        }
      ]
    }Segmentation fault (core dumped)

# gpart show
=>        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)

=>        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)

Segmentation fault (core dumped)

From an aarch64 context instead pf the armv7 chroot:

# gpart show
you have mail
=>        34  1000215149  nda0  GPT  (477G)
          34        2014        - free -  (1007K)
        2048      532480     1  efi  (260M)
      534528       32768     2  ms-reserved  (16M)
      567296   997287936     3  ms-basic-data  (476G)
   997855232     2359296     4  ms-recovery  (1G)
  1000214528         655        - free -  (328K)

=>        34  2930277101  da0  GPT  (1T)
          34       32734       - free -  (16M)
       32768      501760    1  efi  (245M)
      534528    20971520    2  freebsd-swap  (10G)
    21506048    29360128    3  freebsd-swap  (14G)
    50866176    33554432    4  freebsd-swap  (16G)
    84420608    67108864    5  freebsd-swap  (32G)
   151529472    96468992    6  freebsd-swap  (46G)
   247998464   268435456    7  freebsd-swap  (128G)
   516433920     7340032    8  freebsd-swap  (4G)
   523773952    13096960       - free -  (6G)
   536870912  2357198848    9  freebsd-ufs  (1T)
  2894069760    36207375       - free -  (17G)

Here is a "diff -u" of the libxo:JP outputs:

# diff -u gpart_show_armv7_failure_libxo_jp.txt gpart_show_aarch64_good_libxo_jp.txt
--- gpart_show_armv7_failure_libxo_jp.txt	2025-12-28 10:27:57.985558000 -0800
+++ gpart_show_aarch64_good_libxo_jp.txt	2025-12-28 10:28:41.456968000 -0800
@@ -7,14 +7,14 @@
       "sectors": 1000215149,
       "name": "nda0",
       "scheme": "GPT",
-      "size": 2,
-      "state": "(null)",
+      "size": 512110190592,
+      "state": "",
       "partitions": [
         {
           "start": 34,
           "sectors": 2014,
           "free": true,
-          "size": 2
+          "size": 1031168
         },
         {
           "start": 2048,
@@ -24,7 +24,7 @@
           "type": "efi",
           "label": "EFI system partition",
           "rawtype": "c12a7328-f81f-11d2-ba4b-00a0c93ec93b",
-          "size": 541854500
+          "size": 272629760
         },
         {
           "start": 534528,
@@ -34,7 +34,7 @@
           "type": "ms-reserved",
           "label": "Microsoft reserved partition",
           "rawtype": "e3c9e316-0b5c-4db8-817d-f92df00215ae",
-          "size": 541854500
+          "size": 16777216
         },
         {
           "start": 567296,
@@ -44,7 +44,7 @@
           "type": "ms-basic-data",
           "label": "Basic data partition",
           "rawtype": "ebd0a0a2-b9e5-4433-87c0-68b6b72699c7",
-          "size": 541854500
+          "size": 510611423232
         },
         {
           "start": 997855232,
@@ -54,13 +54,13 @@
           "type": "ms-recovery",
           "label": "(null)",
           "rawtype": "de94bba4-06d1-4d40-a16a-bfd50179d6ac",
-          "size": 541854500
+          "size": 1207959552
         },
         {
           "start": 1000214528,
           "sectors": 655,
           "free": true,
-          "size": 2
+          "size": 335360
         }
       ]
     },
@@ -69,14 +69,14 @@
       "sectors": 2930277101,
       "name": "da0",
       "scheme": "GPT",
-      "size": 0,
-      "state": "(null)",
+      "size": 1500301910016,
+      "state": "",
       "partitions": [
         {
           "start": 34,
           "sectors": 32734,
           "free": true,
-          "size": 0
+          "size": 16759808
         },
         {
           "start": 32768,
@@ -86,7 +86,7 @@
           "type": "efi",
           "label": "PBaseEFI",
           "rawtype": "c12a7328-f81f-11d2-ba4b-00a0c93ec93b",
-          "size": 541854500
+          "size": 256901120
         },
         {
           "start": 534528,
@@ -96,7 +96,7 @@
           "type": "freebsd-swap",
           "label": "PBaseSwp10",
           "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
-          "size": 541854500
+          "size": 10737418240
         },
         {
           "start": 21506048,
@@ -106,7 +106,7 @@
           "type": "freebsd-swap",
           "label": "PBaseSwp14",
           "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
-          "size": 541854500
+          "size": 15032385536
         },
         {
           "start": 50866176,
@@ -116,12 +116,17 @@
           "type": "freebsd-swap",
           "label": "PBaseSwp16",
           "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
-          "size": 541854500
+          "size": 17179869184
         },
+        {
+          "start": 84420608,
+          "sectors": 67108864,
-          "size": 541854500
+          "size": 34359738368
         },
         {
           "start": 151529472,
@@ -131,7 +136,7 @@
           "type": "freebsd-swap",
           "label": "PBaseSwp46",
           "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
-          "size": 541854500
+          "size": 49392123904
         },
         {
           "start": 247998464,
@@ -141,7 +146,7 @@
           "type": "freebsd-swap",
           "label": "PBaseSwp128",
           "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
-          "size": 541854500
+          "size": 137438953472
         },
         {
           "start": 516433920,
@@ -151,13 +156,13 @@
           "type": "freebsd-swap",
           "label": "PBaseSwp3p5",
           "rawtype": "516e7cb5-6ecf-11d6-8ff8-00022d09712b",
-          "size": 541854500
+          "size": 3758096384
         },
         {
           "start": 523773952,
           "sectors": 13096960,
           "free": true,
-          "size": 0
+          "size": 6705643520
         },
         {
           "start": 536870912,
@@ -167,13 +172,16 @@
           "type": "freebsd-ufs",
           "label": "PBaseUFS",
           "rawtype": "516e7cb6-6ecf-11d6-8ff8-00022d09712b",
-          "size": 541854500
+          "size": 1206885810176
         },
         {
           "start": 2894069760,
           "sectors": 36207375,
           "free": true,
-          "size": 0
+          "size": 18538176000
         }
       ]
-    }Segmentation fault (core dumped)
+    }
+  ]
+}
+




===
Mark Millard
marklmi at yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.