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
>Organization:
CI4 Consulting Ltd
>Environment:
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
>Description:
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/libterminfo.so.2
#1  0x000076ee2e4ff04d in ?? () from /usr/lib/libterminfo.so.2
#2  0x000076ee2e4ffda4 in ?? () from /usr/lib/libterminfo.so.2
#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 rvp%sdf.org@localhost for the analysis. 
>How-To-Repeat:
Build shells/fish v3.6.1 with CURSES_DEFAULT=ncurses.
>Fix:
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
 .endif
+.if ${CURSES_DEFAULT} != "ncurses"
 LDFLAGS.NetBSD+=       -lterminfo
+.endif

 # 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