Closed Bug 120956 Opened 23 years ago Closed 23 years ago

Access Violation in winEmbed on quit.

Categories

(Core Graveyard :: Embedding: APIs, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla0.9.9

People

(Reporter: timeless, Assigned: adamlock)

Details

(Keywords: crash)

Attachments

(1 file)

w32w2k cvs tip build from a few hours ago. I don't have MFC. console: WEBSHELL+ = 1 pldhash: for the table at address 0x01C80DD4, the given entrySize of 44 probably favors chaining over double hashing. Note: verifyreflow is disabled Note: styleverifytree is disabled Note: frameverifytree is disabled Opening file cookperm.txt failed System has shaping WEBSHELL- = 0 ### nsCacheProfilePrefObserver::Observe [topic=xpcom-shutdown data=] nsPluginHostImpl::Observe "xpcom-shutdown" Getting service on shutdown. Denied. ContractID: @mozilla.org/observer-service;1 IID: {d07f5192-e3d1-11d2-8acd-00105a1b8860} Getting service on shutdown. Denied. ContractID: @mozilla.org/preferences-service;1 IID: {decb9cc7-c08f-4ea5-be91-a8fc637ce2d2} Getting service on shutdown. Denied. CID: {a6cf9112-15b3-11d2-932e-00805f8add32} IID: {a6cf9111-15b3-11d2-932e-00805f8add32} Getting service on shutdown. Denied. ContractID: @mozilla.org/observer-service;1 IID: {d07f5192-e3d1-11d2-8acd-00105a1b8860} Getting service on shutdown. Denied. CID: {dc26e0e0-ca94-11d1-a9a4-00805f8a7ac4} IID: {a22ad7b0-ca86-11d1-a9a4-00805f8a7ac4} Getting service on shutdown. Denied. CID: {cb6593e0-f9b2-11d2-bdd6-000064657374} IID: {efae37b0-946d-11d2-ba58-00805f8a5dd7} stack: nsSupportsArray::Clear(nsSupportsArray * const 0x01c48c00) line 600 + 51 bytes nsSupportsArray::DeleteArray() line 304 nsSupportsArray::~nsSupportsArray() line 147 nsSupportsArray::`vector deleting destructor'(unsigned int 1) + 81 bytes nsSupportsArray::Release(nsSupportsArray * const 0x01c48c00) line 238 + 133 bytes nsCOMPtr<nsISupportsArray>::~nsCOMPtr<nsISupportsArray>() line 491 nsObserverList::~nsObserverList() line 59 + 11 bytes nsObserverList::`scalar deleting destructor'(unsigned int 1) + 15 bytes ReleaseObserverList(nsHashKey * 0x01c48cb0, void * 0x01c48df0, void * 0x00000000) line 110 + 30 bytes _hashEnumerateRemove(PLHashEntry * 0x01c48c70, int 2, void * 0x0012fe34) line 371 + 26 bytes PL_HashTableEnumerateEntries(PLHashTable * 0x00477d08, int (PLHashEntry *, int, void *)* 0x1002cd30 _hashEnumerateRemove(PLHashEntry *, int, void *), void * 0x0012fe34) line 429 + 15 bytes nsHashtable::Reset(int (nsHashKey *, void *, void *)* 0x100274d0 ReleaseObserverList(nsHashKey *, void *, void *), void * 0x00000000) line 390 + 21 bytes nsObjectHashtable::Reset() line 841 nsObjectHashtable::~nsObjectHashtable() line 807 nsObjectHashtable::`vector deleting destructor'(unsigned int 1) + 81 bytes nsObserverService::~nsObserverService() line 85 + 33 bytes nsObserverService::`scalar deleting destructor'(unsigned int 1) + 15 bytes nsObserverService::Release(nsObserverService * const 0x004740b0) line 73 + 127 bytes nsCOMPtr<nsIObserverService>::~nsCOMPtr<nsIObserverService>() line 491 main(int 1, char * * 0x00424340) line 196 + 17 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 77e97d08() nsSupportsArray::Clear(void) { if (0 < mCount) { do { --mCount; NS_IF_RELEASE(mArray[mCount]); //<--crash here /* */ } while (0 != mCount); } return NS_OK; } local data at crash point: - mArray[mCount] 0x01c48978 + __vfptr 0xdddddddd <-- bad [freed value] mCount 1 - this 0x01c48c00 + nsISupportsArray {...} mRefCnt 1 _mOwningThread 0x00422460 + mArray 0x01c48c18 mArraySize 8 mCount 1 - mAutoArray 0x01c48c18 + [0] 0x01c49ef0 + [1] 0x01c48978 + [2] 0xcdcdcdcd + [3] 0xcdcdcdcd + [4] 0xcdcdcdcd + [5] 0xcdcdcdcd + [6] 0xcdcdcdcd + [7] 0xcdcdcdcd
Keywords: crash
Summary: Access Violation in winEmbed on quit. → Access Violation in winEmbed on quit.
QA Contact: mdunn → depstein
Downgrading priority (winEmbed is unsupported) and confirming. During closure chrome's refcount is not going to 0 because checkin for bug 99163 caused observers (including chrome) to be added to the observer list with strong refs instead of weak ones. Patch follows to correct this. A single r= will be sufficient to enable this checkin.
Severity: critical → normal
Status: UNCONFIRMED → NEW
Ever confirmed: true
Target Milestone: --- → mozilla0.9.9
Patch is straightforward. It passes PR_TRUE to the observer service to tell it to hold weak refs to the observers that are added by winembed. Review please.
Comment on attachment 66452 [details] [diff] [review] Ensure observers are added with weak refs r=axel@pike.org
Attachment #66452 - Flags: review+
Fix is in.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Was this fixed in the branch? Because the access msgs are still appearing on shutdown using the trunk (Mozilla 0.9.8 Gecko/20020203). AddObserver() changes are in this build's WinEmbed.cpp. They're not appearing in MfcEmbed (though there are some asserts on quit).
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
No it wasn't fixed in the branch, only in the trunk. I didn't feel that a bug on a deprecated test application warranted holding up the 0.9.8 release.
Status: REOPENED → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → FIXED
I agree, but it's not working for me in the Trunk. Will try again in later build. Timeless, could you take a look at this to see if it works for you on the trunk?
Works for me in my local build fetched this morning.
I'm no longer getting the msgs with contract IDs, but still get the ones with CIDs. Mozilla 0.9.8 trunk Gecko/20020209: ### nsCacheProfilePrefObserver::Observe [topic=xpcom-shutdown data=] nsPluginHostImpl::Observe "xpcom-shutdown" Getting service on shutdown. Denied. CID: {a6cf9112-15b3-11d2-932e-00805f8add32} IID: {a6cf9111-15b3-11d2-932e-00805f8add32} Getting service on shutdown. Denied. CID: {dc26e0e0-ca94-11d1-a9a4-00805f8a7ac4} IID: {a22ad7b0-ca86-11d1-a9a4-00805f8a7ac4} Getting service on shutdown. Denied. CID: {cb6593e0-f9b2-11d2-bdd6-000064657374} IID: {efae37b0-946d-11d2-ba58-00805f8a5dd7}
QA Contact: depstein → timeless
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: