¿Segfault do cliente VPN nun Pi? Captura primeiro o proceso
A consola imprime segmentation fault e a tarxeta vólvese gravar. Rexistra o executable, a versión e o rexistro do fallo antes de substituír calquera hardware.
Inicias o cliente, o terminal imprime Segmentation fault (core dumped) e a hora seguinte vaise en volver gravar a tarxeta. Esa mensaxe describe como morreu un proceso nun momento. Non di que a placa estea danada, nin exculpa a alimentación, o almacenamento ou a imaxe.
Parte da liña que imprimiu a consola e volve ao proceso que hai detrás. Os feitos útiles son que executable fallou, en que contorno e en que etapa da conexión.
Comeza pola liña que imprimiu a consola
O nome da túa orde adoita ser un envoltorio ou un lanzador que inicia outro binario, así que confirma que executable terminou realmente o núcleo. Anota a ruta completa, a versión do paquete e da aplicación, a arquitectura, a versión do sistema e do núcleo, a conta que o lanzou e a hora exacta. Unha orde de consola co nome dun VPN pode iniciar facilmente un proceso auxiliar, e o rexistro nomeará ese auxiliar. Copiar a cadea de versión dun paquete instalado o mes pasado non di nada sobre o que se executou.
Anota que precedeu inmediatamente o fallo: o arranque, a análise do perfil, a autenticación ou unha sesión que xa pasaba tráfico. Esas catro etapas estreitan a busca moito máis que a palabra segfault. Conserva a ventá curta de rexistros arredor dese suceso e deixa as conxecturas sobre que cambio recente o causou ata que o rexistro o diga.
Averigua se existe unha imaxe de memoria
A referencia do ficheiro core describe un volcado como unha imaxe da memoria do proceso escrita ao rematar, e tamén enumera as condicións que impiden esa escritura. Esas condicións inclúen un límite de recursos igual a cero e un patrón core que envía o volcado fóra do directorio de traballo. Por tanto, a ausencia dun ficheiro chamado core non demostra nada sobre se houbo un fallo. Comproba o patrón configurado e o límite antes de concluír que o sistema non produciu ningunha proba.
Nun sistema que usa o colector de systemd, a vista admitida correlaciona un rexistro gardado cun executable e unha hora. Unha entrada do journal e unha imaxe de memoria lexible son dous artefactos distintos: a política de retención e os permisos poden deixarte cun e non co outro. Pregunta á distribución ou ao mantenedor da aplicación polo fluxo de diagnóstico que admiten, porque unha traza xerada con outra compilación ou outro conxunto de bibliotecas adoita facerlles perder o tempo.
sysctl kernel.core_pattern
ulimit -c
coredumpctl list --since "1 hour ago" --no-pager
coredumpctl info /usr/sbin/openvpn
Repite esas lecturas na máquina que realmente fallou. Facelas nunha instalación nova responde a unha pregunta que ninguén fixo.
Trata o volcado como material que contén segredos
A memoria do proceso pode conter credenciais, chaves de sesión e contido do perfil, o que fai o volcado máis sensible que o rexistro de texto de ao lado. Redactar o rexistro non fai nada por unha imaxe de memoria opaca, e os xestores de incidencias habituais conservan os anexos moito máis tempo do que dura un fío de soporte. Move o ficheiro pola canle privada que ofrece o provedor ou o mantenedor. Publicar un volcado cru nunha incidencia pública expón todo o que estaba en memoria cando morreu o proceso, e non podes saber que era ata que alguén o inspeccione.
Se un mantenedor pide unha traza, pregunta de que executable e que bibliotecas a queren. Unha retro-traza cuxos marcos non coinciden coa compilación declarada é difícil de confiar e fácil de ler mal.
Comproba a procedencia antes de substituír nada
Verifica a procedencia do paquete e a integridade dos ficheiros con quen posúe a instalación, e conserva a configuración e o material de identidade antes de calquera reparación controlada. Non sobrescribas a única copia da proba só para ver se arranca unha instalación limpa. Unha imaxe nova que arranca di que a imaxe nova arranca. Non di se a antiga contiña un paquete corrupto, unha tarxeta que falla ou un binario que sempre ía fallar nesta arquitectura.
Se tamén fallan programas non relacionados, ou o sistema rexistra erros de almacenamento, alimentación ou núcleo, conserva esas observacións para a investigación da plataforma. Amplían o alcance; non demostran que todo segfault veña dunha RAM que falla ou dunha imaxe corrupta.
Despois dunha corrección dirixida, repite o mesmo arranque autorizado e a mesma operación VPN no mesmo hardware. Di que fallo se detivo e con que versión. Un arranque limpo por si só non identifica un compoñente defectuoso nin predí o seguinte fallo de hardware.