[Webkit-unassigned] [Bug 43506] http/tests/appcache/idempotent-update.html (or foreign-iframe-main.html?) occasionally crashes

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Aug 9 02:38:30 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=43506





--- Comment #3 from Alexey Proskuryakov <ap at webkit.org>  2010-08-09 02:38:30 PST ---
On this test, appcache updating doesn't stop in time - the process continues after the frame is detached from view.

Normally, loading is stopped from ApplicationCacheGroup destructor, in a way that's anything but straightforward - even Inspector gets involved:

#0    0x10344801f in WebCore::ResourceHandle::cancel at ResourceHandleMac.mm:342
#1    0x102a19dbc in WebCore::ApplicationCacheGroup::stopLoading at ApplicationCacheGroup.cpp:336
#2    0x102a1d707 in WebCore::ApplicationCacheGroup::~ApplicationCacheGroup at ApplicationCacheGroup.cpp:95
#3    0x102a18be3 in WebCore::ApplicationCacheGroup::disassociateDocumentLoader at ApplicationCacheGroup.cpp:361
#4    0x102a26de7 in WebCore::ApplicationCacheHost::~ApplicationCacheHost at ApplicationCacheHost.cpp:59
#5    0x102c43a85 in WTF::deleteOwnedPtr<WebCore::ApplicationCacheHost> at OwnPtrCommon.h:57
#6    0x102c43aa8 in WTF::OwnPtr<WebCore::ApplicationCacheHost>::~OwnPtr at OwnPtr.h:57
#7    0x102c3f3dd in WebCore::DocumentLoader::~DocumentLoader at DocumentLoader.cpp:104
#8    0x10246c5c0 in WebDocumentLoaderMac::~WebDocumentLoaderMac at WebDocumentLoaderMac.h:40
#9    0x102a1ff39 in WTF::RefCounted<WebCore::DocumentLoader>::deref at RefCounted.h:139
#10    0x102a2303f in WTF::derefIfNotNull<WebCore::DocumentLoader> at PassRefPtr.h:58
#11    0x102a2305a in WTF::RefPtr<WebCore::DocumentLoader>::~RefPtr at RefPtr.h:56
#12    0x102f691da in WebCore::InspectorResource::~InspectorResource at InspectorResource.cpp:74
#13    0x102f21b4d in WTF::RefCounted<WebCore::InspectorResource>::deref at RefCounted.h:139
#14    0x102f21b7d in WTF::derefIfNotNull<WebCore::InspectorResource> at PassRefPtr.h:58
#15    0x102f21b98 in WTF::RefPtr<WebCore::InspectorResource>::~RefPtr at RefPtr.h:56
#16    0x102f185f7 in WebCore::InspectorController::~InspectorController at InspectorController.cpp:194
#17    0x1032b8b58 in WTF::deleteOwnedPtr<WebCore::InspectorController> at OwnPtrCommon.h:57
#18    0x1032b8b7c in WTF::OwnPtr<WebCore::InspectorController>::~OwnPtr at OwnPtr.h:57
#19    0x1032b35d4 in WebCore::Page::~Page at Page.cpp:224

It's possible that some subtle change in Inspector changed when ApplicationCacheGroup is destroyed (or maybe it's now leaked altogether). We need a more direct mechanism to stop updating.

This is also related to a FIXME in ApplicationCacheGroup.h:

    // FIXME: An update started by a particular frame should not stop if it is destroyed, but there are other frames associated with the same cache group.
    Frame* m_frame;

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list