Closed Bug 230312 Opened 21 years ago Closed 19 years ago

SIGBUS from 1.4.1 on Solaris 9 with Sun CC [@ nsWindow::Destroy ]

Categories

(Core Graveyard :: GFX: Gtk, defect)

Sun
Solaris
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: bugzilla-mozilla, Assigned: blizzard)

Details

(Keywords: crash)

Crash Data

User-Agent:       Mozilla/4.7 (X11; Linux)
Build Identifier: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.4.1) Gecko/20031201

We've built Mozilla 1.4.1 with mozplugger-1.3.2 for Solaris 9 with:
  $ cc -V
  cc: Forte Developer 7 C 5.4 2002/03/09

We built Mozilla like so:
  CC=cc CFLAGS="-g -xs -xtarget=generic -xarch=v8" \
  CXX=CC CXXFLAGS="-g -xs -xtarget=generic -xarch=v8" \
  LDFLAGS="-R/opt/TWWfsw/mozilla14/lib:/opt/TWWfsw/libmng10/lib:\
  /opt/TWWfsw/libpng12/lib:/opt/TWWfsw/jpeg/lib:/opt/TWWfsw/zlib11/lib" \
  ./configure  --with-system-jpeg=/opt/TWWfsw/jpeg \
  --with-system-zlib=/opt/TWWfsw/zlib11 \
  --with-system-png=/opt/TWWfsw/libpng12 \
  --with-system-mng=/opt/TWWfsw/libmng10 --enable-toolkit-gtk \
  --with-gtk-prefix=/opt/TWWfsw/gtk+12 \
  --with-glib-prefix=/opt/TWWfsw/glib12 \
  --with-ft-prefix=/opt/TWWfsw/libttf21 --enable-crypto \
  --enable-ldap-experimental --disable-xprint --disable-strip-libs \
  --enable-nspr-autoconf --enable-extensions=default,irc \
  --disable-debug --enable-xft --datadir=/opt/TWWfsw/mozilla14/share \
  --with-default-mozilla-five-home=/opt/TWWfsw/mozilla14/lib \
  --prefix=/opt/TWWfsw/mozilla14

The customer using the build is getting a SIGBUS. We rebuilt with
debugging and a core was generated. dbx spits out the following
backtrace:
  404       gtk_object_remove_data(GTK_OBJECT(mSuperWin), "nsWindow");
(dbx) where                                                                  
=>[1] nsWindow::Destroy(this = 0xd7e740), line 404 in "nsWindow.cpp"
  [2] nsView::~nsView(this = 0x755e310), line 169 in "nsView.cpp"
  [3] __SLIP.DELETER__A(0x755e310, 0x1, 0x104a90, 0x0, 0xffbfbee0,
0xfe1e06a8), at 0xfd86ff38
  [4] nsView::Destroy(this = 0x755e310), line 262 in "nsView.cpp"
  [5] nsFrame::Destroy(this = 0x58e9fc4, aPresContext = 0x1e0fb40), line
645 in "nsFrame.cpp"
  [6] nsSplittableFrame::Destroy(this = 0x58e9fc4, aPresContext =
0x1e0fb40), line 71 in "nsSplittableFrame.cpp"
  [7] nsContainerFrame::Destroy(this = 0x58e9fc4, aPresContext =
0x1e0fb40), line 147 in "nsContainerFrame.cpp"
  [8] nsBoxFrame::Destroy(this = 0x58e9fc4, aPresContext = 0x1e0fb40),
line 1095 in "nsBoxFrame.cpp"
  [9] nsGfxScrollFrame::Destroy(this = 0x58e9fc4, aPresContext =
0x1e0fb40), line 437 in "nsGfxScrollFrame.cpp"
  [10] nsListControlFrame::Destroy(this = 0x58e9fc4, aPresContext =
0x1e0fb40), line 472 in "nsListControlFrame.cpp"
  [11] nsFrameList::DestroyFrames(this = 0x58e9f14, aPresContext =
0x1e0fb40), line 130 in "nsFrameList.cpp"
  [12] nsComboboxControlFrame::Destroy(this = 0x58e9ea8, aPresContext =
0x1e0fb40), line 2374 in "nsComboboxControlFrame.cpp"
  [13] nsFrameList::DestroyFrames(this = 0x58e9c50, aPresContext =
0x1e0fb40), line 130 in "nsFrameList.cpp"
  [14] nsContainerFrame::Destroy(this = 0x58e9c20, aPresContext =
0x1e0fb40), line 140 in "nsContainerFrame.cpp"
  [15] nsLineBox::DeleteLineList(aPresContext = 0x1e0fb40, aLines =
CLASS), line 306 in "nsLineBox.cpp"
  ...

Reproducible: Sometimes

Steps to Reproduce:
1.
2.
3.




I took a look at the offending line in widgets/src/gtk/nsWindow.cpp:
  if (mSuperWin)
    gtk_object_remove_data(GTK_OBJECT(mSuperWin), "nsWindow");

mSuperWin is of type struct _GdkSuperWin. The prototype for
gtk_object_remove_data() is:
  void     gtk_object_remove_data      (GtkObject      *object,
                                        const gchar    *key);
