FS#2777 - xemacs crash on exit

Attached to Project: Arch Linux
Opened by Leslie Polzer (skypher) - Monday, 30 May 2005, 09:04 GMT
Last edited by Dale Blount (dale) - Monday, 30 May 2005, 16:09 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jürgen Hötzel (juergen)
Architecture not specified
Severity Medium
Priority Normal
Reported Version 0.7 Wombat
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

xemacs crashes every time on exit.

Analysis from the xemacs crew:

--- snip ---

This is the spoor of a Motif bug:

Patrick> #7 0x400b77e3 in YowIter () from /usr/lib/libXm.so.2
Patrick> #8 0x400b65bd in _LTHashTableForEachItem () from /usr/lib/libXm.so.2

Supposedly recent versions of OpenMotif and LessTif (including
derivatives such as Solaris Motif) have this fixed; perhaps upgrading
your Motif will help. Alternatively you can rebuild XEmacs without
linking to Motif by giving configure the following flags (as well as
any others you normally use)

--with-widgets=athena --with-dialogs=athena --with-xim=xlib

In XEmacs 21.5.20 and more recent, we have updated to autoconf 2.59,
so that should be

--enable-widgets=athena --enable-dialogs=athena --with-xim=xlib

Here's what PROBLEMS has to say:

** Motif

Motif is the X11 version of the Gnus torture test: if there's a way to
crash, Motif will find it. With the open source release of Motif, it
seems like a good idea to collect all Motif-related issues in one
place.

You should also look in your OS's section, as it may not be Motif's
fault.

*** XEmacs crashes on exit (#1).

The backtrace is something like:

(gdb) where
#0 0xfeb9a480 in _libc_kill () from /usr/lib/libc.so.1
#1 0x000b0388 in fatal_error_signal ()
#2 <signal handler called>
#3 YowIter (ht=0xb, id=0x0, v=0x74682074, client=0x47e3c0)
at ImageCache.c:1159
#4 0xff26cc5c in _LTHashTableForEachItem (ht=0x4725e8,
iter=0xff26dda0 <YowIter>, ClientData=0x47e3c0) at Hash.c:671
#5 0xff2a4664 in destroy (w=0x496550) at Screen.c:352
#6 0xfef92118 in Phase2Destroy () from /usr/openwin/lib/libXt.so.4
#7 0xfef91940 in Recursive () from /usr/openwin/lib/libXt.so.4
#8 0xfef91e44 in XtPhase2Destroy () from /usr/openwin/lib/libXt.so.4
#9 0xfef91ae8 in _XtDoPhase2Destroy () from /usr/openwin/lib/libXt.so.4
#10 0xfef918cc in XtDestroyWidget () from /usr/openwin/lib/libXt.so.4
#11 0xfef91438 in CloseDisplay () from /usr/openwin/lib/libXt.so.4
#12 0xfef91394 in XtCloseDisplay () from /usr/openwin/lib/libXt.so.4
#13 0x0025b8b0 in x_delete_device ()
#14 0x000940b0 in delete_device_internal ()
#15 0x000806a0 in delete_console_internal ()

This is known to happen with Lesstif version 0.93.36. Similar
backtraces have also been observed on HP/UX and Solaris. There is a
patch for Lesstif. (This is not a solution; it just stops the crash.
It may or may not be harmless, but "it works for the author".)

Note that this backtrace looks a lot like the one in the next item.
However, this one is invulnerable to the Solaris patches mentioned there.

Frank McIngvale <frankm@hiwaay.net> says:

Ok, 0.93.34 works, and I tracked down the crash to a section
marked "experimental" in 0.93.36. Patch attached, "works for me".

diff -u -r lesstif-0.93.36/lib/Xm/ImageCache.c lesstif-0.93.36-mod/lib/Xm/ImageCache.c
--- lesstif-0.93.36/lib/Xm/ImageCache.c 2002-08-05 14:53:24.000000000 -0500
+++ lesstif-0.93.36-mod/lib/Xm/ImageCache.c 2002-11-11 11:13:12.000000000 -0600
@@ -1166,5 +1166,4 @@
DEBUGOUT(_LtDebug0(__FILE__, NULL, "_LtImageCacheScreenDestroy (XmGetPixmapByDepth) %p\n",
s));

- (void) _LTHashTableForEachItem(PixmapCache, YowIter, (XtPointer)s);
}
This task depends upon

Closed by  Jürgen Hötzel (juergen)
Wednesday, 27 July 2005, 06:56 GMT
Reason for closing:  Fixed
Additional comments about closing:  This should be fixed with the new xemacs package available.
Comment by Jürgen Hötzel (juergen) - Tuesday, 05 July 2005, 22:35 GMT
A new xemacs package is available. Switched from lesstif to athena widget-set. Lesstif seems indeed error-prone. And it seems that the former package maintainer used it unintentionally. Most distributions use athena. Please close Bug if problem is solved.

Juergen

Loading...