[minherit(0x2051e000,1100,INHERIT_ZERO) = 0 (0x0) might be involoved?]
On Dec 28, 2025, at 00:23, Mark Millard <[email protected]> wrote: > On Dec 27, 2025, at 23:55, Mark Millard <[email protected]> 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. > >> >> On Dec 27, 2025, at 23:35, Mark Millard <[email protected]> wrote: >> >>> On Dec 27, 2025, at 22:03, Mark Millard <[email protected]> wrote: >>> >>>> Context: >>>> >>>> # uname -apKU >>>> FreeBSD OPiP2E-RPi2v1p1 16.0-CURRENT FreeBSD 16.0-CURRENT >>>> main-n282732-939ac0c8fde2 GENERIC-NODEBUG arm armv7 1600007 1600007 >>>> >>>> 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. >>>> >>>> During boot, the time on the Orange Pi Plus 2ed is bad so: >>>> >>>> # ls -lodT /gpart.core >>>> -rw------- 1 root wheel nodump 3174400 Jan 1 00:01:01 2010 /gpart.core >>>> >>>> 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. >>>> >>>> >>>> >>>> Core was generated by `gpart show'. >>>> Program terminated with signal SIGSEGV, Segmentation fault. >>>> Address not mapped to object. >>>> #0 xo_format_string_direct (xop=xop@entry=0x2009b120, >>>> xbp=xbp@entry=0x2009b150, flags=flags@entry=4096, wcp=0x0, cp=0x6e480000 >>>> <error: Cannot access memory at address 0x6e480000>, len=-1, max=-1, >>>> need_enc=3, have_enc=2) at /usr/src/contrib/libxo/libxo/libxo.c:2715 >>>> >>>> warning: Source file is more recent than executable. >>>> 2715 if (*cp == '\0') >>>> (gdb) bt >>>> #0 xo_format_string_direct (xop=xop@entry=0x2009b120, >>>> xbp=xbp@entry=0x2009b150, flags=flags@entry=4096, wcp=0x0, cp=0x6e480000 >>>> <error: Cannot access memory at address 0x6e480000>, len=-1, max=-1, >>>> need_enc=3, have_enc=2) at /usr/src/contrib/libxo/libxo/libxo.c:2715 >>>> #1 0x20150908 in xo_format_string (xop=0x2009b120, xbp=0x2009b150, >>>> flags=4096, xfp=0xbfbfd280) at /usr/src/contrib/libxo/libxo/libxo.c:2982 >>>> #2 xo_do_format_field (xop=<optimized out>, xop@entry=0x2009b120, >>>> xbp=0x2009b150, fmt=fmt@entry=0x20130635 "%s", flen=flen@entry=2, >>>> flags=4096) at /usr/src/contrib/libxo/libxo/libxo.c:3503 >>>> #3 0x2014c69c in xo_simple_field (xop=0x2009b120, encode_only=0, >>>> value=0x0, vlen=0, fmt=0x20130635 "%s", flen=2, flags=<optimized out>) at >>>> /usr/src/contrib/libxo/libxo/libxo.c:3817 >>>> #4 xo_format_value (xop=<optimized out>, xop@entry=0x2009b120, >>>> name=<optimized out>, name@entry=0x204bf931 "state}\n", nlen=<optimized >>>> out>, nlen@entry=5, value=0x0, vlen=0, fmt=0x20130635 "%s", >>>> flen=2, encoding=0x0, elen=0, flags=<optimized out>) at >>>> /usr/src/contrib/libxo/libxo/libxo.c:4373 >>>> #5 0x20148710 in xo_do_emit_fields (xop=<optimized out>, >>>> xop@entry=0x2009b120, fields=<optimized out>, fields@entry=0xbfbfd7e8, >>>> 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=0xbfbfed90) at >>>> /usr/src/sbin/geom/core/geom.c:861 >>>> (gdb) list >>>> 2710 for (;;) { >>>> 2711 if (len == 0) >>>> 2712 break; >>>> 2713 >>>> 2714 if (cp) { >>>> 2715 if (*cp == '\0') >>>> 2716 break; >>>> 2717 if ((flags & XFF_UNESCAPE) && (*cp == '\\' || *cp == '%')) { >>>> 2718 cp += 1; >>>> 2719 len -= 1; >>>> (gdb) up >>>> #1 0x20150908 in xo_format_string (xop=0x2009b120, xbp=0x2009b150, >>>> flags=4096, xfp=0xbfbfd280) at /usr/src/contrib/libxo/libxo/libxo.c:2982 >>>> 2982 cols = xo_format_string_direct(xop, xbp, flags, wcp, cp, len, >>>> (gdb) list >>>> 2977 >>>> 2978 return rc; >>>> 2979 } >>>> 2980 } >>>> 2981 >>>> 2982 cols = 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 >>>> 3499 xf.xf_enc = (xf.xf_fc == 'm') ? XF_ENC_UTF8 >>>> 3500 : (xf.xf_lflag || (xf.xf_fc == 'S')) ? XF_ENC_WIDE >>>> 3501 : xf.xf_hflag ? XF_ENC_LOCALE : XF_ENC_UTF8; >>>> 3502 >>>> 3503 rc = xo_format_string(xop, xbp, flags, &xf); >>>> 3504 >>>> 3505 if ((flags & XFF_TRIM_WS) && xo_style_is_encoding(xop)) >>>> 3506 rc = xo_trim_ws(xbp, rc); >>>> 3507 >>>> (gdb) up >>>> #3 0x2014c69c in xo_simple_field (xop=0x2009b120, encode_only=0, >>>> value=0x0, vlen=0, fmt=0x20130635 "%s", flen=2, flags=<optimized out>) 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 |= XFF_NO_OUTPUT; >>>> 3815 >>>> 3816 if (vlen == 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 >>>> (gdb) up >>>> #4 xo_format_value (xop=<optimized out>, xop@entry=0x2009b120, >>>> name=<optimized out>, name@entry=0x204bf931 "state}\n", nlen=<optimized >>>> out>, nlen@entry=5, value=0x0, vlen=0, fmt=0x20130635 "%s", >>>> flen=2, encoding=0x0, elen=0, flags=<optimized out>) at >>>> /usr/src/contrib/libxo/libxo/libxo.c:4373 >>>> 4373 xo_simple_field(xop, FALSE, value, vlen, fmt, flen, flags); >>>> (gdb) list >>>> 4368 >>>> 4369 save.xhs_offset = xbp->xb_curp - xbp->xb_bufp; >>>> 4370 save.xhs_columns = xop->xo_columns; >>>> 4371 save.xhs_anchor_columns = xop->xo_anchor_columns; >>>> 4372 >>>> 4373 xo_simple_field(xop, FALSE, value, vlen, fmt, flen, flags); >>>> 4374 >>>> 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=<optimized out>, >>>> xop@entry=0x2009b120, fields=<optimized out>, fields@entry=0xbfbfd7e8, >>>> max_fields=max_fields@entry=17, fmt=<optimized out>) >>>> at /usr/src/contrib/libxo/libxo/libxo.c:6372 >>>> 6372 xo_format_value(xop, content, clen, NULL, 0, >>>> (gdb) list >>>> 6367 flags &= ~XFF_WS; /* Prevent later handling of this flag */ >>>> 6368 } >>>> 6369 } >>>> 6370 >>>> 6371 if (ftype == '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 == '[') >>>> 6376 xo_anchor_start(xop, xfip, content, clen); >>>> (gdb) up >>>> #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 >>>> 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 >>>> 6551 return xo_do_emit_fields(xop, fields, max_fields, fmt); >>>> 6552 } >>>> 6553 >>>> 6554 /* >>>> 6555 * Rebuild a format string in a gettext-friendly format. This function >>>> (gdb) up >>>> #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 >>>> 6622 rc = xo_do_emit(xop, 0, fmt); >>>> (gdb) list >>>> 6617 { >>>> 6618 xo_handle_t *xop = xo_default(NULL); >>>> 6619 ssize_t rc; >>>> 6620 >>>> 6621 va_start(xop->xo_vap, fmt); >>>> 6622 rc = xo_do_emit(xop, 0, fmt); >>>> 6623 va_end(xop->xo_vap); >>>> 6624 bzero(&xop->xo_vap, sizeof(xop->xo_vap)); >>>> 6625 >>>> 6626 return rc; >>>> (gdb) up >>>> #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 >>>> warning: Source file is more recent than executable. >>>> 654 xo_emit("=>{t:start/%*jd} {t:sectors/%*jd} {t:name/%*s} {:scheme} >>>> ({h:size/%ld}){t:state}\n", >>>> (gdb) list >>>> 649 } >>>> 650 wname = wmax; >>>> 651 pp = LIST_FIRST(&gp->lg_consumer)->lg_provider; >>>> 652 secsz = pp->lg_sectorsize; >>>> 653 xo_open_instance("part"); >>>> 654 xo_emit("=>{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=0x20089000, fl=<optimized out>) 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=0, argv=<optimized out>) 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] = '\0'; >>>> 493 if (cmd->gc_func != NULL) { >>>> 494 unsigned flags; >>>> 495 >>>> 496 flags = set_flags(cmd); >>>> 497 cmd->gc_func(req, flags); >>>> 498 errstr = 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=1, argv=0xbfbfed90) at >>>> /usr/src/sbin/geom/core/geom.c:861 >>>> 861 run_command(argc, argv); >>>> (gdb) list >>>> 856 show_tree(); >>>> 857 return (0); >>>> 858 } >>>> 859 >>>> 860 get_class(&argc, &argv); >>>> 861 run_command(argc, argv); >>>> 862 /* NOTREACHED */ >>>> 863 >>>> 864 exit(EXIT_FAILURE); >>>> 865 } >>>> >>>> >>>> For reference: >>>> >>>> # 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 >>>> >>>> That explains the "warning: Source file is more recent than executable" >>>> messages. >>> >>> Additional context notes: >>> >>> ) 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. >>> >>> ) In a armv7 chroot on a aarch64 system (the Windows >>> Dev Kit 2023), the "gpart show" works just fine. >>> >>> But the vintages could well be a little different. >>> (Tracing to git commits for pkgbase is problematical.) >>> >>> >>> I'll note: >>> >>> Johan Söllvander <js_at_FreeBSD.org> >>> Date: Thu, 18 Dec 2025 15:23:29 UTC >>> The branch main has been updated by js: >>> >>> URL: >>> https://cgit.FreeBSD.org/src/commit/?id=4f809ffec69cd6ede3e7be9a5bc876b2e5931028 >>> >>> commit 4f809ffec69cd6ede3e7be9a5bc876b2e5931028 >>> Author: Johan Söllvander <[email protected]> >>> AuthorDate: 2025-12-18 15:06:09 +0000 >>> Commit: Johan Söllvander <[email protected]> >>> CommitDate: 2025-12-18 15:22:59 +0000 >>> >>> gpart: add libxo support for "show" subcommand + man page updates >>> >>> Added libxo support to `gpart show`, also updated the man >>> pages for geom and gpart to show where you can expect >>> libxo formatted output. >>> >>> 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 >>> --- >>> . . . >>> >>> >>> 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. >> >> >> 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": >> >> "gpart show" worked just fine. >> >> What matters is which kernel it runs on for the >> 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. Also, note all the "517M" that make no > sense --and the "0" and "2" junk as well: > > # 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) > > => 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=0x2053e224) 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=0x2053e224) at > /usr/src/lib/libgeom/geom_xml2tree.c:502 > #1 geom_deletetree (gmp=gmp@entry=0xffffcb48) at > /usr/src/lib/libgeom/geom_xml2tree.c:524 > #2 0x204d2064 in gpart_show (req=<optimized out>, fl=<optimized out>) at > /usr/src/lib/geom/part/geom_part.c:797 > #3 0x000230dc in run_command (argc=0, argv=<optimized out>) at > /usr/src/sbin/geom/core/geom.c:497 > #4 0x00022308 in main (argc=1, argv=0xffffdc70) at > /usr/src/sbin/geom/core/geom.c:861 > > > (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") = 190 (0xbe) mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 537432064 (0x20089000) mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 537452544 (0x2008e000) mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 537456640 (0x2008f000) mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542076928 (0x204f7000) mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542089216 (0x204fa000) mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542109696 (0x204ff000) mmap(0x0,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542121984 (0x20502000) __sysctl("sysctl.name2oid kern.geom.confxml",2,0xbfbfdbb8,0xbfbfdbb0,0x200b4716,17) = 0 (0x0) __sysctl("kern.geom.confxml",3,0x0,0xbfbfdbb4,0x0,0) = 0 (0x0) mmap(0x0,24576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542150656 (0x20509000) __sysctl("kern.geom.confxml",3,0x20509180,0xbfbfdbb4,0x0,0) = 0 (0x0) mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542175232 (0x2050f000) mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542195712 (0x20514000) mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542216192 (0x20519000) mmap(0x0,1100,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 542236672 (0x2051e000) minherit(0x2051e000,1100,INHERIT_ZERO) = 0 (0x0) getrandom("\M-,\M-;\M^P\^Rl\^VHP\M->'\M-v"...,40,0) = 40 (0x28) mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542240768 (0x2051f000) mmap(0x0,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542261248 (0x20524000) mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542289920 (0x2052b000) mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542302208 (0x2052e000) mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542322688 (0x20533000) mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542334976 (0x20536000) mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542339072 (0x20537000) mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 542343168 (0x20538000) SIGNAL 11 (SIGSEGV) code=SEGV_MAPERR trapno=5 addr=0x6e480000 process killed, signal = 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. === Mark Millard marklmi at yahoo.com
