[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Stefan Gybas <stefan@gybas.com>] Possible solution to Netscape crashing problem (was Re: Release-critical Bugreport for January 7, 2000)



Hi,

with Stefan's permission I'm forwarding this mail from
debian-devel. Please be gentle and include useful information in
case you want to send a report to him.

--- Begin Message ---
Jules Bean wrote:

> That's right.  IIRC, doogie said that actually it was some complex
> interaction with some code in xlib, and it wasn't technically a bug in
> netscape.

I did some investigation on this subject and I think I have now found a
solution for this problem:

The libc6 version of Netscape crashes when you close one of its windows or
try to quit the program since the X libs were compiled using egcs/gcc 2.95.
A call trace from the core file shows that the problem seems to be inside
libXt so I recompiled libXt from XFree 3.3.5 using gcc 2.7.2 and have had
no Netcspae crashes so far.

There is a patch in the Debian xfree86-1 sources (011_egcs-netscape.diff)
that builds some files inside libX11 and libXt without optimization but
this does not solve the problem so Branden has already removed this patch
>from the latest version (3.3.5zZa-1).

Further investigation showed that only building two files (Callback.o and 
Destroy.o) in libXt with gcc272 instead of gcc semms to cure the problem.
I have put a libXt built this way at http://pandora.debian.org/~sgybas/
together with a signature made with my Debian key.

Anybody seeing crashes with the libc6 version of Netscape, please test
this library and send me feedback. I'm using Communicator 4.71 (which used
to be available from ftp://lvftp.netscape.com/pub/blind/communicator/
english/4.71M2-19991213/) and which was built using glibc 2.1.2 so this
might have added extra stability.

Attached to this message is a patch for xfree86-1 which should IMHO be
added to the Debian package (together with a build dependency on gcc272 on
i386) if this version proves stable. I have not found any problems with
other X applications so far.

BTW, I don't think all this is caused by a bug in gcc 2.95 since the same
crash happens when you use gcc 2.7.2 without optimization. I guess this is
something like an allignment problem of some data structures as the motif
library used inside Netscape was compiled using "gcc-2.7.2 -O2".

-- 
Stefan Gybas
diff -ruN xc.o/lib/Xt/Imakefile xc/lib/Xt/Imakefile > 011_egcs-motif.diff
--- xc.o/lib/Xt/Imakefile	Fri Nov  6 14:54:31 1998
+++ xc/lib/Xt/Imakefile	Sun Jan  9 15:25:50 2000
@@ -150,6 +150,11 @@
 	Vendor.c \
 	sharedlib.c
 
+#ifdef i386Architecture
+XCOMM horrible kludge to work around egcs problem that makes Motif applications (like Netscape) crash - some parts of libXt must be compiled with "gcc-2.7.2 -O2" for them to work
+Callback.o Destroy.o: CC=gcc272
+#endif
+
 OBJS = \
 	$(MISCOBJS) \
 	ActionHook.o \

--- End Message ---
-- 
| Re: Kernel size is 666K! I kid you not! 
| by Anonymous Coward on Tuesday January 26, @08:50AM 
| I came home from a Barry Manilow concert once and had 666 burned into
| my forehead! I shit you not!        [Kernel 2.2.0 is announced on /.]

Reply to: