Буквально две строчки: #!/usr/bin/perl -w use Net::IDN::Encode ':all'; Результат: # ./Net-IDN-Encode.pl Segmentation fault Замечено, правда, в p11. В p9 на Intel работает, там 2.500-alt1
А может и железка... Записал LiveCD c LXQt/p11, загрузился с сессиями, обновил до текущего, работает. Попытка установки ClamAV (подумал, чем память занять), установка тоже странно прошла, хотя пакет установился (и запустился потом): # apt-get install clamav Reading Package Lists... Done warning: failed to decode set:rkGjshMiMnIrVgimOsStZidh9lFcUk8fMUKCE0uTfYwWzSnP3Mup3R5v1l841T4fdWGr9uXEktzuJBeEDeVK5v4HUbTowX5k7Q69r3zGLHlwVZaFh4kHr4Dla80i9qpcz5mf9ZjaFl6Yu2M9FAE2vwICn1KTtD3Ix7e4m7jnlYfVTO0AYrsDcgZ64AZDWzMDO9JZqwWl8Z8p1Ltf3spSSCOUFDtLCEsYVyZxC5c59gZ9XBmPGEZqlRFegrzsbsfpvoo7pZ2tMF1FZAYfEOJF4LvJGOgUvrx8H94acNmwHZ8Vd3roYZcy3uZi8ktdnk5bD7zW36DfSIQg2i3 Building Dependency Tree... Done ...
gdb: Core was generated by `/usr/bin/perl -w ./Net-IDN-Encode.pl'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f2d7d372a1c in elf_machine_rela_relative (reloc_addr_arg=0x9f2d7cbe1088, reloc=0x7f2d7cb9a810, l_addr=<optimized out>) at ../sysdeps/x86_64/dl-machine.h:483 483 *(Elf64_Addr *) reloc_addr = (Elf64_Addr) l_addr + reloc->r_addend;
(gdb) list 478 ElfW(Addr) *const reloc_addr = reloc_addr_arg; 479 #if !defined RTLD_BOOTSTRAP 480 /* l_addr + r_addend may be > 0xffffffff and R_X86_64_RELATIVE64 481 relocation updates the whole 64-bit entry. */ 482 if (__glibc_unlikely (ELFW(R_TYPE) (reloc->r_info) == R_X86_64_RELATIVE64)) 483 *(Elf64_Addr *) reloc_addr = (Elf64_Addr) l_addr + reloc->r_addend; 484 else 485 #endif 486 { 487 assert (ELFW(R_TYPE) (reloc->r_info) == R_X86_64_RELATIVE);
Замена памяти не помогла, обновление до Сизифа ситуацию несколько поменяло: Segmentation fault теперь в процессе работы библиотеки, а "use Net::IDN::Encode ':all'" отрабатывается нормально. Но материнка и CPU тоже под подозрением.
просто для инфорамции - у меня на Sisyphus на intel работает и не падает.
Обновил до Сизифа, падает. Правда не так. Библиотека подключается, а валится уже в процессе обработки XML. Появилась возможность попробовать аналогичную пару MB/CPU, замена эффекта не дала, как, ранее, и замена памяти. Подумал на микрокод, его в initrd правда не было, но тоже не помогло. Хотя, похоже, микрокод и не згрузился, как было patch_level=0x08108109, так и осталось, хотя в initrd AuthenticAMD.bin теперь присутствует.
BIOS Information Vendor: American Megatrends Inc. Version: P10.31 Release Date: 08/21/2024 Base Board Information Manufacturer: ASRock Product Name: B450M-HDV R4.0 processor : 0 vendor_id : AuthenticAMD cpu family : 23 model : 24 model name : AMD Athlon 3000G with Radeon Vega Graphics stepping : 1 4 ядра.
Проверил на системах: alt-kworkstation x86_64 p11 alt-server x86_64 p11 alt-workstation x86_64 p11 Пакет: perl-Net-IDN-Encode 2.500-alt1 Стенды: ASRock B450M PRO4-F AMD Ryzen 3 2200G with Radeon Vega Graphics Acer Aspire ES1-523 AMD A8-7410 APU with AMD Radeon R5 Graphics Gigabyte A320M-S2H-CF AMD Ryzen 5 2400G with Radeon Vega Graphics LENOVO IP Gaming 3 15ARH05 AMD Ryzen 5 4600H with Radeon Graphics Lenovo 15-IML 20RW Intel Core i5-10210U Asus Vivobook 15 X1504VA Intel(R) Core(TM) 5 120U Шаги: 1) Установить perl-Net-IDN-Encode # apt-get install perl-Net-IDN-Encode 2) Создать файл Net-IDN-Encode.pl # cat > Net-IDN-Encode.pl <<EOF #!/usr/bin/perl -w use Net::IDN::Encode ':all'; EOF 3) Дать права на выполнение # chmod +x Net-IDN-Encode.pl 4) Запустить # ./Net-IDN-Encode.pl Результат: Ошибок нет, код выхода 0 Дополнительно: Так же проверил установку пакета clamav, пакет устанавливается успешно
Да с Intel-то работает. Даже вот HDD как есть переставил, без переустановки ОС, и отработало всё. Было подозрение на какую-то несовместимость с AMD, особенно с учётом одинакового поведения на двух комплектах MB/CPU/RAM. А может оно есть всё же, смотрю Ryzen только проверялся, а Athlon-ов не было? С другой стороны баг не гуглится, наверное один я не должен был наступить.
Будем считать, что это то ли плохая совместимость ASRock B450M-HDV с Athlon 3000G, то ли оба комплекта, что у меня есть, одинаково не исправны.