Closed Bug 286988 Opened 20 years ago Closed 14 years ago

out of disk space assertion does not bubble properly 0[344708]: ###!!! ASSERTION: morkBool_kFalse: '0', file r:/mozilla/db/mork/src/morkConfig.cpp, line 56

Categories

(Core Graveyard :: History: Global, defect, P5)

x86
Windows XP

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: timeless, Assigned: Bienvenu)

Details

(Keywords: assertion, dataloss, helpwanted)

preface:
user = test
os = wxp
fs = ntfs5
quotas = enabled for user test on volume c:, limit: 1mb
if you need access to a quotable account running on w2k, it can be arranged
(rdc/mstsc/rdesktop to raistlin)

 	xpcom_core.dll!nsDebug::Assertion(const char * aStr=0x07bd7b3c, const char *
aExpr=0x07bd7ee4, const char * aFile=0x07bd7ebc, int aLine=56)  Line 109	C++
 	mork.dll!mork_assertion_signal(const char * inMessage=0x07bd7b3c)  Line 56 +
0x1f	C++
 	mork.dll!morkEnv::NewError(const char * inString=0x03a99be8)  Line 404 + 0x13	C++
 	mork.dll!morkFile::NewFileErrnoError(morkEnv * ev=0x0173bc60)  Line 271	C++
 	mork.dll!morkStdioFile::new_stdio_file_fault(morkEnv * ev=0x0173bc60)  Line
773	C++
 	mork.dll!morkStdioFile::Write(nsIMdbEnv * mdbev=0x0173bc8c, const void *
inBuf=0x07220028, unsigned int inSize=10446, unsigned int * aOutSize=0x0012eb1c)
 Line 723	C++
 	mork.dll!morkFile::Put(nsIMdbEnv * mev=0x0173bc8c, const void *
inBuf=0x07220028, unsigned int inSize=10446, int inPos=0, unsigned int *
outActualSize=0x0012eb1c)  Line 356	C++
 	mork.dll!morkStream::spill_buf(morkEnv * ev=0x0173bc60)  Line 873	C++
 	mork.dll!morkStream::Flush(nsIMdbEnv * ev=0x0173bc8c)  Line 778	C++
 	mork.dll!morkWriter::OnContentDone(morkEnv * ev=0x0173bc60)  Line 1314	C++
 	mork.dll!morkWriter::WriteMore(morkEnv * ev=0x0173bc60)  Line 392 + 0xc	C++
 	mork.dll!morkThumb::DoMore_Commit(morkEnv * ev=0x0173bc60)  Line 515	C++
 	mork.dll!morkThumb::DoMore_CompressCommit(morkEnv * ev=0x0173bc60)  Line 531	C++
 	mork.dll!morkThumb::DoMore(morkEnv * ev=0x0173bc60, unsigned int *
outTotal=0x0012ec20, unsigned int * outCurrent=0x0012ec28, unsigned char *
outDone=0x0012ec1f, unsigned char * outBroken=0x0012ec27)  Line 414 + 0xc	C++
 	mork.dll!morkThumb::DoMore(nsIMdbEnv * mev=0x0173bc8c, unsigned int *
outTotal=0x0012ec20, unsigned int * outCurrent=0x0012ec28, unsigned char *
outDone=0x0012ec1f, unsigned char * outBroken=0x0012ec27)  Line 194	C++
 	appcomps.dll!nsGlobalHistory::Commit(nsGlobalHistory::eCommitType
commitType=kLargeCommit)  Line 2912 + 0x2e	C++
 	appcomps.dll!nsGlobalHistory::Flush()  Line 2378	C++
 	appcomps.dll!nsGlobalHistory::Sync()  Line 1793	C++
 	appcomps.dll!nsGlobalHistory::fireSyncTimer(nsITimer * aTimer=0x0aa9bfd0, void
* aClosure=0x02ff7570)  Line 262 + 0xb	C++
 	xpcom_core.dll!nsTimerImpl::Fire()  Line 383 + 0x11	C++
 	xpcom_core.dll!nsTimerManager::FireNextIdleTimer()  Line 617	C++
 	gkwidget.dll!nsAppShell::GetNativeEvent(int & aRealEvent=1, void * &
aEvent=0x0246aa5c)  Line 197	C++
 	appshell.dll!nsXULWindow::ShowModal()  Line 395 + 0x1f	C++
 	appshell.dll!nsContentTreeOwner::ShowAsModal()  Line 428	C++
 	embedcomponents.dll!nsWindowWatcher::OpenWindowJS(nsIDOMWindow *
aParent=0x0a91bb44, const char * aUrl=0x019c4ff8, const char * aName=0x019c57e0,
const char * aFeatures=0x019c57bc, int aDialog=1, unsigned int argc=1, long *
argv=0x0ada0a68, nsIDOMWindow * * _retval=0x0012f160)  Line 789	C++
 	embedcomponents.dll!nsWindowWatcher::OpenWindow(nsIDOMWindow *
aParent=0x0a91bb44, const char * aUrl=0x019c4ff8, const char * aName=0x019c57e0,
const char * aFeatures=0x019c57bc, nsISupports * aArguments=0x0ab725e0,
nsIDOMWindow * * _retval=0x0012f160)  Line 465 + 0x30	C++
 	embedcomponents.dll!nsPromptService::DoDialog(nsIDOMWindow *
aParent=0x0a91bb44, nsIDialogParamBlock * aParamBlock=0x0ab725e0, const char *
aChromeURL=0x019c4ff8)  Line 632 + 0x4d	C++
 	embedcomponents.dll!nsPromptService::AlertCheck(nsIDOMWindow *
parent=0x0a91bb44, const unsigned short * dialogTitle=0x0ac64508, const unsigned
short * text=0x0ac657b8, const unsigned short * checkMsg=0x0ac64558, int *
checkValue=0x031d6480)  Line 168 + 0x25	C++
 	prmtsrvc.dll!hsPromptServiceImpl::AlertCheck(nsIDOMWindow *
aParent=0x0a91bb44, const unsigned short * aDialogTitle=0x0ac64508, const
unsigned short * aText=0x0ac657b8, const unsigned short * checkMsg=0x0ac64558,
int * checkValue=0x0012f3f4)  Line 138 + 0x31	C++
 	embedcomponents.dll!nsPrompt::AlertCheck(const unsigned short *
dialogTitle=0x0ac64508, const unsigned short * text=0x0ac657b8, const unsigned
short * checkMsg=0x0ac64558, int * checkValue=0x0012f3f4)  Line 225 + 0x36	C++
 	pipboot.dll!nsSecurityWarningDialogs::AlertDialog(nsIInterfaceRequestor *
ctx=0x0ac64480, const char * prefName=0x02c600b8, const unsigned short *
dialogMessageName=0x02c60090, const unsigned short * showAgainName=0x02c60064) 
Line 186 + 0x3f	C++
 
