Bug 31866

Summary: Some tests are crashing from time to time
Product: WebKit Reporter: Gustavo Noronha (kov) <gustavo>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
proposed fix xan.lopez: review+, gustavo: commit-queue-

Description Gustavo Noronha (kov) 2009-11-25 03:26:58 PST
I got this in valgrind while investigatin some of the crashes. Patch fixing this specific issue incoming.

==8035== Invalid read of size 8
==8035==    at 0x5B6063F: WebCore::closeCallback(_GObject*, _GAsyncResult*, void*) (ResourceHandleSoup.cpp:696)
==8035==    by 0xA55DE76: async_ready_close_callback_wrapper (ginputstream.c:491)
==8035==    by 0xA56CA59: complete_in_idle_cb_for_thread (gsimpleasyncresult.c:650)
==8035==    by 0xAC4AF29: g_main_context_dispatch (gmain.c:1960)
==8035==    by 0xAC4E787: g_main_context_iterate (gmain.c:2591)
==8035==    by 0xAC4EC5C: g_main_loop_run (gmain.c:2799)
==8035==    by 0x8C85CA6: gtk_main (gtkmain.c:1218)
==8035==    by 0x41202E: runTest(std::string const&) (DumpRenderTree.cpp:496)
==8035==    by 0x412488: main (DumpRenderTree.cpp:848)
==8035==  Address 0x13d5cf00 is 0 bytes inside a block of size 1,248 free'd
==8035==    at 0x4C21DBC: free (vg_replace_malloc.c:325)
==8035==    by 0x415E73: WTF::fastFree(void*) (FastMalloc.cpp:294)
==8035==    by 0x513DCCB: WTF::FastAllocBase::operator delete(void*) (FastAllocBase.h:104)
==8035==    by 0x56BC5F4: WebCore::MainResourceLoader::~MainResourceLoader() (MainResourceLoader.cpp:59)
==8035==    by 0x568E5F5: WTF::RefCounted<WebCore::ResourceLoader>::deref() (RefCounted.h:109)
==8035==    by 0x568E9D8: WTF::RefPtr<WebCore::MainResourceLoader>::~RefPtr() (RefPtr.h:53)
==8035==    by 0x56BB83D: WebCore::MainResourceLoader::didCancel(WebCore::ResourceError const&) (MainResourceLoader.cpp:102)
==8035==    by 0x56C6216: WebCore::ResourceLoader::cancel(WebCore::ResourceError const&) (ResourceLoader.cpp:350)
==8035==    by 0x56C5B39: WebCore::ResourceLoader::cancel() (ResourceLoader.cpp:340)
==8035==    by 0x568C36E: WebCore::DocumentLoader::stopLoading(WebCore::DatabasePolicy) (DocumentLoader.cpp:294)
==8035==    by 0x56A21D6: WebCore::FrameLoader::stopAllLoaders(WebCore::DatabasePolicy) (FrameLoader.cpp:2260)
==8035==    by 0x56AB8CF: WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool) (FrameLoader.cpp:3449)
==8035==
Comment 1 Gustavo Noronha (kov) 2009-11-25 03:28:49 PST
Created attachment 43835 [details]
proposed fix
Comment 2 Xan Lopez 2009-11-25 03:41:03 PST
Comment on attachment 43835 [details]
proposed fix

LGTM.
Comment 3 Gustavo Noronha (kov) 2009-11-25 05:01:39 PST
Landed as r51380.