Gimp が JPEG 保存時にクラッシュする

Gimp が JPEG 保存時にクラッシュする

時々、さまざまなアプリケーションがクラッシュし、クラッシュしたアプリケーションがサードパーティのライブラリ ( ) を使用していることがシステムから通知されlibz、それなしで試すことが提案されます。

Gimp で PNG ファイルを JPEG 形式にエクスポートすることで、常に再現できます。

フルサイズのスクリーンショット

最初にこの問題が発生したとき、システムに libz 1.2.5 がインストールされていましたが、その後 1.2.7 にアップデートしましたが、問題は解決しません。

このライブラリがいつ、何のためにインストールされたのかはわかりません。

===========2013 年 7 月 4 日更新============

straceの出力を調べたところ、私の問題はzlibに関連していないようです。そのため、質問のタイトルを変更します。

ここはstrace ギンプ出力 (ランチャーアイコンのサイズ = 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

システム: Ubuntu 12.04 x64_86
Gimp 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)

問題は解決しませんでした。

しかし、さらに調査した結果、私は関連するバグレポート

関連情報