Pi-дегі VPN клиентінің segfault-ы? Алдымен процесті түсіріп алыңыз
Қабықша segmentation fault шығарады және карта қайта жазылады. Кез келген құрылғыны ауыстырмас бұрын орындалатын файлды, нұсқаны және құлау жазбасын жазып алыңыз.
Клиентті іске қосасыз, терминал Segmentation fault (core dumped) шығарады, ал келесі сағат картаны қайта жазуға кетеді. Бұл хабарлама бір процестің бір сәтте қалай өлгенін сипаттайды. Ол тақта зақымдалған деп айтпайды және қуат көзін, сақтау құрылғысын немесе бейнені де ақтамайды.
Қабықша шығарған жолдан оның артындағы процеске қарай жүріңіз. Пайдалы деректер: қай орындалатын файл қателесті, қандай ортада және қосылымның қай кезеңінде.
Қабықша шығарған жолдан бастаңыз
Пәрменіңіздегі атау көбіне басқа бинарлық файлды іске қосатын қабықша немесе қосқыш болып келеді, сондықтан ядро шын мәнінде қай орындалатын файлды тоқтатқанын растаңыз. Толық жолды, пакет мен қолданба нұсқасын, архитектураны, ОЖ және ядро шығарылымын, оны іске қосқан тіркелгіні және нақты уақытты жазып алыңыз. VPN атындағы қабықша пәрмені көмекші процесті оңай іске қоса алады, ал жазба сол көмекшіні атайды. Өткен айда орнатылған пакеттің нұсқа жолын көшіру не іске қосылғаны туралы ештеңе айтпайды.
Апаттың алдында не болғанын белгілеңіз: іске қосу, профильді талдау, аутентификация немесе трафикті әлдеқашан өткізіп жатқан сессия. Осы төрт кезең іздеуді segfault сөзінен әлдеқайда көп тарылтады. Сол оқиға айналасындағы қысқа журнал терезесін сақтаңыз және жазба айтпайынша, қай соңғы өзгеріс себеп болды деген болжамды шетке қойыңыз.
Жады бейнесінің бар-жоғын анықтаңыз
core файлының анықтамасы дампты тоқтату кезінде жазылатын процесс жадысының бейнесі деп сипаттайды және сол жазуды тоқтататын шарттарды да тізіп береді. Бұл шарттарға нөлдік ресурс шегі және дампты жұмыс каталогынан тыс жерге бағыттайтын core үлгісі кіреді. Сондықтан core деген файлдың болмауы апат болды ма, жоқ па дегенді дәлелдемейді. Жүйе ешбір дәлел жасамады деген қорытындыға келмес бұрын конфигурацияланған үлгі мен шекті тексеріңіз.
systemd жинағышын қолданатын жүйеде қолдау көрсетілетін көрініс сақталған жазбаны орындалатын файлмен және уақытпен байланыстырады. Журнал жазбасы мен оқылатын жады бейнесі екі түрлі артефакт: сақтау саясаты мен рұқсаттар бірін екіншісіз қалдыруы мүмкін. Дистрибутивтен немесе қолданбаның қолдаушысынан олар қолдайтын диагностикалық жұмыс ағынын сұраңыз, өйткені басқа build немесе басқа кітапхана жиынтығынан алынған trace әдетте олардың уақытын босқа жұмсайды.
sysctl kernel.core_pattern
ulimit -c
coredumpctl list --since "1 hour ago" --no-pager
coredumpctl info /usr/sbin/openvpn
Бұл оқуларды шын мәнінде апатқа ұшыраған машинада қайталаңыз. Оларды жаңа орнатуда орындау ешкім сұрамаған сұраққа жауап береді.
Дампты құпия ақпарат тасымалдайтын материал ретінде қарастырыңыз
Процесс жадысында тіркелгі деректері, сессия кілттері және профиль мазмұны болуы мүмкін, бұл дампты қасындағы мәтіндік журналдан сезімтал етеді. Журналды өңдеу мөлдір емес жады бейнесі үшін ештеңе жасамайды, ал қарапайым issue-трекерлер тіркемелерді қолдау ағынынан әлдеқайда ұзақ сақтайды. Файлды жеткізуші немесе қолдаушы ұсынатын жеке арнамен жылжытыңыз. Ашық issue-ге шикі дампты жариялау процесс өлген кезде жадыда болғанның бәрін ашады, ал оның не екенін біреу тексермейінше біле алмайсыз.
Егер қолдаушы trace сұраса, оны қай орындалатын файлдан және қай кітапханалардан қалайтынын сұраңыз. Шеңберлері хабарланған build-ке сәйкес келмейтін backtrace-ке сену қиын және қате оқу оңай.
Бірдеңені ауыстырмас бұрын шығу тегін тексеріңіз
Пакеттің шығу тегін және файлдың тұтастығын орнатуға иелік ететін адам арқылы тексеріңіз және кез келген бақыланатын жөндеуден бұрын конфигурация мен сәйкестендіру материалын сақтаңыз. Тек таза орнату іске қосыла ма, соны көру үшін дәлелдің жалғыз көшірмесін үстінен жазбаңыз. Іске қосылған жаңа бейне жаңа бейненің іске қосылғанын айтады. Ол ескісінде бүлінген пакет, істен шыққан карта немесе осы архитектурада әрдайым қателесетін бинар болды ма, соны айтпайды.
Байланысы жоқ бағдарламалар да сәтсіз болса, немесе жүйе сақтау, қуат немесе ядро қателерін журналға жазса, бұл бақылауларды платформаны зерттеу үшін сақтаңыз. Олар аяқты кеңейтеді; әр segfault істен шыққан RAM немесе бүлінген бейнеден келеді деп дәлелдемейді.
Мақсатты түзетуден кейін сол рұқсат етілген іске қосуды және сол VPN операциясын сол жабдықта қайталаңыз. Қай ақау тоқтағанын және қай нұсқада екенін айтыңыз. Таза жүктелу өздігінен ақаулы құрамдас бөлікті анықтамайды және келесі аппараттық ақауды болжамайды.