pipboot.dll!nsSecurityWarningDialogs::ConfirmEnteringSecure(nsIInterfaceRequestor
* ctx=0x0ac64480, int * _retval=0x0012f464)  Line 95 + 0x3f	C++
 	pipboot.dll!nsSecureBrowserUIImpl::ConfirmEnteringSecure()  Line 1375	C++
 	pipboot.dll!nsSecureBrowserUIImpl::UpdateSecurityState(nsIRequest *
aRequest=0x09dd5858)  Line 1062	C++
 	pipboot.dll!nsSecureBrowserUIImpl::EvaluateAndUpdateSecurityState(nsIRequest *
aRequest=0x09dd5858)  Line 419 + 0xc	C++
 	pipboot.dll!nsSecureBrowserUIImpl::OnLocationChange(nsIWebProgress *
aWebProgress=0x09e87c04, nsIRequest * aRequest=0x09dd5858, nsIURI *
aLocation=0x0acab7d0)  Line 1157 + 0xf	C++
 	docshell.dll!nsDocLoader::FireOnLocationChange(nsIWebProgress *
aWebProgress=0x09e87c04, nsIRequest * aRequest=0x09dd5858, nsIURI *
aUri=0x0acab7d0)  Line 1238	C++
 	docshell.dll!nsDocShell::CreateContentViewer(const char *
aContentType=0x0aa899b0, nsIRequest * request=0x09dd5858, nsIStreamListener * *
aContentHandler=0x0acd3060)  Line 4831	C++
 	docshell.dll!nsDSURIContentListener::DoContent(const char *
aContentType=0x0aa899b0, int aIsContentPreferred=0, nsIRequest *
request=0x09dd5858, nsIStreamListener * * aContentHandler=0x0acd3060, int *
aAbortProcess=0x0012f694)  Line 130 + 0x1e	C++
 	docshell.dll!nsDocumentOpenInfo::TryContentListener(nsIURIContentListener *
aListener=0x09e0bcd8, nsIChannel * aChannel=0x09dd5858)  Line 737 + 0x42	C++
 	docshell.dll!nsDocumentOpenInfo::DispatchContent(nsIRequest *
request=0x09dd5858, nsISupports * aCtxt=0x00000000)  Line 468 + 0x39	C++
 	docshell.dll!nsDocumentOpenInfo::OnStartRequest(nsIRequest *
request=0x09dd5858, nsISupports * aCtxt=0x00000000)  Line 328 + 0x10	C++
 	necko.dll!nsHttpChannel::CallOnStartRequest()  Line 686 + 0x2a	C++
 	necko.dll!nsHttpChannel::ProcessNormal()  Line 847 + 0x8	C++
 	necko.dll!nsHttpChannel::ProcessResponse()  Line 733 + 0x8	C++
 	necko.dll!nsHttpChannel::OnStartRequest(nsIRequest * request=0x0acbbbd8,
nsISupports * ctxt=0x00000000)  Line 3729 + 0xb	C++
 	necko.dll!nsInputStreamPump::OnStateStart()  Line 381 + 0x2a	C++
 	necko.dll!nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream *
