Closed Bug 79937 Opened 24 years ago Closed 20 years ago

[xlib] pure virtual method called nsWindow::UpdateIdle

Categories

(Core :: XUL, defect)

Sun
Solaris
defect
Not set
critical

Tracking

()

RESOLVED DUPLICATE of bug 88209

People

(Reporter: timeless, Assigned: timeless)

References

()

Details

(Keywords: crash)

Attachments

(3 files)

5/9morning cvs build. solaris7sparc xlib.

Creating a new nsIToolkit!
Enabling Quirk StyleSheet
Creating a new nsIToolkit!
Enabling Quirk StyleSheet
Creating a new nsIToolkit!
Enabling Quirk StyleSheet
!!!Object wrapped by XPConnect has members whose names shadow each other!!!
   XPCNativeSet @ 0x14d3e28 for the class:
   classname: HTMLCollection
   contractid: <unknown>
   claims to implement interfaces:
      nsISupports
      nsIDOMNodeList
      nsIDOMHTMLCollection
nsIDOMNodeList::item shadows nsIDOMHTMLCollection::item
nsIDOMNodeList::length shadows nsIDOMHTMLCollection::length
Opening file cookperm.txt failed
Opening file cookperm.txt failed
Creating a new nsIToolkit!
Enabling Quirk StyleSheet
/buster/test_url_25.html
/buster/top100/url.47
WEBSHELL- = 42
/buster/t.html
WEBSHELL- = 41
/buster/count.html
WEBSHELL- = 40
/
WEBSHELL- = 39
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: NS_ENSURE_TRUE(NS_SUCCEEDED(rv) && window) failed: '(!((rv) & 
0x80000000)) && wind
ow', file /tmp/mozilla/content/xul/document/src/nsXULCommandDispatcher.cpp, 
line 146
###!!! Break: at file 
/tmp/mozilla/content/xul/document/src/nsXULCommandDispatcher.cpp, line 146
Document http://komodo.mozilla.org/buster/test_url_25.html loaded successfully
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093
/content/commonDialog.xul
pure virtual method called

Program received signal SIGABRT, Aborted.
0xfedf9e54 in __sigprocmask () from /usr/lib/libthread.so.1
(gdb) bt
#0  0xfedf9e54 in __sigprocmask () from /usr/lib/libthread.so.1
#1  0xfedef3f4 in _resetsig () from /usr/lib/libthread.so.1
#2  0xfedeeb18 in _sigon () from /usr/lib/libthread.so.1
#3  0xfedf1a28 in _thrp_kill () from /usr/lib/libthread.so.1
#4  0xfed395b0 in abort () from /usr/lib/libc.so.1
#5  0xff1ddeb0 in __default_terminate () from /tmp/mozilla/./libxpcom.so
#6  0xff1ddee0 in __terminate () from /tmp/mozilla/./libxpcom.so
#7  0xff1dd68c in __pure_virtual () from /tmp/mozilla/./libxpcom.so
#8  0xfdd46ef0 in nsWindow::UpdateIdle (data=0x0) at 
/tmp/mozilla/widget/src/xlib/nsWindow.cpp:136
#9  0xfdd32b10 in nsAppShell::DispatchNativeEvent (this=0xb747c8, aRealEvent=1, 
aEvent=0xcd4868)
    at /tmp/mozilla/widget/src/xlib/nsAppShell.cpp:562
#10 0xfde39678 in nsXULWindow::ShowModal (this=0xcd2568)
    at /tmp/mozilla/xpfe/appshell/src/nsXULWindow.cpp:267
#11 0xfde4a238 in nsWebShellWindow::ShowModal (this=0xcd2568)
    at /tmp/mozilla/xpfe/appshell/src/nsWebShellWindow.cpp:1081
#12 0xfde36c44 in nsContentTreeOwner::ShowAsModal (this=0x13d87d0)
    at /tmp/mozilla/xpfe/appshell/src/nsContentTreeOwner.cpp:392
#13 0xfea2b9a8 in nsWindowWatcher::OpenWindowJS (this=0x18ed10, 
aParent=0x592d34,
    aUrl=0xfea53638 "chrome://global/content/commonDialog.xul", 
