Closed Bug 228730 Opened 21 years ago Closed 21 years ago

crash when turning off xul cache


(Core :: XUL, defect)

Not set





(Reporter: basic, Assigned: bzbarsky)




(Keywords: crash)

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031216

I get a crash when turning off xul cache via prefs. Stack trace.

#0  0x406e7006 in nanosleep () from /lib/i686/
#1  0xffffffa0 in ?? ()
#2  0x08070886 in ah_crap_handler(int) (signum=11)
    at ../../../xpfe/bootstrap/nsSigHandlers.cpp:135
#3  0x41c7bf67 in nsProfileLock::FatalSignalHandler(int) (signo=0)
    at ../../../../profile/dirserviceprovider/src/nsProfileLock.cpp:195
#4  0x401004ec in __pthread_clock_settime () from /lib/i686/
#5  0x40664ca8 in __libc_sigaction () from /lib/i686/
#6  0x415d37d7 in nsXBLPrototypeHandler::ExecuteHandler(nsIDOMEventReceiver*,
nsIDOMEvent*) (this=0x8b0cc90, aReceiver=0x89340e8, aEvent=0x41741708)
    at ../../../../content/xbl/src/nsXBLPrototypeHandler.cpp:436
#7  0x415d3e3b in nsXBLPrototypeHandler::BindingDetached(nsIDOMEventReceiver*) (
    this=0x8b0cc90, aReceiver=0x89340e8)
    at ../../../../content/xbl/src/nsXBLPrototypeHandler.cpp:548
#8  0x415c078f in nsXBLPrototypeBinding::BindingDetached(nsIDOMEventReceiver*) (
    this=0xfffffffc, aReceiver=0x89340e8)
    at ../../../../content/xbl/src/nsXBLPrototypeBinding.cpp:389
#9  0x415bd158 in nsXBLBinding::ExecuteDetachedHandler() (this=0x8bd5ae0)
    at ../../../../content/xbl/src/nsXBLBinding.cpp:858
#10 0x415bd191 in nsXBLBinding::ExecuteDetachedHandler() (this=0x8bd5b08)
    at ../../../../content/xbl/src/nsXBLBinding.cpp:861
#11 0x415dc9b4 in ExecuteDetachedHandler (aTable=0x8bcfeac, aHdr=0x8b7f1b8,
    aClosure=0x0) at ../../../../content/xbl/src/nsBindingManager.cpp:940
#12 0x40a0d296 in PL_DHashTableEnumerate (table=0x8bcfeac,
    etor=0x415dc990 <ExecuteDetachedHandler>, arg=0x0) at
#13 0x415dc9f5 in nsBindingManager::ExecuteDetachedHandlers() (this=0x407689a0)
    at ../../../../content/xbl/src/nsBindingManager.cpp:950
#14 0x424b8488 in GlobalWindowImpl::HandleDOMEvent(nsIPresContext*, nsEvent*,
nsIDOMEvent**, unsigned, nsEventStatus*) (this=0x8aaa968,
aPresContext=0x8b557d0, aEvent=0xbfffeaf0,
    aDOMEvent=0xbfffe9b4, aFlags=7, aEventStatus=0xbfffeaec)
    at ../../../../dom/src/base/nsGlobalWindow.cpp:820
#15 0x413d780c in DocumentViewerImpl::Unload() (this=0x8bd5b80)
    at ../../../../content/base/src/nsDocumentViewer.cpp:977
#16 0x41f4a81e in nsDocShell::FireUnloadNotification() (this=0x8aaa7e8)
    at ../../../docshell/base/nsDocShell.cpp:825
#17 0x41f4a8a4 in nsDocShell::FireUnloadNotification() (this=0x0)
    at ../../../docshell/base/nsDocShell.cpp:833
#18 0x41f51aae in nsDocShell::Destroy() (this=0x8a2c228)
    at ../../../docshell/base/nsDocShell.cpp:3014
#19 0x41f7b50d in nsWebShell::Destroy() (this=0x8a2c228)
    at ../../../docshell/base/nsWebShell.cpp:1260
#20 0x41b1df9a in nsXULWindow::Destroy() (this=0x8a2b508)
    at ../../../../xpfe/appshell/src/nsXULWindow.cpp:490
#21 0x41b3bd33 in nsWebShellWindow::Destroy() (this=0x8a2b508)
    at ../../../../xpfe/appshell/src/nsWebShellWindow.cpp:1677