stream=0x0acbb9b8)  Line 337 + 0xb	C++
 	xpcom_core.dll!nsInputStreamReadyEvent::EventHandler(PLEvent *
plevent=0x0ae945f4)  Line 119	C++
 	xpcom_core.dll!PL_HandleEvent(PLEvent * self=0x0ae945f4)  Line 698 + 0xa	C
 	xpcom_core.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x00be3478)  Line
633 + 0x9	C
 	xpcom_core.dll!_md_EventReceiverProc(HWND__ * hwnd=0x00120b18, unsigned int
uMsg=49408, unsigned int wParam=0, long lParam=12465272)  Line 1435 + 0x9	C
 	user32.dll!_InternalCallWinProc@20()  + 0x28	
 	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7	
 	user32.dll!_DispatchMessageWorker@8()  + 0xdc	
 	user32.dll!_DispatchMessageW@4()  + 0xf	
 	gkwidget.dll!nsAppShell::Run()  Line 135	C++
 	appcomps.dll!nsAppStartup::Run()  Line 208	C++
 	mozilla.exe!main1(int argc=1, char * * argv=0x00347930, nsISupports *
nativeApp=0x00c06230)  Line 1325 + 0x20	C++
 	mozilla.exe!main(int argc=1, char * * argv=0x00347930)  Line 1831 + 0x25	C++
 	mozilla.exe!mainCRTStartup()  Line 398 + 0x11	C
 	kernel32.dll!_BaseProcessStart@4()  + 0x23	

>	mork.dll!morkStream::spill_buf(morkEnv * ev=0x0173bc60)  Line 873	C++
            file->Put(menv, buf, count, mStream_BufPos, &actual);
	morkFile::Put returned	2147500037	unsigned int
            if ( ev->Good() )

>	mork.dll!morkStream::Flush(nsIMdbEnv * ev=0x0173bc8c)  Line 780	C++
    rv = file->Flush(ev);
	morkStdioFile::Flush returned	0	unsigned int

>	mork.dll!morkWriter::OnContentDone(morkEnv * ev=0x0173bc60)  Line 1314	C++
  stream->Flush(ev->AsMdbEnv());
	morkStream::Flush returned	0	unsigned int

  if ( bud )
+	bud	0x074b554c {mStdioFile_File=0x002ec8b8 }	nsIMdbFile *

    bud->Flush(ev->AsMdbEnv());
	morkEnv::AsMdbEnv returned	0x0173bc8c {mEnv_Factory=0x06fd1bb0
{mFactory_Env={mEnv_Factory=0x06fd1bb0 {mFactory_Env={...} mFactory_Heap={...} }
mEnv_Heap=0x03e51a90 mEnv_SelfAsMdbEnv=0x00000000 ...} mFactory_Heap={...} }
mEnv_Heap=0x06c8eff8 mEnv_SelfAsMdbEnv=0x0173bc8c {mEnv_Factory=0x06fd1bb0
{mFactory_Env={mEnv_Factory=0x06fd1bb0 mEnv_Heap=0x03e51a90
mEnv_SelfAsMdbEnv=0x00000000 ...} mFactory_Heap={...} } mEnv_Heap=0x06c8eff8
mEnv_SelfAsMdbEnv=0x0173bc8c {mEnv_Factory=0x06fd1bb0 {mFactory_Env={...}
mFactory_Heap={...} } mEnv_Heap=0x06c8eff8 mEnv_SelfAsMdbEnv=0x0173bc8c
{mEnv_Factory=0x06fd1bb0 mEnv_Heap=0x06c8eff8 mEnv_SelfAsMdbEnv=0x0173bc8c ...}
...} ...} ...}	nsIMdbEnv *
	morkStdioFile::Flush returned	0	unsigned int

    bud->BecomeTrunk(ev->AsMdbEnv());
	morkEnv::AsMdbEnv returned	0x0173bc8c {mEnv_Factory=0x06fd1bb0
{mFactory_Env={mEnv_Factory=0x06fd1bb0 {mFactory_Env={...} mFactory_Heap={...} }
mEnv_Heap=0x03e51a90 mEnv_SelfAsMdbEnv=0x00000000 ...} mFactory_Heap={...} }
mEnv_Heap=0x06c8eff8 mEnv_SelfAsMdbEnv=0x0173bc8c {mEnv_Factory=0x06fd1bb0
{mFactory_Env={mEnv_Factory=0x06fd1bb0 mEnv_Heap=0x03e51a90
mEnv_SelfAsMdbEnv=0x00000000 ...} mFactory_Heap={...} } mEnv_Heap=0x06c8eff8
mEnv_SelfAsMdbEnv=0x0173bc8c {mEnv_Factory=0x06fd1bb0 {mFactory_Env={...}
mFactory_Heap={...} } mEnv_Heap=0x06c8eff8 mEnv_SelfAsMdbEnv=0x0173bc8c
{mEnv_Factory=0x06fd1bb0 mEnv_Heap=0x06c8eff8 mEnv_SelfAsMdbEnv=0x0173bc8c ...}
...} ...} ...}	nsIMdbEnv *
	morkStdioFile::BecomeTrunk returned	0	unsigned int

  return ev->Good();
	morkEnv::Good returned	1 '␁'	unsigned char