struct _GdkSuperWin is defined as:
  struct _GdkSuperWin
  {
    GtkObject object;
    GdkWindow *shell_window;
    GdkWindow *bin_window;

    /* Private */
    GSList                    *translate_queue;
    GdkSuperWinFunc            shell_func;
    GdkSuperWinPaintFunc       paint_func;
    GdkSuperWinPaintFlushFunc  flush_func;
    GdkSuperWinKeyPressFunc    keyprs_func;
    GdkSuperWinKeyReleaseFunc  keyrel_func;
    gpointer                   func_data;
    GDestroyNotify             notify;

    GdkVisibilityState         visibility;
  };

So why do we pass GTK_OBJECT(mSuperWin) instead of
GTK_OBJECT(mSuperWin->object)?
Severity: normal → critical
Keywords: crash
OS: other → Solaris
Hardware: Other → Sun
Summary: SIGBUS from 1.4.1 on Solaris 9 with Sun CC → SIGBUS from 1.4.1 on Solaris 9 with Sun CC [ @ nsWindow::Destroy ]
Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7a) Gecko/20040108

Bulding Mozilla 1.7a or 1.5 with gtk2 for solaris 8

works. 

Build tools
Compiler 	Version 	Compiler flags
cc-8.0 	Sun C 5.5 Patch 112760-05 2003/12/02 	-xstrconst -xbuiltin=%all -mt
CC-8.0 	Sun C++ 5.5 Patch 113817-03 2003/10/14 	-xbuiltin=%all -mt
-I/usr/pack/libical-0.23-mo/include -I/usr/pack/gtk-2.2.4-mo/include
-I/usr/pack/fontconfig-2.2.0-to/include -I/usr/openwin/include

Configure arguments
--enable-mailnews --enable-ender-lite --enable-xterm-updates --enable-ldap
--enable-mathml --enable-mng --enable-xsl --enable-svg --enable-X11-shm
--disable-dtd-debug --disable-debug --disable-logging --enable-strip-libs
--enable-crypto --disable-tests --enable-strip --enable-cpp-rtti
--enable-cpp-exceptions --without-system-nspr --without-system-zlib
--without-system-jpeg --without-system-png --without-system-mng
--enable-calendar --enable-xft --enable-toolkit-gtk2
--enable-default-toolkit=gtk2 --disable-toolkit-gtk --enable-extensions=all
--prefix=/usr/pack/mozilla-cvs-mo
--exec-prefix=/usr/pack/mozilla-cvs-mo/sun4u-sun-solaris2.8
--x-includes=/usr/openwin/include --x-libraries=/usr/openwin/lib
--enable-js-ultrasparc '--enable-optimize=-xO3 -xtarget=ultra2e -xarch=v8plusa'
--enable-xprint --with-pthreads 
I should clarify. Building Mozilla with the Sun C++ compiler is fine. The SIGBUS
error is a _runtime_ error.

We also tried a GTK2 build of 1.4/1.5 but customers complained that it was too
slow (compared with the GTK1 version anyway).
do you still have this issue with 1.7rc2 ?
I have not tried 1.7rc2. The bug is not easily reproducible. We're now running
1.6 but haven't heard anything from the customer about recent crashes. Is my
query about "So why do we pass GTK_OBJECT(mSuperWin) instead of
GTK_OBJECT(mSuperWin->object)?" still valid? I see the code has not changed:
http://lxr.mozilla.org/seamonkey/source/widget/src/gtk/nsWindow.cpp.
Assignee: general → blizzard
Component: Browser-General → GFX: Gtk
QA Contact: general → ian
This is an automated message, with ID "auto-resolve01".

This bug has had no comments for a long time. Statistically, we have found that
bug reports that have not been confirmed by a second user after three months are
highly unlikely to be the source of a fix to the code.

While your input is very important to us, our resources are limited and so we
are asking for your help in focussing our efforts. If you can still reproduce
this problem in the latest version of the product (see below for how to obtain a
copy) or, for feature requests, if it's not present in the latest version and
you still believe we should implement it, please visit the URL of this bug
(given at the top of this mail) and add a comment to that effect, giving more
reproduction information if you have it.

If it is not a problem any longer, you need take no action. If this bug is not
changed in any way in the next two weeks, it will be automatically resolved.
Thank you for your help in this matter.

The latest beta releases can be obtained from:
Firefox:     http://www.mozilla.org/projects/firefox/
Thunderbird: http://www.mozilla.org/products/thunderbird/releases/1.5beta1.html
Seamonkey:   http://www.mozilla.org/projects/seamonkey/
Please close. Too old.
Status: UNCONFIRMED → RESOLVED
Closed: 19 years ago
Resolution: --- → WONTFIX
Product: Core → Core Graveyard
Summary: SIGBUS from 1.4.1 on Solaris 9 with Sun CC [ @ nsWindow::Destroy ] → SIGBUS from 1.4.1 on Solaris 9 with Sun CC [@ nsWindow::Destroy ]
Crash Signature: [@ nsWindow::Destroy ]
You need to log in before you can comment on or make changes to this bug.