"coredumpctl" no puede leer el volcado de memoria, muestra el archivo de mensaje no es legible o no existe dicho archivo o directorio.

"coredumpctl" no puede leer el volcado de memoria, muestra el archivo de mensaje no es legible o no existe dicho archivo o directorio.

Estoy emitiendo los siguientes comandos:

coredumpctl list
Mon 2019-11-18 23:58:19 GMT   19043  1000  1000  31 missing   /opt/google/chrome/chrome
Mon 2019-11-18 23:58:19 GMT   19062  1000  1000  31 missing   /opt/google/chrome/chrome
Tue 2019-11-19 15:52:55 GMT   22332  1000  1000   6 missing   /usr/bin/texstudio

Seguido por:

coredumpctl gdb 22332
Storage: /var/lib/systemd/coredump/core.texstudio.1000.bb1cfb6b67f2423fac681d721ee1ba02.22332.1574178774000000.lz4 (inaccessible)
File "/var/lib/systemd/coredump/core.texstudio.1000.bb1cfb6b67f2423fac681d721ee1ba02.22332.1574178774000000.lz4" is not readable: No such file or directory

Lo que vuelca el seguimiento de la pila y muestra los dos mensajes anteriores sobre el almacenamiento inaccesible y el archivo no legible o no encontrado.

¿Estoy haciendo algo mal?

Respuesta1

Hay dos cosas comunes que podrías estar haciendo mal.

A menudo, un volcado de núcleo es "inaccesible" porque el programa se ejecutó con una identificación de usuario diferente a la suya. Esto significa que no tienes permiso. La solución rápida es ejecutar coredumpctlcomo root, por ejemplo usando sudo coredumpctl.

Supongo que ese no es tu problema. Estos coredumps son del ID de usuario 1000. Supongo que su usuario tiene el ID 1000, porque es el primer (y probablemente único) inicio de sesión no root creado en su sistema.

En segundo lugar,systemd-coredumptiene algunas configuraciones encoredump.conf, sobre cuánto espacio en disco se permite usar. Parece que si tiene menos del 15% de espacio libre en el disco, no se crearán volcados de núcleo en absoluto. (A menos que cambie esta configuración).

Puede verificar su espacio disponible en disco usando el comando df -ho df -h /var/lib/systemd/coredump/.

(Y para ver el tamaño absoluto total utilizado por los volcados de núcleo, puede ejecutar du -sh /var/lib/systemd/coredump/).

Uso Máximo=, MantenerLibre=

Aplique límites al espacio en disco que ocupan los volcados de memoria almacenados externamente. MaxUse= se asegura de que los volcados de núcleo antiguos se eliminen tan pronto como el espacio total en disco ocupado por los volcados de núcleo supere este límite (el valor predeterminado es el 10% del tamaño total del disco). KeepFree= controla cuánto espacio en disco se debe mantener libre al menos (el valor predeterminado es el 15% del tamaño total del disco). Tenga en cuenta que el espacio en disco utilizado por los volcados de memoria puede exceder temporalmente estos límites mientras se procesan los volcados de memoria. Tenga en cuenta que los volcados de núcleo antiguos también se eliminan según el tiempo mediante systemd-tmpfiles(8). Establezca cualquiera de los valores en 0 para desactivar la limpieza basada en el tamaño.

Respuesta2

Tenga en cuenta que coredumpctl listdice missingen cada uno de los volcados y el mensaje de error final fue No such file or directory.

Supongo que su distribución tiene un temporizador cron/systemd regular que limpia los volcados de núcleo antiguos (¿semanalmente, tal vez?). Ha limpiado los archivos de volcado de núcleo reales y solo quedó una pequeña entrada de registro que indica coredumpctlque dicho volcado solía existir.

información relacionada