aName=0xfea53a88 "_blank",
    aFeatures=0xfea53a90 "centerscreen,chrome,modal,titlebar", aDialog=1, 
argc=1, argv=0xc8a9d0,
    _retval=0xffbee5e8)
    at 
/tmp/mozilla/embedding/components/windowwatcher/src/nsWindowWatcher.cpp:695
#14 0xfea296c4 in nsWindowWatcher::OpenWindow (this=0x18ed10, aParent=0x592d34,
    aUrl=0xfea53638 "chrome://global/content/commonDialog.xul", 
aName=0xfea53a88 "_blank",
    aFeatures=0xfea53a90 "centerscreen,chrome,modal,titlebar", 
aArguments=0xf1f268,
    _retval=0xffbee5e8)
    at 
/tmp/mozilla/embedding/components/windowwatcher/src/nsWindowWatcher.cpp:436
#15 0xfea27ab4 in nsPromptService::DoDialog (this=0x91f640, aParent=0x592d34,
    aParamBlock=0xf1f268, aChromeURL=0xfea53638 
"chrome://global/content/commonDialog.xul")
    at 
/tmp/mozilla/embedding/components/windowwatcher/src/nsPromptService.cpp:592
#16 0xfea243a0 in nsPromptService::Alert (this=0x91f640, parent=0x592d34, 
dialogTitle=0x9e7d38,
    text=0xc4c198) at 
/tmp/mozilla/embedding/components/windowwatcher/src/nsPromptService.cpp:121
#17 0xfea233ac in nsPrompt::Alert (this=0xab6c60, dialogTitle=0x0, 
text=0xc4c198)
    at /tmp/mozilla/embedding/components/windowwatcher/src/nsPrompt.cpp:107
#18 0xfd45d678 in nsWebShell::EndPageLoad (this=0x114b8f8, aProgress=0x11aacbc, 
channel=0x116b808,
    aStatus=2152398878) at /tmp/mozilla/docshell/base/nsWebShell.cpp:1013
#19 0xfd448ed4 in nsDocShell::OnStateChange (this=0x114b8f8, 
aProgress=0x11aacbc,
    aRequest=0x116b808, aStateFlags=131088, aStatus=2152398878)
    at /tmp/mozilla/docshell/base/nsDocShell.cpp:2850
#20 0xfd5ae544 in nsDocLoaderImpl::FireOnStateChange (this=0x11aaca8, 
aProgress=0x11aacbc,
    aRequest=0x116b808, aStateFlags=131088, aStatus=2152398878)
    at /tmp/mozilla/uriloader/base/nsDocLoader.cpp:1091
#21 0xfd5ad0c0 in nsDocLoaderImpl::doStopDocumentLoad (this=0x11aaca8, 
request=0x116b808,
    aStatus=2152398878) at /tmp/mozilla/uriloader/base/nsDocLoader.cpp:720
#22 0xfd5acd14 in nsDocLoaderImpl::DocLoaderIsEmpty (this=0x11aaca8)
    at /tmp/mozilla/uriloader/base/nsDocLoader.cpp:627
#23 0xfd5ac9b8 in nsDocLoaderImpl::OnStopRequest (this=0x11aaca8, 
aRequest=0x116b808, aCtxt=0x0,
    aStatus=2152398878) at /tmp/mozilla/uriloader/base/nsDocLoader.cpp:557
#24 0xfd8b0c40 in nsLoadGroup::RemoveRequest (this=0xf0fb10, request=0x116b808, 
ctxt=0x0,
---Type <return> to continue, or q <return> to quit---q
aStatus=21Quit
) at /tmp/mozilla/netwerk/base/src/nsLoadGroup.cpp:512
sh#25 0xfd8fdbf8 in nsHTTPChannel::ResponseCompleteda (this=0x116b808, 
aListener=0xca4b48,
    aStatus=2152398878) at 
/tmp/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp:2375
re #26 0xfd9084c0 in nsHTTPPipelinedRequest::OnStopRequest (this=0x11931e8, 
request=0xc3c1d0,
    aContext=0x116b808, aStatus=2152398878)
    at /tmp/mozilla/netwerk/protocol/http/src/nsHTTPRequest.cpp:861
