Closed Bug 155497 Opened 22 years ago Closed 17 years ago

observerservice crashed on shutdown releasing a deleted observer [@nsSupportsArray::Clear]

Categories

(Core :: XPCOM, defect)

x86
Windows 2000
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: timeless, Assigned: timeless)

Details

(Keywords: crash)

Crash Data

i'm running with a bunch of patches.
the one patch i'm *not* running with is servicemanager, 

nsSupportsArray::Clear(nsSupportsArray * const 0x0165b750) line 559 + 51 bytes
nsSupportsArray::DeleteArray() line 304
nsSupportsArray::~nsSupportsArray() line 147
nsSupportsArray::`vector deleting destructor'(unsigned int 1) + 81 bytes
nsSupportsArray::Release(nsSupportsArray * const 0x0165b750) line 238 + 139 bytes
nsCOMPtr<nsISupportsArray>::~nsCOMPtr<nsISupportsArray>() line 491
nsObserverList::~nsObserverList() line 58 + 11 bytes
nsObserverList::`scalar deleting destructor'(unsigned int 1) + 15 bytes
ReleaseObserverList(nsHashKey * 0x0165ba00, void * 0x0165e9d8, void *
0x00000000) line 109 + 28 bytes
_hashEnumerateRemove(PLHashEntry * 0x0165ba48, int 3, void * 0x0012fddc) line
372 + 26 bytes
PL_HashTableEnumerateEntries(PLHashTable * 0x00c46fe0, int (PLHashEntry *, int,
void *)* 0x10028d30 _hashEnumerateRemove(PLHashEntry *, int, void *), void *
0x0012fddc) line 429 + 15 bytes
nsHashtable::Reset(int (nsHashKey *, void *, void *)* 0x10023580
ReleaseObserverList(nsHashKey *, void *, void *), void * 0x00000000) line 391 +
21 bytes
nsObjectHashtable::Reset() line 920
nsObjectHashtable::~nsObjectHashtable() line 886
nsObjectHashtable::`vector deleting destructor'(unsigned int 1) + 81 bytes
nsObserverService::~nsObserverService() line 84 + 33 bytes
nsObserverService::`scalar deleting destructor'(unsigned int 1) + 15 bytes
nsObserverService::Release(nsObserverService * const 0x00c46f90) line 72 + 133 bytes
nsCOMPtr_base::assign_assuming_AddRef(nsISupports * 0x00000000) line 436
nsCOMPtr_base::assign_with_AddRef(nsISupports * 0x00000000) line 74
nsCOMPtr<nsISupports>::operator=(nsISupports * 0x00000000) line 796
FreeServiceContractIDEntryEnumerate(PLDHashTable * 0x002fd16c, PLDHashEntryHdr *
0x00c8bb8c, unsigned int 832, void * 0x00000000) line 1923
PL_DHashTableEnumerate(PLDHashTable * 0x002fd16c, int (PLDHashTable *,
PLDHashEntryHdr *, unsigned int, void *)* 0x10072270
FreeServiceContractIDEntryEnumerate(PLDHashTable *, PLDHashEntryHdr *, unsigned
int, void *), void * 0x00000000) line 601 + 34 bytes
nsComponentManagerImpl::FreeServices() line 1935 + 19 bytes
NS_ShutdownXPCOM(nsIServiceManager * 0x00000000) line 610
main(int 4, char * * 0x00304430) line 1813 + 8 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e8d326()

nsSupportsArray::Clear(void)
{
  if (0 < mCount) {
    do {
      --mCount;
      NS_IF_RELEASE(mArray[mCount]); // <= died here

-	mArray[mCount]	0x017ba6d8
+	__vfptr	0xdddddddd

F:\build\mozilla\dist\WIN32_D.OBJ\bin>mozilla.exe -P bar www.nokia.com
Type Manifest File: F:\build\mozilla\dist\WIN32_D.OBJ\bin\components\xpti.dat
+++ JavaScript debugging hooks installed.
nsNativeComponentLoader: autoregistering begins.
nsNativeComponentLoader: autoregistering succeeded
nNCL: registering deferred (0)
WEBSHELL+ = 1
WEBSHELL+ = 2
bad FastLoad file checksum
Note: verifyreflow is disabled
Note: styleverifytree is disabled
Note: frameverifytree is disabled
WEBSHELL+ = 3
Start reading in bookmarks.html
Finished reading in bookmarks.html  (40000 microseconds)
WEBSHELL+ = 4
System has shaping
Document http://www.nokia.com/ loaded successfully
Document http://bugzilla.mozilla.org/show_bug.cgi?id=155466 loaded successfully
Document http://bugzilla.mozilla.org/show_activity.cgi?id=155466 loaded successfully
WARNING: not supported for views, file
f:\build\mozilla\view\src\nsScrollPortView.cpp, line 113
WARNING: not supported for views, file
f:\build\mozilla\view\src\nsScrollPortView.cpp, line 113
Document http://bugzilla.mozilla.org/show_bug.cgi?id=155466 loaded successfully
Opening file 93699480.w failed
Error reading file
jar:resource:///chrome/classic.jar!/skin/classic/global/menu/menu-radio-hover.gif
Error reading file
jar:resource:///chrome/classic.jar!/skin/classic/global/menu/menu-radio-hover.gif
nsNativeComponentLoader: autoregistering begins.
nsNativeComponentLoader: autoregistering succeeded
nNCL: registering deferred (0)
Document about:plugins loaded successfully
nsPluginHostImpl::Observe "quit-application"
WARNING: requested removal of nonexistent window
, file
f:\build\mozilla\embedding\components\windowwatcher\src\nsWindowWatcher.cpp,
line 855
WEBSHELL- = 3
WARNING: NS_ENSURE_TRUE(presShell) failed, file
F:\build\mozilla\content\html\content\src\nsGenericHTMLElement.cpp, line
 3011
WEBSHELL- = 2
WEBSHELL- = 1
WEBSHELL- = 0
00476.265: ...main1
nsPluginHostImpl::Observe "xpcom-shutdown"
### nsCacheProfilePrefObserver::Observe [topic=xpcom-shutdown data=]

I'm not sure what's going on, I'll try to figure it out tomorrow.
reproducable: always if you follow the Document loaded successfully chain from 
comment 0.
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
WFM, 2004-03-05-09 trunk Windows XP.
WFM, 2004-02-20-08 trunk Linux.
Keywords: crash
QA Contact: scc → xpcom
should be closed, per comment 2?
WFM, Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9a8pre) Gecko/2007081904 Minefield/3.0a8pre
WFM, Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a8pre) Gecko/2007081505 Minefield/3.0a8pre

-> WORKSFORME
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → WORKSFORME
Crash Signature: [@nsSupportsArray::Clear]
You need to log in before you can comment on or make changes to this bug.