Hello Alexey!
27 Apr 25 14:34, I wrote to you:
Меня смущает то, что gedlnx требует как libtinfo.so.6, так и
libtinfo.so.5 Скорее всего тут и порылась собака, скорее всего именно
вот из-за этого и происходит бяка и кака. о вот как это побороть и оставить только libtinfo.so.5, выкинув из требуемых библиотек libtinfo.so.6 я не придумал (хотя и не думал честно говоря :-)
"И снова здравствуйте! (C)
Как я и предполагал SIGSEGV был вызван борьбой двух противоположностей: libtinfo.so.5 и libtinfo.so.6. Мне удалось слинковать gedlnx чтобы он больше не хотел so.6, а довольствовался только so.5:
===
rhs@sys3175:~$ ldd /usr/bin/gedlnx
linux-vdso.so.1 (0x00007f2d92507000)
libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f2d924b5000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f2d9248a000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f2d92200000)
libm.so.6 => /lib64/libm.so.6 (0x00007f2d92112000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2d920e6000)
libc.so.6 => /lib64/libc.so.6 (0x00007f2d91ef4000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2d92509000)
rhs@sys3175:~$
===
Для этого потребовалось чуть более сильное редактирование /usr/lib64/libncurses.so:
===
rhs@sys3175:~$ cat /usr/lib64/libncurses.so
INPUT(libncurses.so.5 -l:libtinfo.so.5)
rhs@sys3175:~$
===
И восстанавливать его на so.6 не критично -- этот файл из пакета devel, так что на уже готовые бинарники он никакого действия не оказывает.
о при запуске gedlnx вместо SIGSEGV теперь SIGABRT:
===
Core was generated by `/usr/bin/gedlnx -C/home/rhs/fido/etc/golded+/golded.cfg'.
Program terminated with signal SIGABRT, Aborted.
Downloading source file /usr/src/debug/glibc-2.41-3.fc42.x86_64/nptl/pthread_kill.c
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
at pthread_kill.c:44
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
Function(s) ^std::(move|forward|as_const|(__)?addressof) will be skipped when stepping.
Function(s) ^std::(shared|unique)_ptr<.*>::(get|operator) will be skipped when stepping.
Function(s) ^std::(basic_string|vector|array|deque|(forward_)?list|(unordered_|flat_)?(multi)?(map|set)|span)<.*>::(c?r?( begin|end)|front|back|data|size|empty) will be skipped when stepping.
Function(s) ^std::(basic_string|vector|array|deque|span)<.*>::operator.] will be skipped when stepping.
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
at pthread_kill.c:44
#1 0x00007f8bc8392f23 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89
#2 0x00007f8bc8339abe in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f8bc83216d0 in __GI_abort () at abort.c:73
#4 0x00007f8bc83226f3 in __libc_message_impl (fmt=fmt@entry=0x7f8bc84d448c "%s\n")
at ../sysdeps/posix/libc_fatal.c:134
#5 0x00007f8bc839cfb5 in malloc_printerr (str=str@entry=0x7f8bc84d22d8 "malloc(): corrupted top size")
at malloc.c:5829
#6 0x00007f8bc83a0d68 in _int_malloc (av=av@entry=0x7f8bc8508ac0 <main_arena>, bytes=bytes@entry=63)
at malloc.c:4505
#7 0x00007f8bc83a1c8f in __GI___libc_malloc (bytes=bytes@entry=63) at malloc.c:3406
#8 0x00007f8bc83a89ef in __GI___strdup (
s=s@entry=0x59ce2ef "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m") at strdup.c:42
#9 0x00007f8bc893c0d0 in tparm_setup (term=0x59cc710,
string=string@entry=0x59ce2ef "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m",
result=result@entry=0x7fffb8a65040) at ../../ncurses/tinfo/lib_tparm.c:659 #10 0x00007f8bc8940f10 in _nc_tiparm (expected=expected@entry=1,
string=0x59ce2ef "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m")
at ../../ncurses/tinfo/lib_tparm.c:1340
#11 0x00007f8bc8962fd5 in set_foreground_color (fg=<optimized out>,
outc=outc@entry=0x7f8bc8942c30 <_nc_outch>) at ../../ncurses/base/lib_color.c:215
#12 0x00007f8bc8967194 in _nc_do_color (old_pair=<optimized out>, pair=<optimized out>,
reverse=<optimized out>, outc=0x7f8bc8942c30 <_nc_outch>) at ../../ncurses/base/lib_color.c:1063
#13 0x00007f8bc897b256 in ClearScreen (blank=32) at ../../ncurses/tty/tty_update.c:1651
#14 ClrUpdate () at ../../ncurses/tty/tty_update.c:1141
#15 doupdate () at ../../ncurses/tty/tty_update.c:999
#16 0x00007f8bc896ea96 in wrefresh (win=0x59cdbc0) at ../../ncurses/base/lib_refresh.c:66
#17 wrefresh (win=0x59cdbc0) at ../../ncurses/base/lib_refresh.c:49
#18 0x00000000004de756 in vputx (row=row@entry=30, col=col@entry=0, atr=atr@entry=31, chr=chr@entry=32,
--Type <RET> for more, q to quit, c to continue without paging--
len=len@entry=110) at ../goldlib/gcui/gvidbase.cpp:1090
#19 0x00000000004de7c4 in vfill (srow=srow@entry=30, scol=scol@entry=0, erow=erow@entry=30,
ecol=ecol@entry=109, chr=32, atr=atr@entry=31) at ../goldlib/gcui/gvidbase.cpp:2409
#20 0x00000000004e010c in wopen (srow=30, scol=0, erow=30, ecol=109, btype=5, battr=31, wattr=31, sbattr=-1,
loattr=-1) at ../goldlib/gcui/gwinbase.cpp:189
#21 0x0000000000446f9a in w_back ()
at /usr/src/debug/golded+-1.1.5.20250409C-3.fc42.x86_64/golded3/geinit.cpp:379
#22 0x00000000004504bf in Initialize (argc=<optimized out>, argv=<optimized out>)
at /usr/src/debug/golded+-1.1.5.20250409C-3.fc42.x86_64/golded3/geinit.cpp:966
#23 0x0000000000451602 in main (argc=<optimized out>, argv=<optimized out>)
at /usr/src/debug/golded+-1.1.5.20250409C-3.fc42.x86_64/golded3/gemain.cpp:53
(gdb)
===
Чего-то там явно с каким-то malloc. о тут я уже фиг знает чего делать.
Bye!
--- GoldED+/LNX 1.1.5-b20180707
* Origin: -= Thunder Bird =- (2:5020/620)