#27 0xfd89bb68 in nsSimpleStreamProvider::OnStopRequest (this=0x1320960, 
request=0xc3c1d0,
    aContext=0x116b808, aStatus=2152398878)
    at /tmp/mozilla/netwerk/base/src/nsSimpleStreamProvider.cpp:56
#28 0xfd9c9e98 in nsOnStopRequestEvent::HandleEvent (this=0x12afbc8)
    at /tmp/mozilla/netwerk/base/src/nsRequestObserverProxy.cpp:158
#29 0xfd89bf88 in nsARequestObserverEvent::HandlePLEvent (plev=0x12afbc8)
    at /tmp/mozilla/netwerk/base/src/nsRequestObserverProxy.cpp:63
#30 0xff176598 in PL_HandleEvent (self=0x12afbc8) at 
/tmp/mozilla/xpcom/threads/plevent.c:588
#31 0xff1762bc in PL_ProcessPendingEvents (self=0xf9988)
    at /tmp/mozilla/xpcom/threads/plevent.c:518
#32 0xff179350 in nsEventQueueImpl::ProcessPendingEvents (this=0xf9958)
    at /tmp/mozilla/xpcom/threads/nsEventQueue.cpp:374
#33 0xfdd325d8 in nsAppShell::Run (this=0x19f1a8)
    at /tmp/mozilla/widget/src/xlib/nsAppShell.cpp:462
#34 0xfde44a58 in nsAppShellService::Run (this=0x1a44d0)
    at /tmp/mozilla/xpfe/appshell/src/nsAppShellService.cpp:417
#35 0x23264 in main1 (argc=3, libxpcom.soargv=0xffbef944, nativeApp=0x0)
    at /tmp/mozilla/xpfe/bootstrap/nsAppRunner.cpp:1010
#36 0x244a4 in main (argc=3, argv=0xffbef944) at 
/tmp/mozilla/xpfe/bootstrap/nsAppRunner.cpp:1311
timeless thinks this might be related to my bug in gtk/nsWindow::UpdateIdle, bug
56086. cc'ing myself...
Summary: pure virtual method called nsWindow::UpdateIdle → pure virtual method called nsWindow::UpdateIdle
visiting http://www.cs.umd.edu/ and clicking [Courses] WebPages
This is a --enable-optimize build w/ 2 patches.  This crash might be unrelated.

/
/top.html
WEBSHELL- = 6
/table.html
/fs/www/events/summary.html
WEBSHELL- = 5
/bottom.html
WEBSHELL- = 4
###!!! ASSERTION: nsImageXlib::DrawToImage not yet implemented: 'Not Reached', 
file /tmp/mozilla/gfx
/src/xlib/nsImageXlib.cpp, line 1093
###!!! Break: at file /tmp/mozilla/gfx/src/xlib/nsImageXlib.cpp, line 1093

Program received signal SIGILL, Illegal instruction.
0xfd65d2e0 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
(gdb) share libgkcontent.so
Reading symbols from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so...done.
(gdb) bt
#0  0xfd65d2e0 in CSSStyleSheetInner virtual table ()
   from /tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
#1  0xfe14083c in nsWindow::UpdateIdle (data=0x0) at 
/tmp/mozilla/widget/src/xlib/nsWindow.cpp:136
#2  0xfe1328cc in nsAppShell::Run (this=0xf4120) at 
/tmp/mozilla/widget/src/xlib/nsAppShell.cpp:478
#3  0xfe1bc5c0 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libnsappshell.so
#4  0x1b630 in main1 (argc=3, argv=0xffbef92c, nativeApp=0x0)
    at /tmp/mozilla/xpfe/bootstrap/nsAppRunner.cpp:1010
