Una de las cosas por las que me gusta trabajar con GNU/Linux Debian, es las diferentes ramas que tiene y el uso especifico que se les da, por ejemplo, para sistemas en producción, que están expuestos a internet usamos la rama “stable” (estable), obviamente por razones de seguridad y estabilidad, para algunos sistemas que no están expuestos a internet, por ejemplo una intranet o de uso personal, me gusta usar la rama “testing” (prueba), ya que permite tener software más actualizado, pero que podemos tener alguno que otro programa roto en funcionamiento o que puede una aplicación romper a otra.
Usando la rama “testing” actualmente conocida como “stretch” y después de cambiar el ambiente gráfico de “gnome” a “mate“; para mi gusto “mate” es lo que principalmente me agradaba de “gnome” antes; aproximadamente en una actualización a finales de agosto, comienzo a notar una serie de “segfault’s” como se puede ver en la siguiente salida filtrada de log.
Aug 30 13:31:34 localhost kernel: [ 1477.591409] mate-panel[3190]: segfault at ffffffff ip b720517f sp bf8eb920 error 5 in libgtk-3.so.0.2000.9[b6e6f000+7d3000]
Sep 6 11:44:47 localhost kernel: [ 649.424976] mate-terminal[6525]: segfault at bf23ad18 ip b628badb sp bf23ad00 error 6 in libc-2.23.so[b6257000+1ad000]
Sep 6 11:44:57 localhost kernel: [ 659.608839] mate-terminal[6562]: segfault at bf535d38 ip b630badb sp bf535d20 error 6 in libc-2.23.so[b62d7000+1ad000]
Sep 6 11:45:11 localhost kernel: [ 672.915031] mate-terminal[6576]: segfault at bf78ade8 ip b62e8adb sp bf78add0 error 6 in libc-2.23.so[b62b4000+1ad000]
Sep 6 11:48:54 localhost kernel: [ 896.160228] caja[6254]: segfault at bf11efe8 ip b6065adb sp bf11efd0 error 6 in libc-2.23.so[b6031000+1ad000]
Sep 6 11:49:09 localhost kernel: [ 910.938601] caja[6625]: segfault at bf615e48 ip b60b2adb sp bf615e30 error 6 in libc-2.23.so[b607e000+1ad000]
Sep 6 11:50:02 localhost kernel: [ 964.724594] caja[6641]: segfault at bf39eff0 ip b6057b1a sp bf39eff4 error 6 in libc-2.23.so[b6023000+1ad000]
Sep 6 11:50:06 localhost kernel: [ 968.442151] caja[6717]: segfault at bf721f28 ip b611fadb sp bf721f10 error 6 in libc-2.23.so[b60eb000+1ad000]
Sep 19 18:07:11 localhost kernel: [ 134.419892] caja[2549]: segfault at bf3e1f58 ip b60b7adb sp bf3e1f40 error 6 in libc-2.23.so[b6083000+1ad000]
Sep 19 18:31:35 localhost kernel: [ 1598.396412] caja[2864]: segfault at bf2e5ffc ip b6128796 sp bf2e5ff0 error 6 in libc-2.23.so[b60f4000+1ad000]
Sep 19 18:37:11 localhost kernel: [ 1934.770757] caja[3949]: segfault at bf45beb8 ip b60b4adb sp bf45bea0 error 6 in libc-2.23.so[b6080000+1ad000]
El problema se manifiesta de la siguiente manera, el ambiente gráfico de “mate” se carga sin problema alguno, pero al entrar, la letra que tenia era un poco diferente a lo usual, al tratar de abrir “caja” el administrador de archivos, este no se abría, en el caso de la terminal o consola, se abría la ventana pero el contenido estaba siempre en blanco o vacío por lo que no se veía nada, aunque se ejecutará un comando, dado los “segfault’s” anteriores, aplicaciones como “chromium” o “libreOffice” funcionaban sin ningún problema aparente.
Al principio no le di importancia, la mayor parte de mi trabajo lo hago en una consola o terminal via conexiones ssh, lo que hacía era usar las terminales virtuales que se tienen mediante F1, F2, etc., por otro lado suele ser en cierto punto normal en la rama de “testing”, tener detalles así, que después gracias a los maintainers en debian y a la comunidad, se reportan y solucionan.
Haciendo una búsqueda para ver que pasaba, ya que era necesario ejecutar algunas aplicaciones propias de “mate”, encontré un reporte en github el #627, en el que se daba a conocer el problema.
“Mate” esta siendo afectado por una actualización a las siguientes librerías: gir1.2-gtk-3.0, libgail-3-0, libgtk-3-0 y libgtk-3-bin, las cuales se actualizaron de la versión 3.20.7-1 a la 3.21.5-3, lo que rompió de cierta forma a “mate”, ya que no es compatible con esas versiones.
Para arreglar el problema tenemos dos opciones, esperar a que se actualice “mate” a la versión 1.15 o en su caso y más rápido, regresar a la versión anterior las librerías mencionadas, para esto, podemos agregar el siguiente repositorio en el “source.list”.
# version anterior de librerias para mate
deb http://snapshot.debian.org/archive/debian/20160818T221621Z/ testing main contrib non-free
Ahora utilizamos “aptitude” y buscamos las versiones anteriores de las librerías mencionadas, usamos el símbolo “+” para indicar la instalación, al hacer esto, se nos alertará del cambio de versión, listo, si todo salio bien, debemos tener las librerías en la versión 3.20.7-1.
Como aún no se cuenta con “mate” 1.15 en debian, es posible que este detalle se tenga por algún rato, en lo que se realiza la inclusión de la nueva versión, ya que no creo que se incluyan correcciones a la versión 1.14 que esta de salida, dado que en la página del proyecto de “mate” se ve que va por la versión 1.16.
Ha este momento mi escritorio funciona bien y no he tenido que ejecutar ningún otro comando.