JPEG 저장 시 Gimp가 충돌함

JPEG 저장 시 Gimp가 충돌함

때때로 다른 응용 프로그램이 충돌할 수 있으며 시스템에서는 충돌한 응용 프로그램이 타사 라이브러리( libz)를 사용하고 있음을 알리고 이를 사용하지 않고 시도할 것을 제안합니다.

Gimp에서 PNG 파일을 JPEG 형식으로 내보내면 언제든지 재현할 수 있습니다.

(전체 크기 스크린샷)

처음 문제가 발생했을 때 시스템에 libz 1.2.5를 설치한 다음 1.2.7로 업데이트했지만 문제가 지속됩니다.

이 라이브러리가 언제, 무엇을 위해 설치되었는지 모르겠습니다.

===========업데이트 7.04.2013===========

strace 출력을 살펴본 후 내 문제가 zlib과 관련이 없다고 생각합니다. 그래서 질문 제목을 바꾸겠습니다

여기는스트레이스 김프출력(런처 아이콘 크기 = 36, "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)

패키지를 다시 설치해 보았지만 도움이 되지 않았습니다.

$ 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

시스템: 우분투 12.04 x64_86
김프 2.6.12

답변1

내 질문에 스스로 대답합니다.

처음에는 내 질문이 약간 오해의 소지가 있었다고 생각합니다.

시스템에서는 Gimp(/usr/local/lib/libz.so.1.2.7)에서 사용하는 타사 라이브러리로 인해 충돌이 발생할 수 있다고 보고했습니다.

/usr/local/lib/libz.so.1 /usr/local/lib/libz.so.1.2.7에 대한 심볼릭 링크를 제거하고 기본 라이브러리가 사용되는 strace를 추적했습니다.

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)

문제가 해결되지 않았습니다.

하지만 추가 조사를 한 후에 찾은 것 같습니다.관련 버그 보고서.

관련 정보