#5  0x1c530 in main (argc=3, argv=0xffbef92c) at 
/tmp/mozilla/xpfe/bootstrap/nsAppRunner.cpp:1311
Severity: normal → major
Keywords: crash
I opened the find window while reading gisburn's xprint patch and pasted in a 6 
line section of his code. Whoops.  So i started deleting pieces of it.
That explains the first warning:
WARNING: Illegal character in window name Find on Page, file 
/tmp/mozilla/embedding/components/windowwatcher/src/nsWindowWatcher.cpp, line 
998
WEBSHELL+ = 4
Creating a new nsIToolkit!
Document http://bugzilla.mozilla.org/showattachment.cgi?attach_id=33682 loaded 
successfully
WEBSHELL+ = 5
Creating a new nsIToolkit!
/content/commonDialog.xul
WEBSHELL- = 4
WEBSHELL+ = 5
Creating a new nsIToolkit!
/content/commonDialog.xul
pure virtual method called

Program received signal SIGABRT, Aborted.
0xfee59e54 in __sigprocmask () from /usr/lib/libthread.so.1
(gdb) bt
#0  0xfee59e54 in __sigprocmask () from /usr/lib/libthread.so.1
#1  0xfee4f3f4 in _resetsig () from /usr/lib/libthread.so.1
#2  0xfee4eb18 in _sigon () from /usr/lib/libthread.so.1
#3  0xfee51a28 in _thrp_kill () from /usr/lib/libthread.so.1
#4  0xfeeb95b0 in abort () from /usr/lib/libc.so.1
#5  0xff29bc00 in __default_terminate () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/./libxpcom.so
#6  0xff29bc30 in __terminate () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/./libxpcom.so
#7  0xff29b974 in __pure_virtual () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/./libxpcom.so
#8  0xfe1408d4 in nsWindow::UpdateIdle (data=0x0) at 
/tmp/mozilla/widget/src/xlib/nsWindow.cpp:136
#9  0xfe132b9c in nsAppShell::DispatchNativeEvent (this=0x0, aRealEvent=1, 
aEvent=0xc61b08)
    at /tmp/mozilla/widget/src/xlib/nsAppShell.cpp:562
#10 0xfe1ad55c in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libnsappshell.so
#11 0xfe1c25ac in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libnsappshell.so
#12 0xfe1ab098 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libnsappshell.so
#13 0xfe3c60a8 in ?? ()
   from /tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libembedcomponents.so
#14 0xfe3c31a4 in ?? ()
   from /tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libembedcomponents.so
#15 0xfe3c0f38 in ?? ()
   from /tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libembedcomponents.so
#16 0xfe3bf208 in ?? ()
   from /tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libembedcomponents.so
#17 0xfe3be340 in ?? ()
   from /tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libembedcomponents.so
#18 0xfd8c2170 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libjsdom.so
#19 0xff267f44 in XPTC_InvokeByIndex ()
    at /tmp/mozilla/xpcom/reflect/xptinfo/src/xptiZipLoader.cpp:33
#20 0xfe2534a8 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libxpconnect.so
#21 0xfe25d894 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libxpconnect.so
#22 0xff0bd0f4 in js_Invoke (cx=0xc69b28, argc=1, flags=0) at 
/tmp/mozilla/js/src/jsinterp.c:813
#23 0xff0c7c68 in js_Interpret (cx=0xc69b28, result=0xffbeb3ec)
    at /tmp/mozilla/js/src/jsinterp.c:2708
#24 0xff0bd15c in js_Invoke (cx=0xc69b28, argc=1, flags=2) at 
/tmp/mozilla/js/src/jsinterp.c:830
#25 0xff0bd3a4 in js_InternalInvoke (cx=0xc69b28, obj=0xbbcc50, fval=9444928, 
flags=0, argc=1,
    argv=0xffbeb6d4, rval=0xc69b28) at /tmp/mozilla/js/src/jsinterp.c:902
#26 0xff09ad6c in JS_CallFunctionValue (cx=0xc69b28, obj=0xbbcc50, 
fval=9444928, argc=1,
    argv=0xffbeb6d4, rval=0xffbeb604) at /tmp/mozilla/js/src/jsapi.c:3342
