Closed Bug 223514 Opened 21 years ago Closed 21 years ago

Instant crash with editor on Moz1.5/1.6a Solaris, ppc Linux. (pure virtual method called)

Categories

(SeaMonkey :: Composer, defect)

defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: anlan, Unassigned)

Details

(Keywords: crash)

User-Agent:       Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.5) Gecko/20031016
Build Identifier: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.5) Gecko/20031016

Pressing ctrl+e to invoke composer in a freshly started mozilla always crashes.
This is on our locally compiled Mozilla 1.5 on Solaris 8/9 compiled with gcc
2.95.2, or the current CVS for the upcoming 1.6a. The same mozconfig was used on
Moz1.4 without these problems, so it is a regression from 1.4.

At first I though this was Solaris only, but I also have a report of the exact
same crash at a G3 ppc Linux (2.4) with Mozilla 1.5.



Reproducible: Always

Steps to Reproduce:
1.Start mozilla
2.Press ctrl+e


Actual Results:  
The new window opens, and within a second all of mozilla crashes with only the
following output:
pure virtual method called


Our production release is naturally compiled without debug. The weird thing is
that if I enable debug the crash goes away.

(gdb) bt
#0  0xfebd9780 in __sigprocmask () from /usr/lib/libthread.so.1
#1  0xfebce978 in _resetsig () from /usr/lib/libthread.so.1
#2  0xfebce118 in _sigon () from /usr/lib/libthread.so.1
#3  0xfebd1158 in _thrp_kill () from /usr/lib/libthread.so.1
#4  0xfec4ba7c in raise () from /usr/lib/libc.so.1
#5  0xfec35924 in abort () from /usr/lib/libc.so.1
#6  0xfed4e360 in __default_terminate ()
   from /usr/local/lib/libstdc++.so.2.10.0
#7  0xfed4e390 in __terminate () from /usr/local/lib/libstdc++.so.2.10.0
#8  0x431c8 in __pure_virtual () at /gcc-2.95.2/gcc/cp/new.cc:41
#9  0x24464 in nsAString::IsDependentOn () at /gcc-2.95.2/gcc/cp/new.cc:41
#10 0x244cc in nsAString::do_AssignFromReadable ()
    at /gcc-2.95.2/gcc/cp/new.cc:41
#11 0xfc629b54 in NSGetModule () at /gcc-2.95.2/gcc/cp/new.cc:41
#12 0xfc629918 in NSGetModule () at /gcc-2.95.2/gcc/cp/new.cc:41
#13 0xfc61693c in NSGetModule () at /gcc-2.95.2/gcc/cp/new.cc:41
#14 0xfc34cf50 in _end () at /gcc-2.95.2/gcc/cp/new.cc:41
#15 0xfc349054 in _end () at /gcc-2.95.2/gcc/cp/new.cc:41
#16 0xfdf8b4c0 in NSGetModule ()
   from /sw/mozilla-1.5/components/libembedcomponents.so
#17 0xfdf87f58 in NSGetModule ()
   from /sw/mozilla-1.5/components/libembedcomponents.so
#18 0xfe9c4314 in XPTC_InvokeByIndex () from /sw/mozilla-1.5/libxpcom.so
---Type <return> to continue, or q <return> to quit---
#19 0xfe892b58 in NSGetModule ()
   from /sw/mozilla-1.5/components/libxpconnect.so
#20 0xfe898e38 in NSGetModule ()
   from /sw/mozilla-1.5/components/libxpconnect.so
#21 0xff3388fc in js_Invoke () from /sw/mozilla-1.5/libmozjs.so
#22 0xff34017c in js_Interpret () from /sw/mozilla-1.5/libmozjs.so
#23 0xff338954 in js_Invoke () from /sw/mozilla-1.5/libmozjs.so
#24 0xff338b60 in js_InternalInvoke () from /sw/mozilla-1.5/libmozjs.so
#25 0xff316a2c in JS_CallFunctionValue () from /sw/mozilla-1.5/libmozjs.so
#26 0xfcf9d638 in NSGetModule () from /sw/mozilla-1.5/components/libjsdom.so
#27 0xfcfd4d08 in NSGetModule () from /sw/mozilla-1.5/components/libjsdom.so
#28 0xfd6e1c54 in NSGetModule () from /sw/mozilla-1.5/components/libgklayout.so
#29 0xfd6e4470 in NSGetModule () from /sw/mozilla-1.5/components/libgklayout.so
#30 0xfd8622e0 in NSGetModule () from /sw/mozilla-1.5/components/libgklayout.so
#31 0xfd80b2b4 in NSGetModule () from /sw/mozilla-1.5/components/libgklayout.so
#32 0xfcfab79c in NSGetModule () from /sw/mozilla-1.5/components/libjsdom.so
#33 0xfe9c4314 in XPTC_InvokeByIndex () from /sw/mozilla-1.5/libxpcom.so
#34 0xfe892b58 in NSGetModule ()
   from /sw/mozilla-1.5/components/libxpconnect.so
