From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-dev+bounces-48030-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1RCp3o-0005TE-Kn
	for garchives@archives.gentoo.org; Sun, 09 Oct 2011 08:48:40 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 9ABB321C052;
	Sun,  9 Oct 2011 08:48:31 +0000 (UTC)
Received: from mail-yw0-f53.google.com (mail-yw0-f53.google.com [209.85.213.53])
	by pigeon.gentoo.org (Postfix) with ESMTP id E01D121C033
	for <gentoo-dev@lists.gentoo.org>; Sun,  9 Oct 2011 08:48:05 +0000 (UTC)
Received: by ywt2 with SMTP id 2so6580026ywt.40
        for <gentoo-dev@lists.gentoo.org>; Sun, 09 Oct 2011 01:48:05 -0700 (PDT)
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
X-BeenThere: gentoo-dev@lists.gentoo.org
Reply-to: gentoo-dev@lists.gentoo.org
MIME-Version: 1.0
Received: by 10.236.191.101 with SMTP id f65mr18521093yhn.61.1318150085010;
 Sun, 09 Oct 2011 01:48:05 -0700 (PDT)
Sender: lxnay@sabayonlinux.org
Received: by 10.236.105.205 with HTTP; Sun, 9 Oct 2011 01:48:04 -0700 (PDT)
Date: Sun, 9 Oct 2011 10:48:04 +0200
X-Google-Sender-Auth: mJXgqC1D60bUqbJLPkIKaKCTNXg
Message-ID: <CAN3AtvqatuOaAJojBXpYsSkBitTiJWm+bC1r8CpQP7cB7ypx7A@mail.gmail.com>
Subject: [gentoo-dev] gdk-pixbuf-query-loaders usage in tree
From: Fabio Erculiani <lxnay@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Content-Type: text/plain; charset=UTF-8
X-Archives-Salt: 
X-Archives-Hash: 94f5ff67bcec898c2e263cac2b67c261

gdk-pixbuf-query-loaders has a long history of segfaults.
Not to blame anybody here, but still segfaults there can happen quite easily.

A nice example is:
export __GL_NO_DSO_FINALIZER=1
$ gdk-pixbuf-query-loaders
When nvidia.ko is in use.

The __GL_NO_DSO_FINALIZER is a hack that made buggy nvidia-drivers (or
buggy gl threads usage?) work.
The problem with our ebuilds is that everybody did something like this
(in pkg_postinst):

gdk-pixbuf-query-loaders > "${ROOT}usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"

1) exit status is not even considered
2) output redirection truncates the destination file as soon as the
executable is spawned

This is very bad, because in case of segfaults, loaders.cache is
totalled, resulting in gtk+ apps dying miserably.

Please don't do that, never ever. We don't live in a perfect world.

x11-libs/gdk-pixbuf got fixed already.

Others affected:
app-emulation/emul-linux-x86-gtklibs
gnome-base/librsvg
media-libs/libwmf
others?

-- 
Fabio Erculiani
http://lxnay.com