1 |
gdk-pixbuf-query-loaders has a long history of segfaults. |
2 |
Not to blame anybody here, but still segfaults there can happen quite easily. |
3 |
|
4 |
A nice example is: |
5 |
export __GL_NO_DSO_FINALIZER=1 |
6 |
$ gdk-pixbuf-query-loaders |
7 |
When nvidia.ko is in use. |
8 |
|
9 |
The __GL_NO_DSO_FINALIZER is a hack that made buggy nvidia-drivers (or |
10 |
buggy gl threads usage?) work. |
11 |
The problem with our ebuilds is that everybody did something like this |
12 |
(in pkg_postinst): |
13 |
|
14 |
gdk-pixbuf-query-loaders > "${ROOT}usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" |
15 |
|
16 |
1) exit status is not even considered |
17 |
2) output redirection truncates the destination file as soon as the |
18 |
executable is spawned |
19 |
|
20 |
This is very bad, because in case of segfaults, loaders.cache is |
21 |
totalled, resulting in gtk+ apps dying miserably. |
22 |
|
23 |
Please don't do that, never ever. We don't live in a perfect world. |
24 |
|
25 |
x11-libs/gdk-pixbuf got fixed already. |
26 |
|
27 |
Others affected: |
28 |
app-emulation/emul-linux-x86-gtklibs |
29 |
gnome-base/librsvg |
30 |
media-libs/libwmf |
31 |
others? |
32 |
|
33 |
-- |
34 |
Fabio Erculiani |
35 |
http://lxnay.com |