>	mork.dll!morkWriter::WriteMore(morkEnv * ev=0x0173bc60)  Line 392 + 0xc	C++
            OnContentDone(ev); break;
	morkWriter::OnContentDone returned	1 '␁'	unsigned char

  return ev->Good();
	morkEnv::Good returned	1 '␁'	unsigned char

>	mork.dll!morkThumb::DoMore_Commit(morkEnv * ev=0x0173bc60)  Line 515	C++
    writer->WriteMore(ev);
	morkWriter::WriteMore returned	1 '␁'	unsigned char
	mThumb_Total	148	unsigned int
	mThumb_Current	134	unsigned int
	writer->mWriter_TotalCount	148	unsigned int
	writer->mWriter_DoneCount	148	unsigned int

    mThumb_Done = ( ev->Bad() || writer->IsWritingDone() );
	morkEnv::Bad returned	0	unsigned char
	morkWriter::IsWritingDone returned	1 '␁'	unsigned char

>	mork.dll!morkThumb::DoMore_CompressCommit(morkEnv * ev=0x0173bc60)  Line 531	C++
  this->DoMore_Commit(ev);

>	mork.dll!morkThumb::DoMore(morkEnv * ev=0x0173bc60, unsigned int *
outTotal=0x0012ec20, unsigned int * outCurrent=0x0012ec28, unsigned char *
outDone=0x0012ec1f, unsigned char * outBroken=0x0012ec27)  Line 414 + 0xc	C++
        this->DoMore_CompressCommit(ev); break;

>	mork.dll!morkThumb::DoMore(nsIMdbEnv * mev=0x0173bc8c, unsigned int *
outTotal=0x0012ec20, unsigned int * outCurrent=0x0012ec28, unsigned char *
outDone=0x0012ec1f, unsigned char * outBroken=0x0012ec27)  Line 194	C++
    DoMore(ev, outTotal, outCurrent, outDone, outBroken);

    outErr = ev->AsErr();
	morkEnv::AsErr returned	0	unsigned int

>	appcomps.dll!nsGlobalHistory::Commit(nsGlobalHistory::eCommitType
commitType=kLargeCommit)  Line 2912 + 0x2e	C++
      err = thumb->DoMore(mEnv, &total, &current, &done, &broken);
	morkThumb::DoMore returned	0	unsigned int

    } while ((err == 0) && !broken && !done);
	broken	0	unsigned char
	done	1 '␁'	unsigned char

  if (err != 0) // mork doesn't return NS error codes. Yet.
    return NS_ERROR_FAILURE;
  else
    return NS_OK;

// mork doesn't return errors at all.

>	appcomps.dll!nsGlobalHistory::Flush()  Line 2378	C++
  return Commit(kLargeCommit);
	nsGlobalHistory::Commit returned	0	unsigned int

>	appcomps.dll!nsGlobalHistory::Sync()  Line 1793	C++
    Flush();
	nsGlobalHistory::Flush returned	0	unsigned int

// not that it matters, since eventually history ignores the flush failure and
simply decides:
  mDirty = PR_FALSE;

--
this is probably similar to other bugs i've filed, but i'm fairly certain this
is the first time i've wasted the time chasing through the various broken frames.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P5
history doesn't use mork anymore...
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → INVALID
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.