#27 0xfd8b1340 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libjsdom.so
#28 0xfd902a7c in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libjsdom.so
#29 0xfd3c10a8 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
#30 0xfd3bae40 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
#31 0xfd3bc0f8 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
#32 0xfd3bc220 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
#33 0xfd1a32a0 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
#34 0xfd331720 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
#35 0xfd30bfe8 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
#36 0xfd30bfe8 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
#37 0xfd30bfe8 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
#38 0xfd30bfe8 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libgkcontent.so
---Type <return> to continue, or q <return> to quit---q
Quit
...
(gdb) up
#8  0xfe1408d4 in nsWindow::UpdateIdle (data=0x0) at 
/tmp/mozilla/widget/src/xlib/nsWindow.cpp:136
136             window->Update();
Current language:  auto; currently c++
(gdb) print tmp_list
$1 = (nsListItem *) 0x1120928
(gdb) print *tmp_list
$2 = {data = 0x10eb908, next = 0x0, prev = 0x0}
(gdb) print tmp_list->data
$3 = (void *) 0x10eb908
(gdb) print *(nsWindow*)tmp_list->data
$5 = {<nsWidget> = {<nsBaseWidget> = {<nsIWidget> = {<nsISupports> = {
          _vptr. = 0xfe187868}, <No data fields>}, mRefCnt = 1, _mOwningThread 
= 0x3a0d8,
      mClientData = 0x0, mEventCallback = 0, mContext = 0x0, mAppShell = 
{mRawPtr = 0x0},
      mToolkit = 0x0, mMouseListener = 0x0, mEventListener = 0x0, mMenuListener 
= 0x0,
      mBackground = 4294967295, mForeground = 17726488, mCursor = 
eCursor_standard,
      mWindowType = eWindowType_child, mBorderStyle = eBorderStyle_default, 
mIsShiftDown = 0,
      mIsControlDown = 0, mIsAltDown = 0, mIsDestroying = 1, mOnDestroyCalled = 
1, mBounds = {
        x = 0, y = 0, width = 464, height = 136}, mZIndex = 0, mSizeMode = 
nsSizeMode_Normal,
      mChildren = {mRawPtr = 0x0}}, static WMDeleteWindow = 73, static 
WMTakeFocus = 71,
    static WMSaveYourself = 72, static WMProtocolsInitialized = 1, mUpdateArea 
= {mRawPtr = 0x0},
    mIsShown = 1, mVisibility = 0, mPreferredWidth = 0, mPreferredHeight = 0,
    mParentWidget = 0x0, mParentWindow = 4212635, mDisplay = 0x17e768, mScreen 
= 0x165870,
    mBaseWindow = 0, mVisual = 0x18d5a0, mDepth = 24, mBackgroundPixel = 
16777215,
    mBorderRGB = 4294967295, mBorderPixel = 16777215, mGC = 0x0,
    mName = {<nsAFlatString> = {<nsAString> = {<nsPrivateSharableString> = {
            _vptr. = 0xff3026c0}, <No data fields>}, <No data fields>}, <nsStr> 
= {mLength = 13,
        mCapacity = 14, mCharSize = eTwoByte, mOwnsBuffer = 0, {mStr = 0x0,
          mUStr = 0x0}}, <No data fields>}, mIsToplevel = 0, mRequestedSize = 
{x = 0, y = 0,
      width = 464, height = 136}, mMapped = 1, static mFocusWindow = 4212637,
    mListenForResizes = 1, static gsWindowList = 0x3ebab8, static 
gsWindowCreateCallback = 0,
    static gsWindowDestroyCallback = 0, static gsEventDispatcher = 0, static 
gRollupListener = {
      mRawPtr = 0x0}, static gRollupWidget = {mRawPtr = 0x0},
    static gRollupConsumeRollupEvent = 1}, mIsUpdating = 0, mBlockFocusEvents = 
0,
  static sIsGrabbing = 0, static sGrabWindow = 0x0}
(gdb) print window
No symbol "window" in current context.

I can expand the other symbols if we care, but I suspect they aren't important 
(and I can also get the rest of the stack, also unlikely to be important).
Blocks: 79119
i think this is a dupe of bug 80345 which contains a simple fix.

