![]() |
#1
|
|||
|
|||
![]()
Rinat Sadretdinow написал(а) к All в Apr 25 13:20:50 по местному времени:
* Originally in ru.ftn.develop * Crossposted in ru.golded Нello All! $Subj Проапгрейдил себе Fedora с 41 на 42 и всё, голый дед+ на пойнтовом адресе стал общаться со мной на непонятном языке. http://pics.rsh.ru/img/Screenshot<b>...b>y447qcis.png Конфиги на нодовом (этом) и на пойнтовом (620.1) одинаковы, версия голого деда+ одинакова (1.1.5), единственное что различается -- на пойнтовом Fedora 42, а на нодовом CentOS Linux release 8.5.2111. Но пока на пойнтовом была Fedora 41 всё было нормально. Уже всю голову сломал. Bye! --- GoldED+/LNX 1.1.5-b20180707 |
#2
|
|||
|
|||
![]()
Nil A написал(а) к Rinat Sadretdinow в Apr 25 03:38:52 по местному времени:
Нello, Rinat! Friday April 25 2025 13:20, from Rinat Sadretdinow -> All: RS> Проапгрейдил себе Fedora с 41 на 42 и всё, голый дед+ на пойнтовом RS> адресе стал общаться со мной на непонятном языке. echo $LANG locale -a А я знаю как починить, но не скажу ;-) Best Regards, Nil --- GoldED+/LNX 1.1.5-b20240306 |
#3
|
|||
|
|||
![]()
Rinat Sadretdinow написал(а) к Nil A в Apr 25 08:02:32 по местному времени:
Нello Nil! 26 Apr 25 03:38, you wrote to me: RS>> Проапгрейдил себе Fedora с 41 на 42 и всё, голый дед+ на RS>> пойнтовом адресе стал общаться со мной на непонятном языке. NA> echo $LANG NA> locale -a С этим у меня всё нормально. NA> А я знаю как починить, но не скажу ;-) А мне уже сказали ;-) Bye! --- GoldED+/LNX 1.1.5-b20180707 |
#4
|
|||
|
|||
![]()
Nil A написал(а) к Rinat Sadretdinow в Apr 25 22:03:36 по местному времени:
* Answering a message in area ru.ftn.develop (Создание и поддержка FTN софта). Нello, Rinat! Saturday April 26 2025 21:34, from Rinat Sadretdinow -> Alexey Khromov: RS> Через luit интереснее, даже не моргает терминалом, вываливается сразу, RS> но перед этим кидается корой: RS> === RS> rhs@sys3175:~$ golded RS> Segmentation fault (core dumped) RS> rhs@sys3175:~$ RS> === Кора - это уже интереснее для разработчиков. Потому что ни при каких хитро-выставленных кодировках, типа терминала, размера окна и пр. оно не должно падать. Осталось только научить тебе подбирать кору "ulimit -c unlimited", и потом открывать её в gdb и "bt" смотреть и нам сюда печатать. Best Regards, Nil --- GoldED+/LNX 1.1.5-b20240306 |
#5
|
|||
|
|||
![]()
Rinat Sadretdinow написал(а) к Nil A в Apr 25 07:50:10 по местному времени:
Нello Nil! 26 Apr 25 22:03, you wrote to me: NA> * Answering a message in area ru.ftn.develop (Создание и поддержка NA> FTN софта). RS>> Через luit интереснее, даже не моргает терминалом, вываливается RS>> сразу, но перед этим кидается корой: RS>> === RS>> rhs@sys3175:~$ golded RS>> Segmentation fault (core dumped) RS>> rhs@sys3175:~$ RS>> === NA> Кора - это уже интереснее для разработчиков. Вот разработчики пусть себе делают то же самое что я делал, добиваются не показа сообщений в нормальной кодировке, выпадения коры и флаг им в руки -- пусть изучают. NA> Потому что ни при каких хитро-выставленных кодировках, типа терминала, NA> размера окна и пр. оно не должно падать. Однако падает. И судя по названию файлов коры в /var/lib/systemd/coredump падает именно gedlnx, а не сам luit. NA> Осталось только научить тебе подбирать кору "ulimit -c unlimited", У меня и так там всё на unlimited выставлено. Как было по умолчанию после установки, так и осталось, я не менял. NA> и потом открывать её в gdb и "bt" смотреть и нам сюда печатать. А вот это уж точно нафиг. Если cmake и язык C++ от 17 и выше придумали кокаиновые наркоманы, язык Rust придумали героиновые наркоманы, то gdb это вообще вещь для тех, кто сидит на такой ярой синтетике, что героин по сравнению с ней это детское питание для младенцев. Я за тридцать лет, ЗА ТРИДЦАТЬ ЛЕТ так и не понял как можно пользоваться gdb не будучи полным мазохистом и ненавидя себя до сверхкосмической степени. Bye! --- GoldED+/LNX 1.1.5-b20180707 |
#6
|
|||
|
|||
![]()
Rinat Sadretdinow написал(а) к Nil A в Apr 25 11:52:34 по местному времени:
Нello Nil! 27 Apr 25 07:50, I wrote to you: NA>> Осталось только научить тебе подбирать кору "ulimit -c NA>> unlimited", и потом открывать её в gdb и "bt" смотреть и нам сюда NA>> печатать. Если это так интересно Отцу Русской Демократии, то вот. Я лично понимаю только то, что я тут ничего не понимаю. gdb создан каким-то яйцеголовыми пришельцами с Альфа Центавра и если им тут хоть что-то понятно, то среднестатистическому человеку (типа меня) тут непонятно ровным счётом ничего. Так что "Парируйте, Хоботов!" (C) фильм "Покровские ворота": === Core was generated by `/usr/bin/gedlnx -C/home/rhs/fido/etc/golded+/golded.cfg'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f7cfb32a952 in nc_init_acssp () from /lib64/libtinfo.so.6 Function(s) ^std::(move|forward|asconst|(_)?addressof) will be skipped when stepping. Function(s) ^std::(shared|unique)_ptr<.*>::(get|operator) will be skipped when stepping. Function(s) ^std::(basicstring|vector|array|deque|(forward_)?list|(unordered_|flat)?(multi)?(map|set)|span)<--Type <RET> for more, q to quit, c to continue without paging-- .*>::(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. Missing rpms, try: dnf --enablerepo='debug' install ncurses-compat-libs-debuginfo-6.5-5.20250125.fc42.x8664 ncurses-libs-debuginfo-6.5-5.20250125.fc42.x86_64 libstdc++-debuginfo-15.0.1-0.11.fc42.x86_64 glibc-debuginfo-2.41-3.fc42.x86_64 libgcc-debuginfo-15.0.1-0.11.fc42.x8664 (gdb) bt #0 0x00007f7cfb32a952 in nc_init_acssp () from /lib64/libtinfo.so.6 #1 0x00007f7cfb359c72 in ncsetupscreen () from /lib64/libncurses.so.5 #2 0x00007f7cfb35a2dc in newterm () from /lib64/libncurses.so.5 #3 0x00007f7cfb35a725 in initscr () from /lib64/libncurses.so.5 #4 0x00000000004dbb2c in GKbd::Init (this=this@entry=0x5e8660 <gkbd>) at ../goldlib/gcui/gkbdbase.cpp:152 #5 0x00000000004dbe16 in GKbd::GKbd (this=<optimized out>, this=<optimized out>) at ../goldlib/gcui/gkbdbase.cpp:229 #6 0x00000000004dc8cf in _static_initialization_and_destruction0 () at ../goldlib/gcui/gkbdbase.cpp:134 #7 0x00000000004de3fd in GLOBAL__sub_I_cursesinitialized () at ../goldlib/gcui/gkbdbase.cpp:2522 #8 0x00000000004e74df in sub_I_655350.0 () #9 0x00007f7cfad23724 in _libc_start_mainimpl () from /lib64/libc.so.6 #10 0x0000000000401265 in _start () (gdb) === То ли дело Turbo Debugger! Да даже убогий CodeView даёт гораздо более понятную информацию и в гораздо более удобочитаемом виде чем эта мешанина из символов таблицы ASCII. Вот почему я никогда не буду писать драйвера для Windows -- я взглянул в своё время на WinDbg, у меня тут же возникли рвотные позывы от того что я моментально вспомнил интерфейс gdb [если этот хаотичный набор из букв и цифр можно назвать интерфейсом] и решил что низкоуровневое программирование под Windows, как и написание модулей ядра для Linux по той же самой причине -- совсем не моё. Bye! --- GoldED+/LNX 1.1.5-b20180707 |
#7
|
|||
|
|||
![]()
Alexey Khromov написал(а) к Rinat Sadretdinow в Apr 25 12:31:15 по местному времени:
Здраствуйте, Rinat! RS> Если это так интересно Отцу Русской Демократии, то вот. Я лично RS> понимаю только то, что я тут ничего не понимаю. gdb создан каким-то RS> яйцеголовыми пришельцами с Альфа Центавра и если им тут хоть что-то Ну таки да) благо интерфейс у большинства cli-дебаггеров такой же. Есть обертки, тот же nemiver RS> 0x00007f7cfb32a952 in nc_init_acssp () from /lib64/libtinfo.so.6 #1 RS> 0x00007f7cfb359c72 in ncsetupscreen () from RS> /lib64/libncurses.so.5 #2 0x00007f7cfb35a2dc in newterm () from RS> /lib64/libncurses.so.5 #3 0x00007f7cfb35a725 in initscr () from RS> /lib64/libncurses.so.5 #4 0x00000000004dbb2c in GKbd::Init Я тут по-бырому F42 развернул в WSL-е и попытался собрать голдед всеми штатными средствами. Рубится на линковке, так как не может найти символ termname в либе /lib64/libtinfo.so.5 (ncurses-compat-libs установлены). Символ этот там точно есть, nm его видит. В ABI6 эти же символы присутствуют, но несовместимы с ABI5. Ну а так как свярщик я ненастоящий, и курзесы вместе с плюсами недолюбливаю - глубжее разбираться уже не было сил) Alexey Khromov --- GoldED+/LNX 1.1.5-b20250409 |
#8
|
|||
|
|||
![]()
Rinat Sadretdinow написал(а) к Alexey Khromov в Apr 25 14:34:32 по местному времени:
Нello Alexey! 27 Apr 25 12:31, you wrote to me: RS>> Если это так интересно Отцу Русской Демократии, то вот. Я лично RS>> понимаю только то, что я тут ничего не понимаю. gdb создан RS>> каким-то яйцеголовыми пришельцами с Альфа Центавра и если им тут RS>> хоть что-то AK> Ну таки да) благо интерфейс у большинства cli-дебаггеров такой же. AK> Есть обертки, тот же nemiver Даже debug.com, symdeb.exe и SoftICE не так убоги как gdb и windbg. AK> Я тут по-бырому F42 развернул в WSL-е и попытался собрать голдед всеми AK> штатными средствами. Рубится на линковке, так как не может найти AK> символ termname в либе /lib64/libtinfo.so.5 (ncurses-compat-libs AK> установлены). Символ этот там точно есть, nm его видит. В ABI6 эти же AK> символы присутствуют, но несовместимы с ABI5. AK> Ну а так как свярщик я ненастоящий, и курзесы вместе с плюсами AK> недолюбливаю - глубжее разбираться уже не было сил) Рассказываю как собрать в F42 для получения коры (если не следовать этой инструкции, а собирать штатно, то на Fedora 42 соберётся то, что кору не кидает, использует ncurses 6 и корректно показывает лишь латиницу, а вместо кириллицы кажет полную дрянь). 1) устанавливаем ncurses-compat-libs чтобы были курсесы пятой версии 2) далее файле /usr/lib64/libncurses.so: === rhs@sys3175:~$ cat /usr/lib64/libncurses.so INPUT(libncurses.so.6 -ltinfo) rhs@sys3175:~$ === меняем so.6 на so.5 3) собираем штатно `rpmbuild -bb golded.spec`, при этом всё собирается без вопросов и ldd говорит что golded+ теперь хочет ncurses 5, а не 6: === rhs@sys3175:~$ ldd /usr/bin/gedlnx linux-vdso.so.1 (0x00007f7cc20c9000) libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f7cc2077000) ^^^^ libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f7cc204a000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f7cc1c00000) libm.so.6 => /lib64/libm.so.6 (0x00007f7cc1f5c000) libgccs.so.1 => /lib64/libgccs.so.1 (0x00007f7cc1f30000) libc.so.6 => /lib64/libc.so.6 (0x00007f7cc1a0e000) libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f7cc1f03000) ^^^^ /lib64/ld-linux-x86-64.so.2 (0x00007f7cc20cb000) rhs@sys3175:~$ === Без выполнения пункта номер 2 как я ни бился gedlnx всё равно упорно собирался для ncurses 6 3а) можно вернуть so.6 который был изменён на so.5 в пункте номер 2 чтобы другие программы, завязанные на ncurses 6, не обломались (всё равно ncurses 5 теперь жёстко hardcoded в gedlnx и он железно будет обращаться именно к библиотекам из ncurses-compat-libs), можно это временно оставить для чистоты эксперимента, но после экспериментов всё равно надо вернуть, иначе после перезагрузки есть ненулевой шанс что перестанут работать: === rhs@sys3175:~$ dnf repoquery --whatrequires ncurses-libs Updating and loading repositories: Repositories loaded. 2048-cli-0:0.9.1-23.fc42.x86_64 4store-0:1.1.6-1.x86_64 Agda-0:2.6.4.3-53.fc42.x86_64 Io-language-0:20170906-21.fc42.i686 [...тысячи их, "Имя им легион" поэтому несколько сотен зависимых от ncurses поскипано...] zile-0:2.6.2-8.fc42.x86_64 zkl-0:1.14.7-1.x86_64 zork-0:1.0.3-8.fc41.x86_64 zsh-0:5.9-16.fc42.x86_64 === 4) запускаем gedlnx что со скрином, что с луитом, получаем SIGSEGV, радуемся! Меня смущает то, что gedlnx требует как libtinfo.so.6, так и libtinfo.so.5 Скорее всего тут и порылась собака, скорее всего именно вот из-за этого и происходит бяка и кака. Но вот как это побороть и оставить только libtinfo.so.5, выкинув из требуемых библиотек libtinfo.so.6 я не придумал (хотя и не думал честно говоря :-) Bye! --- GoldED+/LNX 1.1.5-b20180707 |
#9
|
|||
|
|||
![]()
Rinat Sadretdinow написал(а) к Alexey Khromov в Apr 25 15:13:38 по местному времени:
Нello Alexey! 27 Apr 25 14:34, I wrote to you: RS> Меня смущает то, что gedlnx требует как libtinfo.so.6, так и RS> libtinfo.so.5 Скорее всего тут и порылась собака, скорее всего именно RS> вот из-за этого и происходит бяка и кака. Но вот как это побороть и RS> оставить только libtinfo.so.5, выкинув из требуемых библиотек RS> 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) libgccs.so.1 => /lib64/libgccs.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.x8664/nptl/pthreadkill.c #0 _pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=notid@entry=0) at pthread_kill.c:44 44 return INTERNALSYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALLERRNO (ret) : 0; Function(s) ^std::(move|forward|asconst|(_)?addressof) will be skipped when stepping. Function(s) ^std::(shared|unique)_ptr<.*>::(get|operator) will be skipped when stepping. Function(s) ^std::(basicstring|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=notid@entry=0) at pthread_kill.c:44 #1 0x00007f8bc8392f23 in _pthread_kill_internal (threadid=<optimized out>, signo=6) at pthreadkill.c:89 #2 0x00007f8bc8339abe in _GIraise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #3 0x00007f8bc83216d0 in _GIabort () at abort.c:73 #4 0x00007f8bc83226f3 in _libc_messageimpl (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 <mainarena>, bytes=bytes@entry=63) at malloc.c:4505 #7 0x00007f8bc83a1c8f in _GI___libcmalloc (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 nctiparm (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 setforegroundcolor (fg=<optimized out>, outc=outc@entry=0x7f8bc8942c30 <nc_outch>) at ../../ncurses/base/libcolor.c:215 #12 0x00007f8bc8967194 in nc_do_color (oldpair=<optimized out>, pair=<optimized out>, reverse=<optimized out>, outc=0x7f8bc8942c30 <nc_outch>) at ../../ncurses/base/libcolor.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 |
#10
|
|||
|
|||
![]()
Alexey Khromov написал(а) к Rinat Sadretdinow в Apr 25 15:38:54 по местному времени:
Здраствуйте, Rinat! RS> Без выполнения пункта номер 2 как я ни бился gedlnx всё равно упорно RS> собирался для ncurses 6 Собрал с ncurses6, штатно, без правки системных либ. ncurses-compat-libs, конечно же, установлены. Запустил golded - бнопня, посмотрел скрипт - запуск через screen и ругань на его .rc запустил LANG=ru_RU.KOI8-R luit -encoding koi8-r -x -- gedlnx и увидел русские буквы интерфейса. Alexey Khromov --- GoldED+/LNX 1.1.5-b20250409 |