A veces, diferentes aplicaciones fallan y el sistema me notifica que la aplicación fallada usa una biblioteca de terceros ( libz
) y me sugiere probar sin ella.
Siempre puedo reproducirlo exportando un archivo PNG a formato JPEG en Gimp:
(Captura de pantalla a tamaño completo)
Cuando experimenté el problema por primera vez, tenía instalado libz 1.2.5 en el sistema, luego lo actualicé a 1.2.7, pero el problema persiste.
No sé cuándo ni para qué se instaló esta biblioteca.
===========ACTUALIZACIÓN 7.04.2013===========
Después de analizar la salida de strace, no creo que mi problema esté relacionado con zlib. Entonces estoy cambiando el título de la pregunta.
Aquí estágimp callejerosalida (tamaño de los iconos del iniciador = 36, tema "Radiance" Gnome)
futex(0x15b3434, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x15b3430, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x15b0fb0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x1c4a560, FUTEX_WAKE_PRIVATE, 1) = 1
lstat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/share/icons/Humanity/devices/16/drive-harddisk.svg", {st_mode=S_IFREG|0644, st_size=7338, ...}) = 0
open("/usr/share/icons/Humanity/devices/16/drive-harddisk.svg", O_RDONLY) = 19
fstat(19, {st_mode=S_IFREG|0644, st_size=7338, ...}) = 0
read(19, "<?xml version=\"1.0\" encoding=\"UT"..., 65536) = 7338
read(19, "", 65536) = 0
close(19) = 0
write(2, "\n(gimp:19027): Gtk-CRITICAL **: "..., 106
(gimp:19027): Gtk-CRITICAL **: IA__gtk_tree_model_get: assertion `GTK_IS_TREE_MODEL (tree_model)' failed
) = 106
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
(script-fu:19034): LibGimpBase-WARNING **: script-fu: gimp_wire_read(): error
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)
Intenté reinstalar los paquetes, pero no sirvió de nada.
$ file /usr/local/lib/libz.so.1.2.7
/usr/local/lib/libz.so.1.2.7: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x4b579c2bcc6eb41c0dc9c473e8298e5249fedbe1, not stripped
$ md5sum /usr/local/lib/libz.so.1.2.7
65ffc4f5f7b943cd569ba2136cd49f7b /usr/local/lib/libz.so.1.2.7
$ ls -lh /usr/local/lib/libz.so.1.2.7
-rwxr-xr-x 1 root root 99K лют 9 19:54 /usr/local/lib/libz.so.1.2.7
Sistema: Ubuntu 12.04 x64_86
Gimp 2.6.12
Respuesta1
Respondiendo mi pregunta yo solo.
Creo que al principio mi pregunta era un poco engañosa.
El sistema me informó que el bloqueo podría ocurrir debido a una biblioteca de terceros utilizada por Gimp (/usr/local/lib/libz.so.1.2.7).
Eliminé el enlace simbólico /usr/local/lib/libz.so.1 a /usr/local/lib/libz.so.1.2.7 y rastreé con strace la biblioteca predeterminada que se usa
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libz.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/tls/x86_64/libz.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/tls/x86_64", 0x7fff82fc2f00) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/tls/libz.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/tls", 0x7fff82fc2f00) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/x86_64/libz.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/x86_64", 0x7fff82fc2f00) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P \0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=92720, ...}) = 0
mmap(NULL, 2187824, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f99b8b30000
mprotect(0x7f99b8b46000, 2093056, PROT_NONE) = 0
mmap(0x7f99b8d45000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f99b8d45000
close(3)
Eso no solucionó el problema.
Pero después de algunas investigaciones adicionales creo que encontréinforme de error relacionado.