Re: Is dialog4ports built in/for releng/13.0 also supposed to work under main [so: 14]? It gets SIGSEGV in my context. (some low level failure info now)
On 2021-Oct-21, at 16:24, Mark Millard wrote: > On 2021-Oct-21, at 11:53, Mark Millard wrote: > >> On 2021-Oct-21, at 08:27, Tomoaki AOKI wrote: >> >>> On Thu, 21 Oct 2021 07:40:36 -0700 >>> Mark Millard via freebsd-current wrote: >>> On 2021-Oct-21, at 06:14, Gary Jennejohn wrote: > On Thu, 21 Oct 2021 01:34:47 -0700 > Mark Millard via freebsd-current wrote: > >> I get the following crash (amd64 example shown), as reported >> via gdb afterwards. (devel/llvm13 is just an example context.) >> >> gdb `which dialog4ports` devel/llvm13/dialog4ports.core >> . . . >> Core was generated by `/usr/local/bin/dialog4ports'. >> Program terminated with signal SIGSEGV, Segmentation fault. >> Address not mapped to object. >> #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 >> <__xlocale_global_locale>, fmt0=0x201f64 "\"%s\"", >> ap=ap@entry=0x7fffcf00) at >> /usr/main-src/lib/libc/stdio/vfprintf.c:281 >> 281 if ((fp->_flags & (__SNBF|__SWR|__SRW)) == >> (__SNBF|__SWR) && >> (gdb) bt >> #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 >> <__xlocale_global_locale>, fmt0=0x201f64 "\"%s\"", >> ap=ap@entry=0x7fffcf00) at >> /usr/main-src/lib/libc/stdio/vfprintf.c:281 >> #1 0x000800409283 in fprintf (fp=0x800411660 >> <__stdio_cancel_cleanup>, fmt=0x7fffcdd0 "0\317\377\377\377\177") at >> /usr/main-src/lib/libc/stdio/fprintf.c:57 >> #2 0x0020399d in main (argc=, argv=> out>) at dialog4ports.c:332 >> (gdb) quit >> >> The crash happens after selecting OK but not after selecting Cancel. The >> display is also odd before that (no line drawing, just odd text instead), >> but is sufficient to be usable at that stage. >> >> . . . > > gdb's disass/s reports the failure point via: > > . . . > /usr/main-src/lib/libc/stdio/vfprintf.c: > 279 FLOCKFILE_CANCELSAFE(fp); > 0x000800412357 <+71>: mov0xbf082(%rip),%rax# 0x8004d13e0 > 0x00080041235e <+78>: cmpl $0x0,(%rax) > 0x000800412361 <+81>: je 0x800412370 > 0x000800412363 <+83>: mov%rbx,%rdi > 0x000800412366 <+86>: call 0x8004c6730 <_flockfile@plt> > 0x00080041236b <+91>: mov%rbx,%rsi > 0x00080041236e <+94>: jmp0x800412372 > 0x000800412370 <+96>: xor%esi,%esi > 0x000800412372 <+98>: lea-0xd19(%rip),%rdi# 0x800411660 > <__stdio_cancel_cleanup> > 0x000800412379 <+105>: lea-0x70(%rbp),%rdx > 0x00080041237d <+109>: call 0x800384a90 > <__pthread_cleanup_push_imp_int> > > 280 /* optimise fprintf(stderr) (and other unbuffered Unix files) */ > 281 if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && > => 0x000800412382 <+114>: movzwl 0x10(%rbx),%eax > 0x000800412386 <+118>: and$0x1a,%eax > 0x000800412389 <+121>: cmp$0xa,%ax > 0x00080041238d <+125>: jne0x8004123a9 > > 282 fp->_file >= 0) > 0x00080041238f <+127>: cmpw $0x0,0x12(%rbx) > > 281 if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && > 0x000800412394 <+132>: js 0x8004123a9 > . . . > > (gdb) info reg > rax0x0 0 > rbx0x4d49405065024 > rcx0x7fffd0e0 140737488343264 > rdx0x7fffcfb0 140737488342960 > rsi0x0 0 > rdi0x800411660 34364003936 > rbp0x7fffd020 0x7fffd020 > rsp0x7fffcfb0 0x7fffcfb0 > r8 0x0 0 > r9 0x0 0 > r100x800a330f0 34370433264 > r110x206 518 > r120x8004d4128 34364801320 > r130x2083a02130848 > r140x7fffd0e0 140737488343264 > r150x201f642105188 > rip0x800412382 0x800412382 > eflags 0x10246 [ PF ZF IF RF ] > cs 0x4367 > ss 0x3b59 > ds > es > fs > gs > fs_base > gs_base > > where: > > (gdb) disass/s __pthread_cleanup_push_imp_int > Dump of assembler code for function __pthread_cleanup_push_imp_int: > /usr/main-src/lib/libc/gen/_pthread_stubs.c: > 289 STUB_FUNC3(__pthread_cleanup_push_imp, PJT_CLEANUP_PUSH_IMP, void, void > *, > 0x000800384a90 <+0>:push %rbp > 0x000800384a91 <+1>:mov%rsp,%rbp > 0x000800384a94 <+4>:mov0x14c94d(%rip),%rax# 0x8004d13e8 > 0x000800384a9b <+11>: mov0x3c8(%rax),%rax > 0x000800384aa2 <+18>: pop%rbp > 0x000800384aa3 <+19>: jmp*%rax > End of assembler dump. > > > It is not obvious that any of
Re: Is dialog4ports built in/for releng/13.0 also supposed to work under main [so: 14]? It gets SIGSEGV in my context.
On 2021-Oct-21, at 11:53, Mark Millard wrote: > On 2021-Oct-21, at 08:27, Tomoaki AOKI wrote: > >> On Thu, 21 Oct 2021 07:40:36 -0700 >> Mark Millard via freebsd-current wrote: >> >>> >>> >>> On 2021-Oct-21, at 06:14, Gary Jennejohn wrote: >>> On Thu, 21 Oct 2021 01:34:47 -0700 Mark Millard via freebsd-current wrote: > I get the following crash (amd64 example shown), as reported > via gdb afterwards. (devel/llvm13 is just an example context.) > > gdb `which dialog4ports` devel/llvm13/dialog4ports.core > . . . > Core was generated by `/usr/local/bin/dialog4ports'. > Program terminated with signal SIGSEGV, Segmentation fault. > Address not mapped to object. > #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 > <__xlocale_global_locale>, fmt0=0x201f64 "\"%s\"", > ap=ap@entry=0x7fffcf00) at /usr/main-src/lib/libc/stdio/vfprintf.c:281 > 281 if ((fp->_flags & (__SNBF|__SWR|__SRW)) == > (__SNBF|__SWR) && > (gdb) bt > #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 > <__xlocale_global_locale>, fmt0=0x201f64 "\"%s\"", > ap=ap@entry=0x7fffcf00) at /usr/main-src/lib/libc/stdio/vfprintf.c:281 > #1 0x000800409283 in fprintf (fp=0x800411660 > <__stdio_cancel_cleanup>, fmt=0x7fffcdd0 "0\317\377\377\377\177") at > /usr/main-src/lib/libc/stdio/fprintf.c:57 > #2 0x0020399d in main (argc=, argv= out>) at dialog4ports.c:332 > (gdb) quit > > The crash happens after selecting OK but not after selecting Cancel. The > display is also odd before that (no line drawing, just odd text instead), > but is sufficient to be usable at that stage. > > . . . >>> gdb's disass/s reports the failure point via: . . . /usr/main-src/lib/libc/stdio/vfprintf.c: 279 FLOCKFILE_CANCELSAFE(fp); 0x000800412357 <+71>:mov0xbf082(%rip),%rax# 0x8004d13e0 0x00080041235e <+78>:cmpl $0x0,(%rax) 0x000800412361 <+81>:je 0x800412370 0x000800412363 <+83>:mov%rbx,%rdi 0x000800412366 <+86>:call 0x8004c6730 <_flockfile@plt> 0x00080041236b <+91>:mov%rbx,%rsi 0x00080041236e <+94>:jmp0x800412372 0x000800412370 <+96>:xor%esi,%esi 0x000800412372 <+98>:lea-0xd19(%rip),%rdi# 0x800411660 <__stdio_cancel_cleanup> 0x000800412379 <+105>: lea-0x70(%rbp),%rdx 0x00080041237d <+109>: call 0x800384a90 <__pthread_cleanup_push_imp_int> 280 /* optimise fprintf(stderr) (and other unbuffered Unix files) */ 281 if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && => 0x000800412382 <+114>: movzwl 0x10(%rbx),%eax 0x000800412386 <+118>: and$0x1a,%eax 0x000800412389 <+121>: cmp$0xa,%ax 0x00080041238d <+125>: jne0x8004123a9 282 fp->_file >= 0) 0x00080041238f <+127>: cmpw $0x0,0x12(%rbx) 281 if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && 0x000800412394 <+132>: js 0x8004123a9 . . . (gdb) info reg rax0x0 0 rbx0x4d49405065024 rcx0x7fffd0e0 140737488343264 rdx0x7fffcfb0 140737488342960 rsi0x0 0 rdi0x800411660 34364003936 rbp0x7fffd020 0x7fffd020 rsp0x7fffcfb0 0x7fffcfb0 r8 0x0 0 r9 0x0 0 r100x800a330f0 34370433264 r110x206 518 r120x8004d4128 34364801320 r130x2083a02130848 r140x7fffd0e0 140737488343264 r150x201f642105188 rip0x800412382 0x800412382 eflags 0x10246 [ PF ZF IF RF ] cs 0x4367 ss 0x3b59 ds es fs gs fs_base gs_base where: (gdb) disass/s __pthread_cleanup_push_imp_int Dump of assembler code for function __pthread_cleanup_push_imp_int: /usr/main-src/lib/libc/gen/_pthread_stubs.c: 289 STUB_FUNC3(__pthread_cleanup_push_imp, PJT_CLEANUP_PUSH_IMP, void, void *, 0x000800384a90 <+0>: push %rbp 0x000800384a91 <+1>: mov%rsp,%rbp 0x000800384a94 <+4>: mov0x14c94d(%rip),%rax# 0x8004d13e8 0x000800384a9b <+11>:mov0x3c8(%rax),%rax 0x000800384aa2 <+18>:pop%rbp 0x000800384aa3 <+19>:jmp*%rax End of assembler dump. It is not obvious that any of this has any relationship with libtinfow.so.9 or libncursesw.so.9 use unless some memory is being trashed first. === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Re: Is dialog4ports built in/for releng/13.0 also supposed to work under main [so: 14]? It gets SIGSEGV in my context.
On 2021-Oct-21, at 08:27, Tomoaki AOKI wrote: > On Thu, 21 Oct 2021 07:40:36 -0700 > Mark Millard via freebsd-current wrote: > >> >> >> On 2021-Oct-21, at 06:14, Gary Jennejohn wrote: >> >>> On Thu, 21 Oct 2021 01:34:47 -0700 >>> Mark Millard via freebsd-current wrote: >>> I get the following crash (amd64 example shown), as reported via gdb afterwards. (devel/llvm13 is just an example context.) gdb `which dialog4ports` devel/llvm13/dialog4ports.core . . . Core was generated by `/usr/local/bin/dialog4ports'. Program terminated with signal SIGSEGV, Segmentation fault. Address not mapped to object. #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 <__xlocale_global_locale>, fmt0=0x201f64 "\"%s\"", ap=ap@entry=0x7fffcf00) at /usr/main-src/lib/libc/stdio/vfprintf.c:281 281if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && (gdb) bt #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 <__xlocale_global_locale>, fmt0=0x201f64 "\"%s\"", ap=ap@entry=0x7fffcf00) at /usr/main-src/lib/libc/stdio/vfprintf.c:281 #1 0x000800409283 in fprintf (fp=0x800411660 <__stdio_cancel_cleanup>, fmt=0x7fffcdd0 "0\317\377\377\377\177") at /usr/main-src/lib/libc/stdio/fprintf.c:57 #2 0x0020399d in main (argc=, argv=>>> out>) at dialog4ports.c:332 (gdb) quit The crash happens after selecting OK but not after selecting Cancel. The display is also odd before that (no line drawing, just odd text instead), but is sufficient to be usable at that stage. >>> >>> This is an indication that something is missing in dialog4ports which >>> is required by FBSD-14 but not FBSD-13. I had a similar problem with >>> dialog4ports under FBSD-14 some weeks ago, because i had a really old >>> version installed. After upgrading it using the pkg repositories for >>> FBSD-14 all problems, in particular garbled text, disappeared. >>> >>> IIRC there were updates to ncurses in FBSD-14 fairly recently which >>> would explain the problem with old versions of dialog4ports. >> >> I do (and did) my own port builds with poudriere-devel. See the >> version of ports below. In summary: my dialog4ports is >> based on 4116dc2f of ports (CommitDate: 2021-10-17 21:52:37 +). >> >> However it was deliberately built in/for a releng/13.0 based >> context then also used under main [so:14]. >> >> For ports not requiring kernel vintage matching, newer systems >> versions generally allow running software built for older FreeBSD >> systems (going back a fair distance, anyway). dialog4ports does >> not appear to require kernel vintage matching. I do not install >> any ports requiring kernel vintage matching. > > IIRC, dialog4ports case wouldn't be a kernel-related. > For ncurses libraries, main (aka 14-current) fully switched to *w ones > and deleted non-*w ones. And dialog4ports built with 13 and earlier > crashed on 14. So I did a chroot into a bectl mount of my stable/13 13S-amd64-nodbg and looked: # ldd `which dialog4ports` /usr/local/bin/dialog4ports: libncursesw.so.9 => /lib/libncursesw.so.9 (0x800248000) libm.so.5 => /lib/libm.so.5 (0x8002bc000) libdialog.so.9 => /usr/lib/libdialog.so.9 (0x8002f3000) libc.so.7 => /lib/libc.so.7 (0x80032d000) # ldd /usr/lib/libdialog.so.9 /usr/lib/libdialog.so.9: libncursesw.so.9 => /lib/libncursesw.so.9 (0x8006a7000) libm.so.5 => /lib/libm.so.5 (0x80071b000) libc.so.7 => /lib/libc.so.7 (0x800261000) This context worked fine for OK selection but note that there is libncursesw.so.9 use (so: *w in use). The problem is not libncursesw.so vs. libncurses.so use. Instead it seems to be the split between: libncursesw.so.9 and: libtinfow.so.9 in main [so: 14] that looks to be the difference that matters. Somehow the binding to libtinfow.so.9 in main is insufficient to allow full use of the releng/13.0 based dialog4ports build. (For all I know, this might be expected.) For reference for the stable/13 test: # uname -apKU FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #3 main-n249978-032448cd2c52-dirty: Fri Oct 8 23:57:23 PDT 2021 root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG amd64 amd64 1400036 1300516 # ~/fbsd-based-on-what-commit.sh branch: stable/13 merge-base: 0e5787b1d089310448fdc7b9855f1f0701965d8d merge-base: CommitDate: 2021-10-09 03:01:17 + 0e5787b1d089 (HEAD -> stable/13, freebsd/stable/13) ti(4): Fix a typo in an error message n247583 (--first-parent --count for merge-base) The chroot had a mount_null of the same /usr/local/ as was used for the main [14] activity. (And a mount_null of the same /usr/ports/ that was in use for the main activity.) >> I've not had any other of the ports that I built in/for releng/13.0 (and have used) fail to operate under main [so: under 14]. (But the v
Re: Is dialog4ports built in/for releng/13.0 also supposed to work under main [so: 14]? It gets SIGSEGV in my context.
On Thu, 21 Oct 2021 07:40:36 -0700 Mark Millard via freebsd-current wrote: > > > On 2021-Oct-21, at 06:14, Gary Jennejohn wrote: > > > On Thu, 21 Oct 2021 01:34:47 -0700 > > Mark Millard via freebsd-current wrote: > > > >> I get the following crash (amd64 example shown), as reported > >> via gdb afterwards. (devel/llvm13 is just an example context.) > >> > >> gdb `which dialog4ports` devel/llvm13/dialog4ports.core > >> . . . > >> Core was generated by `/usr/local/bin/dialog4ports'. > >> Program terminated with signal SIGSEGV, Segmentation fault. > >> Address not mapped to object. > >> #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 <__xlocale_global_locale>, > >> fmt0=0x201f64 "\"%s\"", ap=ap@entry=0x7fffcf00) at > >> /usr/main-src/lib/libc/stdio/vfprintf.c:281 > >> 281if ((fp->_flags & (__SNBF|__SWR|__SRW)) == > >> (__SNBF|__SWR) && > >> (gdb) bt > >> #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 <__xlocale_global_locale>, > >> fmt0=0x201f64 "\"%s\"", ap=ap@entry=0x7fffcf00) at > >> /usr/main-src/lib/libc/stdio/vfprintf.c:281 > >> #1 0x000800409283 in fprintf (fp=0x800411660 > >> <__stdio_cancel_cleanup>, fmt=0x7fffcdd0 "0\317\377\377\377\177") at > >> /usr/main-src/lib/libc/stdio/fprintf.c:57 > >> #2 0x0020399d in main (argc=, argv= >> out>) at dialog4ports.c:332 > >> (gdb) quit > >> > >> The crash happens after selecting OK but not after selecting Cancel. The > >> display is also odd before that (no line drawing, just odd text instead), > >> but is sufficient to be usable at that stage. > >> > > > > This is an indication that something is missing in dialog4ports which > > is required by FBSD-14 but not FBSD-13. I had a similar problem with > > dialog4ports under FBSD-14 some weeks ago, because i had a really old > > version installed. After upgrading it using the pkg repositories for > > FBSD-14 all problems, in particular garbled text, disappeared. > > > > IIRC there were updates to ncurses in FBSD-14 fairly recently which > > would explain the problem with old versions of dialog4ports. > > I do (and did) my own port builds with poudriere-devel. See the > version of ports below. In summary: my dialog4ports is > based on 4116dc2f of ports (CommitDate: 2021-10-17 21:52:37 +). > > However it was deliberately built in/for a releng/13.0 based > context then also used under main [so:14]. > > For ports not requiring kernel vintage matching, newer systems > versions generally allow running software built for older FreeBSD > systems (going back a fair distance, anyway). dialog4ports does > not appear to require kernel vintage matching. I do not install > any ports requiring kernel vintage matching. IIRC, dialog4ports case wouldn't be a kernel-related. For ncurses libraries, main (aka 14-current) fully switched to *w ones and deleted non-*w ones. And dialog4ports built with 13 and earlier crashed on 14. > > >> I've not had any other of the ports that I built in/for releng/13.0 > >> (and have used) fail to operate under main [so: under 14]. (But the > >> variety used is not wide.) > >> > >> For reference . . . > >> > >> # uname -apKU > >> FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #3 > >> main-n249978-032448cd2c52-dirty: Fri Oct 8 23:57:23 PDT 2021 > >> root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG > >> amd64 amd64 1400036 1400036 > >> > >> (Not a debug build but has debug symbols enabled.) > >> > >> # pwd > >> /usr/ports > >> # ~/fbsd-based-on-what-commit.sh > >> branch: main > >> merge-base: 4116dc2f1f6385b42fb668badb6b4c1cbb195f9d > >> merge-base: CommitDate: 2021-10-17 21:52:37 + > >> 4116dc2f1f63 (HEAD -> main, freebsd/main, freebsd/HEAD) > >> ports-mgmt/poudriere-devel: Update to 3.3.0-1022-g964cf327f > >> n562472 (--first-parent --count for merge-base) > > The above indicates the vintage of ports that my dialog4ports > build is based on (in detail): Not all that old at this point. > > >> # file `which dialog4ports` > >> /usr/local/bin/dialog4ports: ELF 64-bit LSB executable, x86-64, version 1 > >> (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for > >> FreeBSD 13.0 (1300139), FreeBSD-style, with debug_info, not stripped > >> > >> # ldd `which dialog4ports` > >> /usr/local/bin/dialog4ports: > >>libncursesw.so.9 => /lib/libncursesw.so.9 (0x800248000) > >>libm.so.5 => /lib/libm.so.5 (0x800281000) > >>libdialog.so.9 => /usr/lib/libdialog.so.9 (0x8002b8000) > >>libc.so.7 => /lib/libc.so.7 (0x8002f6000) > >>libtinfow.so.9 => /lib/libtinfow.so.9 (0x800703000) > >> > >> Note: The dialog4ports is a non-debug build but with debug symbols, > >> as is normal for my port builds via poudriere-devel . > >> > >> As for the poudriere-devel build context for the ports: > >> > >> # chroot /usr/obj/DESTDIRs/13_0R-amd64-poud/ > >> # uname -apKU > >> FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #3 > >> main-n249978-0324
Re: Is dialog4ports built in/for releng/13.0 also supposed to work under main [so: 14]? It gets SIGSEGV in my context.
On 2021-Oct-21, at 06:14, Gary Jennejohn wrote: > On Thu, 21 Oct 2021 01:34:47 -0700 > Mark Millard via freebsd-current wrote: > >> I get the following crash (amd64 example shown), as reported >> via gdb afterwards. (devel/llvm13 is just an example context.) >> >> gdb `which dialog4ports` devel/llvm13/dialog4ports.core >> . . . >> Core was generated by `/usr/local/bin/dialog4ports'. >> Program terminated with signal SIGSEGV, Segmentation fault. >> Address not mapped to object. >> #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 <__xlocale_global_locale>, >> fmt0=0x201f64 "\"%s\"", ap=ap@entry=0x7fffcf00) at >> /usr/main-src/lib/libc/stdio/vfprintf.c:281 >> 281 if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && >> (gdb) bt >> #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 <__xlocale_global_locale>, >> fmt0=0x201f64 "\"%s\"", ap=ap@entry=0x7fffcf00) at >> /usr/main-src/lib/libc/stdio/vfprintf.c:281 >> #1 0x000800409283 in fprintf (fp=0x800411660 <__stdio_cancel_cleanup>, >> fmt=0x7fffcdd0 "0\317\377\377\377\177") at >> /usr/main-src/lib/libc/stdio/fprintf.c:57 >> #2 0x0020399d in main (argc=, argv=) >> at dialog4ports.c:332 >> (gdb) quit >> >> The crash happens after selecting OK but not after selecting Cancel. The >> display is also odd before that (no line drawing, just odd text instead), >> but is sufficient to be usable at that stage. >> > > This is an indication that something is missing in dialog4ports which > is required by FBSD-14 but not FBSD-13. I had a similar problem with > dialog4ports under FBSD-14 some weeks ago, because i had a really old > version installed. After upgrading it using the pkg repositories for > FBSD-14 all problems, in particular garbled text, disappeared. > > IIRC there were updates to ncurses in FBSD-14 fairly recently which > would explain the problem with old versions of dialog4ports. I do (and did) my own port builds with poudriere-devel. See the version of ports below. In summary: my dialog4ports is based on 4116dc2f of ports (CommitDate: 2021-10-17 21:52:37 +). However it was deliberately built in/for a releng/13.0 based context then also used under main [so:14]. For ports not requiring kernel vintage matching, newer systems versions generally allow running software built for older FreeBSD systems (going back a fair distance, anyway). dialog4ports does not appear to require kernel vintage matching. I do not install any ports requiring kernel vintage matching. >> I've not had any other of the ports that I built in/for releng/13.0 >> (and have used) fail to operate under main [so: under 14]. (But the >> variety used is not wide.) >> >> For reference . . . >> >> # uname -apKU >> FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #3 >> main-n249978-032448cd2c52-dirty: Fri Oct 8 23:57:23 PDT 2021 >> root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG >> amd64 amd64 1400036 1400036 >> >> (Not a debug build but has debug symbols enabled.) >> >> # pwd >> /usr/ports >> # ~/fbsd-based-on-what-commit.sh >> branch: main >> merge-base: 4116dc2f1f6385b42fb668badb6b4c1cbb195f9d >> merge-base: CommitDate: 2021-10-17 21:52:37 + >> 4116dc2f1f63 (HEAD -> main, freebsd/main, freebsd/HEAD) >> ports-mgmt/poudriere-devel: Update to 3.3.0-1022-g964cf327f >> n562472 (--first-parent --count for merge-base) The above indicates the vintage of ports that my dialog4ports build is based on (in detail): Not all that old at this point. >> # file `which dialog4ports` >> /usr/local/bin/dialog4ports: ELF 64-bit LSB executable, x86-64, version 1 >> (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD >> 13.0 (1300139), FreeBSD-style, with debug_info, not stripped >> >> # ldd `which dialog4ports` >> /usr/local/bin/dialog4ports: >> libncursesw.so.9 => /lib/libncursesw.so.9 (0x800248000) >> libm.so.5 => /lib/libm.so.5 (0x800281000) >> libdialog.so.9 => /usr/lib/libdialog.so.9 (0x8002b8000) >> libc.so.7 => /lib/libc.so.7 (0x8002f6000) >> libtinfow.so.9 => /lib/libtinfow.so.9 (0x800703000) >> >> Note: The dialog4ports is a non-debug build but with debug symbols, >> as is normal for my port builds via poudriere-devel . >> >> As for the poudriere-devel build context for the ports: >> >> # chroot /usr/obj/DESTDIRs/13_0R-amd64-poud/ >> # uname -apKU >> FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #3 >> main-n249978-032448cd2c52-dirty: Fri Oct 8 23:57:23 PDT 2021 >> root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG >> amd64 amd64 1400036 1300139 >> >> # cd /usr/13_0R-src/ >> # ~/fbsd-based-on-what-commit.sh >> branch: releng/13.0 >> merge-base: 940681634ee17d12225ecd722c07fef1a0bde813 >> merge-base: CommitDate: 2021-08-24 18:23:29 + >> 940681634ee1 (HEAD -> releng/13.0, freebsd/releng/13.0) Add UPDATING entries >> and bump version. >> n244760 (--first-p
Re: Is dialog4ports built in/for releng/13.0 also supposed to work under main [so: 14]? It gets SIGSEGV in my context.
On Thu, 21 Oct 2021 01:34:47 -0700 Mark Millard via freebsd-current wrote: > I get the following crash (amd64 example shown), as reported > via gdb afterwards. (devel/llvm13 is just an example context.) > > gdb `which dialog4ports` devel/llvm13/dialog4ports.core > . . . > Core was generated by `/usr/local/bin/dialog4ports'. > Program terminated with signal SIGSEGV, Segmentation fault. > Address not mapped to object. > #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 <__xlocale_global_locale>, > fmt0=0x201f64 "\"%s\"", ap=ap@entry=0x7fffcf00) at > /usr/main-src/lib/libc/stdio/vfprintf.c:281 > 281 if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && > (gdb) bt > #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 <__xlocale_global_locale>, > fmt0=0x201f64 "\"%s\"", ap=ap@entry=0x7fffcf00) at > /usr/main-src/lib/libc/stdio/vfprintf.c:281 > #1 0x000800409283 in fprintf (fp=0x800411660 <__stdio_cancel_cleanup>, > fmt=0x7fffcdd0 "0\317\377\377\377\177") at > /usr/main-src/lib/libc/stdio/fprintf.c:57 > #2 0x0020399d in main (argc=, argv=) > at dialog4ports.c:332 > (gdb) quit > > The crash happens after selecting OK but not after selecting Cancel. The > display is also odd before that (no line drawing, just odd text instead), > but is sufficient to be usable at that stage. > This is an indication that something is missing in dialog4ports which is required by FBSD-14 but not FBSD-13. I had a similar problem with dialog4ports under FBSD-14 some weeks ago, because i had a really old version installed. After upgrading it using the pkg repositories for FBSD-14 all problems, in particular garbled text, disappeared. IIRC there were updates to ncurses in FBSD-14 fairly recently which would explain the problem with old versions of dialog4ports. > I've not had any other of the ports that I built in/for releng/13.0 > (and have used) fail to operate under main [so: under 14]. (But the > variety used is not wide.) > > For reference . . . > > # uname -apKU > FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #3 > main-n249978-032448cd2c52-dirty: Fri Oct 8 23:57:23 PDT 2021 > root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG > amd64 amd64 1400036 1400036 > > (Not a debug build but has debug symbols enabled.) > > # pwd > /usr/ports > # ~/fbsd-based-on-what-commit.sh > branch: main > merge-base: 4116dc2f1f6385b42fb668badb6b4c1cbb195f9d > merge-base: CommitDate: 2021-10-17 21:52:37 + > 4116dc2f1f63 (HEAD -> main, freebsd/main, freebsd/HEAD) > ports-mgmt/poudriere-devel: Update to 3.3.0-1022-g964cf327f > n562472 (--first-parent --count for merge-base) > > # file `which dialog4ports` > /usr/local/bin/dialog4ports: ELF 64-bit LSB executable, x86-64, version 1 > (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD > 13.0 (1300139), FreeBSD-style, with debug_info, not stripped > > # ldd `which dialog4ports` > /usr/local/bin/dialog4ports: > libncursesw.so.9 => /lib/libncursesw.so.9 (0x800248000) > libm.so.5 => /lib/libm.so.5 (0x800281000) > libdialog.so.9 => /usr/lib/libdialog.so.9 (0x8002b8000) > libc.so.7 => /lib/libc.so.7 (0x8002f6000) > libtinfow.so.9 => /lib/libtinfow.so.9 (0x800703000) > > Note: The dialog4ports is a non-debug build but with debug symbols, > as is normal for my port builds via poudriere-devel . > > As for the poudriere-devel build context for the ports: > > # chroot /usr/obj/DESTDIRs/13_0R-amd64-poud/ > # uname -apKU > FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #3 > main-n249978-032448cd2c52-dirty: Fri Oct 8 23:57:23 PDT 2021 > root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG > amd64 amd64 1400036 1300139 > > # cd /usr/13_0R-src/ > # ~/fbsd-based-on-what-commit.sh > branch: releng/13.0 > merge-base: 940681634ee17d12225ecd722c07fef1a0bde813 > merge-base: CommitDate: 2021-08-24 18:23:29 + > 940681634ee1 (HEAD -> releng/13.0, freebsd/releng/13.0) Add UPDATING entries > and bump version. > n244760 (--first-parent --count for merge-base) > > > > === > Mark Millard > marklmi at yahoo.com > ( dsl-only.net went > away in early 2018-Mar) > > -- Gary Jennejohn
Is dialog4ports built in/for releng/13.0 also supposed to work under main [so: 14]? It gets SIGSEGV in my context.
I get the following crash (amd64 example shown), as reported via gdb afterwards. (devel/llvm13 is just an example context.) gdb `which dialog4ports` devel/llvm13/dialog4ports.core . . . Core was generated by `/usr/local/bin/dialog4ports'. Program terminated with signal SIGSEGV, Segmentation fault. Address not mapped to object. #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 <__xlocale_global_locale>, fmt0=0x201f64 "\"%s\"", ap=ap@entry=0x7fffcf00) at /usr/main-src/lib/libc/stdio/vfprintf.c:281 281 if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && (gdb) bt #0 vfprintf_l (fp=0x4d4940, locale=0x8004d4128 <__xlocale_global_locale>, fmt0=0x201f64 "\"%s\"", ap=ap@entry=0x7fffcf00) at /usr/main-src/lib/libc/stdio/vfprintf.c:281 #1 0x000800409283 in fprintf (fp=0x800411660 <__stdio_cancel_cleanup>, fmt=0x7fffcdd0 "0\317\377\377\377\177") at /usr/main-src/lib/libc/stdio/fprintf.c:57 #2 0x0020399d in main (argc=, argv=) at dialog4ports.c:332 (gdb) quit The crash happens after selecting OK but not after selecting Cancel. The display is also odd before that (no line drawing, just odd text instead), but is sufficient to be usable at that stage. I've not had any other of the ports that I built in/for releng/13.0 (and have used) fail to operate under main [so: under 14]. (But the variety used is not wide.) For reference . . . # uname -apKU FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #3 main-n249978-032448cd2c52-dirty: Fri Oct 8 23:57:23 PDT 2021 root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG amd64 amd64 1400036 1400036 (Not a debug build but has debug symbols enabled.) # pwd /usr/ports # ~/fbsd-based-on-what-commit.sh branch: main merge-base: 4116dc2f1f6385b42fb668badb6b4c1cbb195f9d merge-base: CommitDate: 2021-10-17 21:52:37 + 4116dc2f1f63 (HEAD -> main, freebsd/main, freebsd/HEAD) ports-mgmt/poudriere-devel: Update to 3.3.0-1022-g964cf327f n562472 (--first-parent --count for merge-base) # file `which dialog4ports` /usr/local/bin/dialog4ports: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 13.0 (1300139), FreeBSD-style, with debug_info, not stripped # ldd `which dialog4ports` /usr/local/bin/dialog4ports: libncursesw.so.9 => /lib/libncursesw.so.9 (0x800248000) libm.so.5 => /lib/libm.so.5 (0x800281000) libdialog.so.9 => /usr/lib/libdialog.so.9 (0x8002b8000) libc.so.7 => /lib/libc.so.7 (0x8002f6000) libtinfow.so.9 => /lib/libtinfow.so.9 (0x800703000) Note: The dialog4ports is a non-debug build but with debug symbols, as is normal for my port builds via poudriere-devel . As for the poudriere-devel build context for the ports: # chroot /usr/obj/DESTDIRs/13_0R-amd64-poud/ # uname -apKU FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #3 main-n249978-032448cd2c52-dirty: Fri Oct 8 23:57:23 PDT 2021 root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG amd64 amd64 1400036 1300139 # cd /usr/13_0R-src/ # ~/fbsd-based-on-what-commit.sh branch: releng/13.0 merge-base: 940681634ee17d12225ecd722c07fef1a0bde813 merge-base: CommitDate: 2021-08-24 18:23:29 + 940681634ee1 (HEAD -> releng/13.0, freebsd/releng/13.0) Add UPDATING entries and bump version. n244760 (--first-parent --count for merge-base) === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)