*** This bug has been marked as a duplicate of 80345 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Reopening.  Bug 80345 is about the GTK port.  (Further, there was no duplicate
notation on it.)  It still needs to be fixed in both ports, so reopening this
one to do the same for xlib.
patch.  untested. I'll test tomorrow night.  It is functionally equivalent to 
the gtk version.  I'll look into Qt later.
Assignee: quy → timeless
Status: REOPENED → NEW
Keywords: approval, patch, review
###!!! ASSERTION: You can't dereference a NULL nsCOMPtr with operator->().: 
'mRawPtr != 0', file ../
../../dist/include/nsCOMPtr.h, line 649
###!!! Break: at file ../../../dist/include/nsCOMPtr.h, line 649

Program received signal SIGSEGV, Segmentation fault.
0xfe0c1194 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libwidget_xlib.so
(gdb) bt
#0  nsWindow::Update (this=0xcf1e58) at 
/tmp/mozilla/widget/src/xlib/nsWindow.cpp:533
#1  0xfe0c055c in nsWindow::UpdateIdle (data=0x0) at 
/tmp/mozilla/widget/src/xlib/nsWindow.cpp:136
#2  0xfe0b2598 in nsAppShell::Run (this=0x105028)
    at /tmp/mozilla/widget/src/xlib/nsAppShell.cpp:478
#3  0xfe13c898 in ?? () from 
/tmp/obj-sparc-sun-solaris2.7/dist/bin/components/libnsappshell.so
#4  0x1b90c in main1 (argc=1, argv=0xffbef934, nativeApp=0x0)
    at /tmp/mozilla/xpfe/bootstrap/nsAppRunner.cpp:1010
#5  0x1c7d8 in main (argc=1, argv=0xffbef934) at 
/tmp/mozilla/xpfe/bootstrap/nsAppRunner.cpp:1308

:-( not good enough.

Steps to reproduce !! Edit>Preferences>Appearance>Fonts *crash*
Severity: major → critical
Status: NEW → ASSIGNED
This patch will leak widgets.  You AddRef() and at that point you own a
reference to yourself.  The UnqueueDraw() isn't called from the destructor
because the destructor isn't called because there's still a reference to the object.
timeless: see my latter comments in bug 80345... the problem has something to do
with the nsWindow object being added to the queue twice!  and only removed once
from the destructor, leaving a junk pointer in the queue!
Timeless: Darin has bug 80345 figured out now. You should ignore any previous
comments in this bug, and throw out your patches. The issue is that calls to
|Update| can add new widgets to the update queue, which spoils our logic. Check
out Darin's patch -- you should be able to duplicate it trivially here.

Also, I wonder whether this is a hidden issue for Mac and Windows also... And I
have little doubt it's broken in the QT port, assuming they've duplicated code
just as xlib has. Would you mind checking? Thanks!
http://lxr.mozilla.org/seamonkey/ident?i=UpdateIdle
Defined as a function in:
      widget/src/gtk/nsWindow.cpp, line 646, as member of class nsWindow 
      widget/src/xlib/nsWindow.cpp, line 124, as member of class nsWindow 
Referenced (in 5 files total) in: 
which begs the question... what do the other platforms do?

the answer appears to be that this code is called by 
nsAppShell::DispatchNativeEvent which on most platforms is very much platform 
dependent. here's an example from motif:

227 NS_METHOD nsAppShell::DispatchNativeEvent(PRBool aRealEvent, void * aEvent)
228 {
229   //XXX:Implement this.
230   return NS_OK;
231 }

The only other people who even use 
/widget/src/photon/nsWindow.h, line 152 -- PRBool mIsUpdating;
don't actually use it...
Summary: pure virtual method called nsWindow::UpdateIdle → [xlib] pure virtual method called nsWindow::UpdateIdle
timeless:
AFAIK I fixed this issue, right ?
Roland thinks he fixed this issue, can we get it confirmed ?
Yeah, Roland's changes for bug 88209 fixed this problem. Marking it a dupe of
that bug.

*** This bug has been marked as a duplicate of 88209 ***
Status: ASSIGNED → RESOLVED
Closed: 24 years ago20 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: