[26060] in Athena Bugs

home help back first fref pref prev next nref lref last post

Re: linux 9.3.12: Evolution

daemon@ATHENA.MIT.EDU (Greg Hudson)
Fri Sep 10 19:20:09 2004

From: Greg Hudson <ghudson@mit.edu>
To: Bill Cattey <wdc@mit.edu>
In-Reply-To: <200409102251.i8AMpJKv030906@tokata.mit.edu>
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Message-Id: <1094858343.7360.77.camel@egyptian-gods.mit.edu>
Mime-Version: 1.0
Date: Fri, 10 Sep 2004 19:19:03 -0400
cc: bugs@mit.edu
Errors-To: bugs-bounces@mit.edu

On Fri, 2004-09-10 at 18:51, Bill Cattey wrote:
> If "gdk_event_apply_filters" means what I think it does, then I have
> an idea what might have gone wrong.
[...]
> I have a presorting set of filters that examine incoming mail:

gdk is the display library component of the gtk+ toolkit.  The filtering
gdk is performing is on X ClientMessage events, and presumably has
nothing to do with Evolution mail filters.

Unfortunately, I think all of the Evolution stack traces I have seen
have indicated that the crash occurs within gtk+ or close to it.  This
either means we're running into a gtk+ bug (a possibility I hadn't
really considered until recently, since most bugs tend to occur at upper
layers) or, more likely, Evolution is corrupting memory and causing a
later crash in the gtk+ code.  Within a complex program, such bugs are
very difficult to diagnose even with a reproduction recipe, and are even
more difficult to debug when all you have is isolated occurrances (even
if you can attach to the process with a debugger at the time of the
crash).

One possible avenue is to get Evolution to run properly under valgrind,
which (like Purify) detects memory corruption at the moment when it
happens.  Unfortunately, when I've tried this in the past it's been a
futile exercise; although valgrind is a very good tool in general,
Evolution seems to behave differently under valgrind than it does
normally.  I spent days attacking the problem and only got as far as
discovering that the ORBit2 maintainers are awful awful people
(http://bugzilla.gnome.org/show_bug.cgi?id=119294) before giving up. 
(There were other more severe problems besides the ORBit2 lossage, which
I didn't figure out.)

Another thing we can do is upgrade patch versions of Evolution and some
of the libraries it uses, in hopes that whatever bug we're running into
has been noticed upstream and fixed.  Of course, we then run the risk of
introducing new bugs if the GNOME people didn't do their release
processes well.


home help back first fref pref prev next nref lref last post