pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/57365: shells/fish crash when CURSES_DEFAULT is ncurses

>Number:         57365
>Category:       pkg
>Synopsis:       shells/fish crash when CURSES_DEFAULT is ncurses
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Apr 18 11:00:01 +0000 2023
>Originator:     Chavdar Ivanov
>Release:        pkgsrc -current as of 17/04/2023
CI4 Consulting Ltd
NetBSD ymir.lorien.lan 10.99.3 NetBSD 10.99.3 (GENERIC) #3: Thu Apr 13 14:24:47 BST 2023  sysbuild%ymir.lorien.lan@localhost:/dumps/sysbuild/amd64/obj/home/sysbuild/src/sys/arch/amd64/compile/GENERIC amd64
The package Makefile includes unconditional libterminfo linking under NetBSD. This clashes with the ncurses terminfo routines and is necessary only when the buildint curses is used. The trace looks like:
Thread 1 (LWP 20753 of process 20753 ""):
#0  0x000076ee2e4fef13 in _ti_parm_analyse () from /usr/lib/
#1  0x000076ee2e4ff04d in ?? () from /usr/lib/
#2  0x000076ee2e4ffda4 in ?? () from /usr/lib/
#3  0x000000000021f5d0 in screen_t::reset_abandoning_line (this=this@entry=0x76ee2d9fb478, screen_width=158) at /usr/include/g++/ext/new_allocator.h:79
#4  0x000000000021c244 in reader_data_t::readline[abi:cxx11](int) (this=0x76ee2d9fb010, nchars_or_0=nchars_or_0@entry=0) at /usr/pkgsrc/shells/fish/work/fish-3.6.1/src/reader.cpp:4415
#5  0x000000000021d191 in read_i (parser=...) at /usr/include/g++/bits/shared_ptr_base.h:1329
#6  reader_read (parser=..., fd=fd@entry=0, io=...) at /usr/pkgsrc/shells/fish/work/fish-3.6.1/src/reader.cpp:4762
#7  0x00000000002c8732 in main (argc=<optimized out>, argv=0x7f7fffa6c958) at /usr/pkgsrc/shells/fish/work/fish-3.6.1/src/fish.cpp:571

Thanks to for the analysis. 
Build shells/fish v3.6.1 with CURSES_DEFAULT=ncurses.
Index: Makefile
RCS file: /cvsroot/pkgsrc/shells/fish/Makefile,v
retrieving revision 1.42
diff -u -r1.42 Makefile
--- Makefile    29 Mar 2023 09:39:02 -0000      1.42
+++ Makefile    18 Apr 2023 10:54:29 -0000
@@ -28,7 +28,9 @@
 CXXFLAGS.NetBSD+=      -fpermissive
 LDFLAGS+=              -lexecinfo
+.if ${CURSES_DEFAULT} != "ncurses"
 LDFLAGS.NetBSD+=       -lterminfo

 # Upstream intentionally omits open.1 on Darwin, but adds realpath.1
 PLIST_VARS+=   open realpath
cvs diff: Diffing patches

Home | Main Index | Thread Index | Old Index