Closed Bug 909559 Opened 12 years ago Closed 12 years ago

ABORT: Calling NewSourceData before SourceDataComplete!: 'mHasSourceData' and other errors mean we can't startup Firefox

Categories

(Core :: Graphics: ImageLib, defect)

x86_64
Windows 8
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: cpearce, Unassigned)

References

Details

I can't startup rev 14b1e8c2957e on Win8. Debug build. I get two different crashes. The first is a fata assertion, the second is a null pointer deref. Things worked fine a few days ago, so someone regressed something. STR: 1. hg up -r 14b1e8c2957e && ./mach build 2. Run Firefox. Observe crash. I can't even startup the profile manager. It may require Windows 8 debug build, I dunno. Callstacks of errors: ###!!! ABORT: Calling NewSourceData before SourceDataComplete!: 'mHasSourceData', file c:/Users/Bob/src/mozilla/orange/image/src/RasterImage.cpp, line 1778 xul.dll!NS_DebugBreak(unsigned int aSeverity, const char * aStr, const char * aExpr, const char * aFile, int aLine) Line 386 C++ xul.dll!mozilla::image::RasterImage::OnNewSourceData() Line 1778 C++ xul.dll!mozilla::image::ImageFactory::CreateRasterImage(nsIRequest * aRequest, imgStatusTracker * aStatusTracker, const nsCString & aMimeType, nsIURI * aURI, unsigned int aImageFlags, unsigned int aInnerWindowId) Line 194 C++ xul.dll!mozilla::image::ImageFactory::CreateImage(nsIRequest * aRequest, imgStatusTracker * aStatusTracker, const nsCString & aMimeType, nsIURI * aURI, bool aIsMultiPart, unsigned int aInnerWindowId) Line 106 C++ xul.dll!imgRequest::OnDataAvailable(nsIRequest * aRequest, nsISupports * ctxt, nsIInputStream * inStr, unsigned __int64 sourceOffset, unsigned int count) Line 757 C++ xul.dll!ProxyListener::OnDataAvailable(nsIRequest * aRequest, nsISupports * ctxt, nsIInputStream * inStr, unsigned __int64 sourceOffset, unsigned int count) Line 2106 C++ xul.dll!nsBaseChannel::OnDataAvailable(nsIRequest * request, nsISupports * ctxt, nsIInputStream * stream, unsigned __int64 offset, unsigned int count) Line 765 C++ xul.dll!nsInputStreamPump::OnStateTransfer() Line 529 C++ xul.dll!nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream * stream) Line 391 C++ xul.dll!nsInputStreamReadyEvent::Run() Line 83 C++ xul.dll!nsThread::ProcessNextEvent(bool mayWait, bool * result) Line 622 C++ xul.dll!NS_ProcessNextEvent(nsIThread * thread, bool mayWait) Line 238 C++ xul.dll!nsXULWindow::ShowModal() Line 365 C++ xul.dll!nsContentTreeOwner::ShowAsModal() Line 534 C++ xul.dll!nsWindowWatcher::OpenWindowInternal(nsIDOMWindow * aParent, const char * aUrl, const char * aName, const char * aFeatures, bool aCalledFromJS, bool aDialog, bool aNavigate, nsIArray * argv, nsIDOMWindow * * _retval) Line 999 C++ xul.dll!nsWindowWatcher::OpenWindow(nsIDOMWindow * aParent, const char * aUrl, const char * aName, const char * aFeatures, nsISupports * aArguments, nsIDOMWindow * * _retval) Line 344 C++ xul.dll!ShowProfileManager(nsIToolkitProfileService * aProfileSvc, nsINativeAppSupport * aNative) Line 1923 C++ xul.dll!SelectProfile(nsIProfileLock * * aResult, nsIToolkitProfileService * aProfileSvc, nsINativeAppSupport * aNative, bool * aStartOffline, nsACString_internal * aProfileName) Line 2227 C++ xul.dll!XREMain::XRE_mainStartup(bool * aExitFlag) Line 3515 C++ xul.dll!XREMain::XRE_main(int argc, char * * argv, const nsXREAppData * aAppData) Line 3916 C++ xul.dll!XRE_main(int argc, char * * argv, const nsXREAppData * aAppData, unsigned int aFlags) Line 4133 C++ firefox.exe!do_main(int argc, char * * argv, nsIFile * xreDirectory) Line 275 C++ firefox.exe!NS_internal_main(int argc, char * * argv) Line 635 C++ firefox.exe!wmain(int argc, wchar_t * * argv) Line 105 C++ firefox.exe!__tmainCRTStartup() Line 533 C The thread 0x8dc has exited with code 0 (0x0). Unhandled exception at 0x103D0070 (xul.dll) in firefox.exe: 0xC0000005: Access violation reading location 0x00000000: xul.dll!mozilla::image::FrameAnimator::SetAnimationFrameTime(const mozilla::TimeStamp & aTime) Line 231 C++ xul.dll!mozilla::image::RasterImage::SetAnimationStartTime(const mozilla::TimeStamp & aTime) Line 1516 C++ xul.dll!mozilla::image::ImageFactory::CreateRasterImage(nsIRequest * aRequest, imgStatusTracker * aStatusTracker, const nsCString & aMimeType, nsIURI * aURI, unsigned int aImageFlags, unsigned int aInnerWindowId) Line 189 C++ xul.dll!mozilla::image::ImageFactory::CreateImage(nsIRequest * aRequest, imgStatusTracker * aStatusTracker, const nsCString & aMimeType, nsIURI * aURI, bool aIsMultiPart, unsigned int aInnerWindowId) Line 106 C++ xul.dll!imgRequest::OnDataAvailable(nsIRequest * aRequest, nsISupports * ctxt, nsIInputStream * inStr, unsigned __int64 sourceOffset, unsigned int count) Line 757 C++ xul.dll!ProxyListener::OnDataAvailable(nsIRequest * aRequest, nsISupports * ctxt, nsIInputStream * inStr, unsigned __int64 sourceOffset, unsigned int count) Line 2106 C++ xul.dll!nsBaseChannel::OnDataAvailable(nsIRequest * request, nsISupports * ctxt, nsIInputStream * stream, unsigned __int64 offset, unsigned int count) Line 765 C++ xul.dll!nsInputStreamPump::OnStateTransfer() Line 529 C++ xul.dll!nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream * stream) Line 391 C++ xul.dll!nsInputStreamReadyEvent::Run() Line 83 C++ xul.dll!nsThread::ProcessNextEvent(bool mayWait, bool * result) Line 622 C++ xul.dll!NS_ProcessNextEvent(nsIThread * thread, bool mayWait) Line 238 C++ xul.dll!nsXULWindow::ShowModal() Line 365 C++ xul.dll!nsContentTreeOwner::ShowAsModal() Line 534 C++ xul.dll!nsWindowWatcher::OpenWindowInternal(nsIDOMWindow * aParent, const char * aUrl, const char * aName, const char * aFeatures, bool aCalledFromJS, bool aDialog, bool aNavigate, nsIArray * argv, nsIDOMWindow * * _retval) Line 999 C++ xul.dll!nsWindowWatcher::OpenWindow(nsIDOMWindow * aParent, const char * aUrl, const char * aName, const char * aFeatures, nsISupports * aArguments, nsIDOMWindow * * _retval) Line 344 C++ xul.dll!ShowProfileManager(nsIToolkitProfileService * aProfileSvc, nsINativeAppSupport * aNative) Line 1923 C++ xul.dll!SelectProfile(nsIProfileLock * * aResult, nsIToolkitProfileService * aProfileSvc, nsINativeAppSupport * aNative, bool * aStartOffline, nsACString_internal * aProfileName) Line 2227 C++ xul.dll!XREMain::XRE_mainStartup(bool * aExitFlag) Line 3515 C++ xul.dll!XREMain::XRE_main(int argc, char * * argv, const nsXREAppData * aAppData) Line 3916 C++ xul.dll!XRE_main(int argc, char * * argv, const nsXREAppData * aAppData, unsigned int aFlags) Line 4133 C++ firefox.exe!do_main(int argc, char * * argv, nsIFile * xreDirectory) Line 275 C++ I also saw the following warning in the console for the access violation one above: * Call to xpconnect wrapped JSObject produced this error: * [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIProperties.get]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS fra me :: file:///c:/Users/Bob/src/mozilla/orange/objdir/dist/bin/components/nsHandlerService.js :: HandlerService.prototype._ds :: line 891" data: no]
Summary: BORT: Calling NewSourceData before SourceDataComplete!: 'mHasSourceData' and other errors mean we can't startup Firefox → ABORT: Calling NewSourceData before SourceDataComplete!: 'mHasSourceData' and other errors mean we can't startup Firefox
I think there's a very good chance that this is a result of bug 717872 (and specifically FrameAnimator getting reenabled). FrameAnimator is right there at the top of the callstack.
Oh lame. I did a clobber while trying to bisect this, and the problem went away. Yay for C++...
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.