#35 0xfe898e38 in NSGetModule ()
   from /sw/mozilla-1.5/components/libxpconnect.so
#36 0xff3388fc in js_Invoke () from /sw/mozilla-1.5/libmozjs.so
#37 0xff34017c in js_Interpret () from /sw/mozilla-1.5/libmozjs.so


I'll try to see if I can get a better trace. Any hints?
does it work with GCC 3.2.x (or 3.3.x) or Forte compiler ?
Keywords: crash
shar *
should get a better trace
Additional information: If ctrl+e is pressed on an emty page (about:blank), the
composer will open ok. But when closing the window, we'll have an SIGSEGV
instead. If one starts to type anything, I'll end up in gdb with a SIGILL...

The instant crash only seems to occur if launched with some content, otherwise
it is delayed.

Regarding gcc3 or Forte - Mozilla with gcc3@Solaris has always crashed since 1.4
sometime, and I do not have the Forte gtk-libs yet (will try that later though).
The build that crashed on Linux ppc in the same way was built with gcc 2.95.3.

(gdb) shar *
No loaded shared libraries match the pattern `*'.
(gdb) shar
Symbols already loaded for /sw/mozilla-1.5/libmozjs.so
Symbols already loaded for /sw/mozilla-1.5/libplds4.so
Symbols already loaded for /sw/mozilla-1.5/libplc4.so
Symbols already loaded for /sw/mozilla-1.5/libnspr4.so
Symbols already loaded for /usr/lib/libdl.so.1
Symbols already loaded for /usr/lib/librt.so.1
Symbols already loaded for /usr/local/lib/libgtk-1.2.so.0
Symbols already loaded for /usr/local/lib/libgdk-1.2.so.0
Symbols already loaded for /usr/local/lib/libgmodule-1.2.so.0
Symbols already loaded for /usr/local/lib/libglib-1.2.so.0
Symbols already loaded for /usr/openwin/lib/libXext.so.0
Symbols already loaded for /usr/openwin/lib/libX11.so.4
Symbols already loaded for /usr/lib/libsocket.so.1
Symbols already loaded for /usr/lib/libnsl.so.1
Symbols already loaded for /usr/lib/libm.so.1
Symbols already loaded for /usr/local/lib/libstdc++.so.2.10.0
Symbols already loaded for /usr/lib/libpthread.so.1
Symbols already loaded for /usr/lib/libc.so.1
Symbols already loaded for /usr/lib/libthread.so.1
Symbols already loaded for /usr/lib/libaio.so.1
Symbols already loaded for /usr/openwin/lib/libdga.so.1
Symbols already loaded for /usr/lib/libmp.so.2
Symbols already loaded for /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
Symbols already loaded for /sw/mozilla-1.5/cpu/sparcv8plus/libnspr_flt4.so
Symbols already loaded for /usr/lib/locale/sv/sv.so.2
Symbols already loaded for /usr/openwin/lib/locale/common/xlibi18n.so.2
Symbols already loaded for /usr/openwin/lib/locale/common/ximlocal.so.2
Symbols already loaded for /sw/mozilla-1.5/libxpcom.so
Symbols already loaded for /sw/mozilla-1.5/components/libjsd.so
Symbols already loaded for /sw/mozilla-1.5/components/libxpconnect.so
Symbols already loaded for /sw/mozilla-1.5/libgkgfx.so
Symbols already loaded for /sw/mozilla-1.5/components/libembedcomponents.so
Symbols already loaded for /sw/mozilla-1.5/components/libtypeaheadfind.so
Symbols already loaded for /sw/mozilla-1.5/components/libpref.so
Symbols already loaded for /sw/mozilla-1.5/libmozz.so
Symbols already loaded for /sw/mozilla-1.5/components/libnecko.so
Symbols already loaded for /sw/mozilla-1.5/components/libgklayout.so
Symbols already loaded for /sw/mozilla-1.5/components/libcaps.so
Symbols already loaded for /sw/mozilla-1.5/components/libi18n.so
Symbols already loaded for /sw/mozilla-1.5/components/librdf.so
Symbols already loaded for /sw/mozilla-1.5/components/libimglib2.so
Symbols already loaded for /sw/mozilla-1.5/components/libnsappshell.so
Symbols already loaded for /sw/mozilla-1.5/libgtksuperwin.so
Symbols already loaded for /sw/mozilla-1.5/components/libwidget_gtk.so
Symbols already loaded for /sw/mozilla-1.5/libxpcom_compat.so
Symbols already loaded for /sw/mozilla-1.5/components/libprofile.so
Symbols already loaded for /sw/mozilla-1.5/components/libxpcom_compat_c.so
Symbols already loaded for /usr/lib/iconv/ISO8859-1%UTF-16BE.so
Symbols already loaded for /usr/lib/iconv/UTF-16BE%ISO8859-1.so
Symbols already loaded for /sw/mozilla-1.5/components/libchrome.so
Symbols already loaded for /sw/mozilla-1.5/components/libhtmlpars.so
Symbols already loaded for /sw/mozilla-1.5/components/libuconv.so
Symbols already loaded for /sw/mozilla-1.5/components/libdocshell.so
Symbols already loaded for /sw/mozilla-1.5/components/libjar50.so
Symbols already loaded for /sw/mozilla-1.5/components/libgfx_gtk.so
Symbols already loaded for /usr/openwin/lib/libXp.so.1
Symbols already loaded for /sw/mozilla-1.5/components/libjsdom.so
Symbols already loaded for /sw/mozilla-1.5/components/libpipboot.so
Symbols already loaded for /sw/mozilla-1.5/libjsj.so
Symbols already loaded for /sw/mozilla-1.5/components/liboji.so
Symbols already loaded for /sw/mozilla-1.5/libgtkxtbin.so
Symbols already loaded for /usr/openwin/lib/libXt.so.4
Symbols already loaded for /usr/openwin/lib/libSM.so.6
Symbols already loaded for /usr/openwin/lib/libICE.so.6
Symbols already loaded for /sw/mozilla-1.5/components/libgkplugin.so
Symbols already loaded for
/sw/j2sdk-1.4.0_01/usr/j2se/jre/plugin/sparc/ns600/libjavaplugin_oji.so
Symbols already loaded for /sw/mozilla-1.5/components/libcookie.so
Symbols already loaded for /sw/mozilla-1.5/components/libwebbrwsr.so
Symbols already loaded for /usr/openwin/lib/locale/iso8859-1/xomEuro.so.2
Symbols already loaded for /sw/mozilla-1.5/components/libappcomps.so
Symbols already loaded for /sw/mozilla-1.5/components/libxremoteservice.so
Symbols already loaded for /sw/mozilla-1.5/components/libtxmgr.so
Symbols already loaded for /sw/mozilla-1.5/components/libeditor.so
Symbols already loaded for /sw/mozilla-1.5/components/libp3p.so
Symbols already loaded for /sw/mozilla-1.5/components/libmork.so
Symbols already loaded for /sw/mozilla-1.5/libmsgbaseutil.so
Symbols already loaded for /sw/mozilla-1.5/components/libmsgnews.so
Symbols already loaded for /sw/mozilla-1.5/components/libmailnews.so
Symbols already loaded for /sw/mozilla-1.5/components/libcomposer.so
(gdb) 


Looking at some bts, they don't look exactly the same, but they all end up here:

#8  0x431c8 in __pure_virtual ()
#9  0x24464 in nsAString::IsDependentOn ()
#10 0x244cc in nsAString::do_AssignFromReadable ()
I got one report of this happening on a linux x86 with gcc 2.95.4 as well.

On the other hand, I've now tried compiling the same source on Solaris both with
Forte and gcc3.3, and they work fine. With gcc 2.95.2, the bug is very reliable
if compiled without debug, and always disappears if I add -g.

I suppose this could be closed down as a c++ compiler issue. Something made this
appear during the 1.5-development, but I don't have the skill to to track it
down. Using a more modern compiler as a work around is good enough for me.
Status: UNCONFIRMED → RESOLVED
Closed: 21 years ago
Resolution: --- → WONTFIX
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.