pacificIT / chromiumembedded

Automatically exported from code.google.com/p/chromiumembedded
0 stars 1 forks source link

[Windows] Crash related CookieStoreProxy on 963 branch #591

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Seeing crashes related to CookieStoreProxy on Windows with the 963 branch.

Stack trace #1:

0       @0x17d74e79     
1   libcef.dll  CefCookieStoreProxy::GetCookiesWithInfoAsync 
    c:\\cef\\chromium\\src\\cef\\libcef\\cookie_store_proxy.cc:42
2   libcef.dll  `anonymous namespace'::CefUrlRequestJob::DoLoadCookies 
    c:\\cef\\chromium\\src\\cef\\libcef\\scheme_impl.cc:202
3   libcef.dll  libcef.dll@0x3bf1f  
4       @0x2aec67cf     
5   libcef.dll  libcef.dll@0x30603f     
6   libcef.dll  `anonymous 
namespace'::CefUrlRequestJob::CheckCookiePolicyAndLoad 
    c:\\cef\\chromium\\src\\cef\\libcef\\scheme_impl.cc:208
7   libcef.dll 
    base::internal::Invoker<1,base::internal::BindState<base::internal::RunnableAda
pter<void   c:\\cef\\chromium\\src\\base\\bind_internal.h:1186
8   libcef.dll  base::Callback<void     c:\\cef\\chromium\\src\\base\\callback.h:308
9   libcef.dll 
    base::internal::Invoker<2,base::internal::BindState<base::internal::RunnableAda
pter<void   c:\\cef\\chromium\\src\\base\\bind_internal.h:1214
10  libcef.dll  net::CookieMonster::CookieMonsterTask::InvokeCallback 
    c:\\cef\\chromium\\src\\net\\base\\cookie_monster.cc:565
11  libcef.dll  base::subtle::RefCountedThreadSafeBase::AddRef 
    c:\\cef\\chromium\\src\\base\\memory\\ref_counted.cc:76
12  libcef.dll  base::Bind<void     c:\\cef\\chromium\\src\\base\\bind.h:159
13  libcef.dll  net::CookieMonster::GetAllCookiesForURLWithOptionsTask::Run 
    c:\\cef\\chromium\\src\\net\\base\\cookie_monster.cc:673
14  libcef.dll  net::CookieMonster::GetAllCookiesForURLWithOptionsTask::Run 
    c:\\cef\\chromium\\src\\net\\base\\cookie_monster.cc:673
15  libcef.dll  libcef.dll@0xe8eff

Stack trace #2:

0       @0x24e0ee6b     
1   libcef.dll  CefCookieStoreProxy::GetCookieMonster 
    c:\\cef\\chromium\\src\\cef\\libcef\\cookie_store_proxy.cc:55
2   libcef.dll  `anonymous namespace'::CefUrlRequestJob::AddCookieHeaderAndStart 
    c:\\cef\\chromium\\src\\cef\\libcef\\scheme_impl.cc:182
3   libcef.dll  free    f:\\dd\\vctools\\crt_bld\\self_x86\\crt\\src\\free.c:115
4   libcef.dll  net::URLRequest::StartJob 
    c:\\cef\\chromium\\src\\net\\url_request\\url_request.cc:473
5   libcef.dll  net::URLRequest::StartJob 
    c:\\cef\\chromium\\src\\net\\url_request\\url_request.cc:486
6   libcef.dll  std::_Tree<std::_Tmap_traits<unsigned 
int,linked_ptr<gpu::CommonDecoder::Bucket>,std::less<unsigned 
int>,std::allocator<std::pair<unsigned int 
const,linked_ptr<gpu::CommonDecoder::Bucket> > >,0> >::insert   c:\\program 
files (x86)\\microsoft visual studio 9.0\\vc\\include\\xtree:674
7   libcef.dll  net::HttpRequestHeaders::AddHeadersFromString 
    c:\\cef\\chromium\\src\\net\\http\\http_request_headers.cc:161
8   libcef.dll  std::map<void 
const*,linked_ptr<net::SocketStream::UserData>,std::less<void 
const*>,std::allocator<std::pair<void const* 
const,linked_ptr<net::SocketStream::UserData> > > >::operator[]     c:\\program 
files (x86)\\microsoft visual studio 9.0\\vc\\include\\map:173
9   program.exe     program.exe@0x6498b7    
10  libcef.dll  net::URLRequest::Start 
    c:\\cef\\chromium\\src\\net\\url_request\\url_request.cc:435
11  libcef.dll  `anonymous namespace'::RequestProxy::AsyncStart 
    c:\\cef\\chromium\\src\\cef\\libcef\\browser_resource_loader_bridge.cc:587
12  ntdll.dll   ntdll.dll@0x100b7   
13      @0x1    
14  ntdll.dll   ntdll.dll@0x10040

Stack trace #3:

0   program.exe     request_handler_get_cookie_manager 
    c:\\buildagent\\work\\fe2df101636dd58\\desktop\\lib\\libcef_dll_wrapper\\libcef
_dll\\cpptoc\\request_handler_cpptoc.cc:390
1   libcef.dll  CefRequestHandlerCToCpp::GetCookieManager 
    c:\\cef\\chromium\\src\\cef\\libcef_dll\\ctocpp\\request_handler_ctocpp.cc:327
2   kernel32.dll    kernel32.dll@0x4c76e    
3   libcef.dll  free    f:\\dd\\vctools\\crt_bld\\self_x86\\crt\\src\\free.c:109
4   libcef.dll  free    f:\\dd\\vctools\\crt_bld\\self_x86\\crt\\src\\free.c:115
5   libcef.dll  libcef.dll@0x4a050f     
6   libcef.dll  free    f:\\dd\\vctools\\crt_bld\\self_x86\\crt\\src\\free.c:115
7   libcef.dll  cef_string_utf8_to_utf16 
    c:\\cef\\chromium\\src\\cef\\libcef\\cef_string_types.cc:231
8   libcef.dll  cef_string_utf8_to_utf16 
    c:\\cef\\chromium\\src\\cef\\libcef\\cef_string_types.cc:232
9   libcef.dll  operator new 
    f:\\dd\\vctools\\crt_bld\\self_x86\\crt\\src\\new.cpp:59
10  libcef.dll  CefCookieStoreProxy::GetCookieStore 
    c:\\cef\\chromium\\src\\cef\\libcef\\cookie_store_proxy.cc:67 

Original issue reported on code.google.com by magreenb...@gmail.com on 3 May 2012 at 8:58

GoogleCodeExporter commented 9 years ago
Revision 615 contains a speculative fix for this problem. The hypothesis is a 
race condition between CookieStoreProxy object deletion and CefUrlRequestJob 
execution. The fix keeps a refptr to the CookieStoreProxy object until 
CefUrlRequestJob is done with it.

Original comment by magreenb...@gmail.com on 3 May 2012 at 9:01

GoogleCodeExporter commented 9 years ago

Original comment by magreenb...@gmail.com on 3 Oct 2012 at 5:52