#22 0x41b13d22 in nsChromeTreeOwner::Destroy() (this=0x4172f688)
    at ../../../../xpfe/appshell/src/nsChromeTreeOwner.cpp:293
#23 0x424c1051 in GlobalWindowImpl::ReallyCloseWindow() (this=0x8a310c8)
    at ../../../../dom/src/base/nsGlobalWindow.cpp:3452
#24 0x424c4be0 in GlobalWindowImpl::CloseWindow(nsISupports*) (aWindow=0x8a310cc)
    at ../../../../dom/src/base/nsGlobalWindow.cpp:4579
#25 0x424a8282 in nsJSContext::ScriptEvaluated(int) (this=0x8a312e8, aTerminated=1)
    at ../../../../dom/src/base/nsJSEnvironment.cpp:1704
#26 0x424a759f in nsJSContext::CallEventHandler(void*, void*, unsigned, void*,
int*, int)
    (this=0x8a312e8, aTarget=0x897d978, aHandler=0x82673c8, argc=2, argv=0x87e52b8,
    aBoolResult=0xbfffefa4, aReverseReturnResult=0)
    at ../../../../dom/src/base/nsJSEnvironment.cpp:1261
#27 0x424c581e in GlobalWindowImpl::RunTimeout(nsTimeoutImpl*) (this=0x8a310c8,
    aTimeout=0x8a3e1e0) at ../../../../dom/src/base/nsGlobalWindow.cpp:4919
#28 0x424c6098 in GlobalWindowImpl::TimerCallback(nsITimer*, void*)
    aClosure=0x8a3e1e0) at ../../../../dom/src/base/nsGlobalWindow.cpp:5279
#29 0x40a771e0 in nsTimerImpl::Fire() (this=0x89d3e40)
    at ../../../xpcom/threads/nsTimerImpl.cpp:382
#30 0x40a77315 in handleTimerEvent(TimerEventType*) (event=0x42f004c8)
    at ../../../xpcom/threads/nsTimerImpl.cpp:447
#31 0x40a70703 in PL_HandleEvent (self=0x42f004c8) at
#32 0x40a70549 in PL_ProcessPendingEvents (self=0x810c1e8)
    at ../../../xpcom/threads/plevent.c:606
#33 0x40a728c3 in nsEventQueueImpl::ProcessPendingEvents() (this=0x810c1c0)
    at ../../../xpcom/threads/nsEventQueue.cpp:391
#34 0x41bfcc95 in event_processor_callback (source=0x82feca0, condition=G_IO_IN,
    data=0x407689a0) at ../../../../widget/src/gtk2/nsAppShell.cpp:67
Assignee: other → hyatt
Component: Layout → XP Toolkit/Widgets: XUL
QA Contact: ian → shrir
Don't do that, then.

WONTFIX pending jrgm's assent.

Assignee: hyatt → bz-vacation
Keywords: crash
Hmm, yes, don't do that. (Er, well, I'd prefer to nuke the pref, but some folks
feel it's useful when developing a XUL dialog, etc. If there is a valid fix for 
this, then fine, but in general consider disabling the XUL cache to be an
unsupported feature).
On behalf of XPFEers, we'd rather see a fix than a black-box
approach. All other caching systems I know of provide developer
support for disabling the cache. That way, delivery can be done
synchronously from origin during testing.  One less source of
debug time confusion for us.

- N.
The reason I was bumping into this was that I needed to turn off xul cache to do
testing and quick development of a xul app I'm developing. If it is too much
work to be fixed I think it should be removed and we should direct people to use
about:config for this (which does not cause a crash afaik). I would fix this if
I know how, but I don't know where to start.
Please don't wontfix this until I get a chance to look.  It may be that we have
an honest-to-God bug in prototype binding teardown....
This looks to be the same crash as that described in bug 226692 comment 4.
Depends on: 226692
*** Bug 230639 has been marked as a duplicate of this bug. ***
From bug 230639, I noticed that the preference gets set before the crash; that
is, when you restart the browser following the crash, the Disable XUL Cache box
is checked.
Yes, yes.  ;)  I know exactly what's causing this bug and bug 226692 outlines
the right fix.  Just need to do it.
Blocks: 231369
This should be fixed now that bug 226692 is fixed.  Please retest in tomorrow's
Just tested on trunk build:

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7a) Gecko/20040216

no crash

Closed: 21 years ago
Resolution: --- → FIXED
*** Bug 231369 has been marked as a duplicate of this bug. ***
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: shrir → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.