diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-22 21:59:33 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-22 21:59:33 +0000 |
commit | eef2c2ed6ea089b49c0f6468154d5a4d524abaeb (patch) | |
tree | fc5f8f1c0cf71a29f26edf06d76d48b5c87e7ff4 /chrome_frame/metrics_service.cc | |
parent | cf490988816ae60014be7e068ad9d5ec4730d67e (diff) | |
download | chromium_src-eef2c2ed6ea089b49c0f6468154d5a4d524abaeb.zip chromium_src-eef2c2ed6ea089b49c0f6468154d5a4d524abaeb.tar.gz chromium_src-eef2c2ed6ea089b49c0f6468154d5a4d524abaeb.tar.bz2 |
Fix a high frequency chrome frame crasher which occurs while uploading UMA data. The crash
occcurs while processing a proxy change request and specifically occurs while invoking on
the NetLog instance maintained by a chrome frame url request context instantiated specifically
to upload data. The proxy service is a ref counted object and the net log instance is not
which leads to a race condition if the netlog instance is destroyed before the proxy service.
Fix is to not create a netlog instance for chrome frame uma requests.
Fixes bug http://code.google.com/p/chromium/issues/detail?id=60203
Bug=60203
Review URL: http://codereview.chromium.org/3985006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63571 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/metrics_service.cc')
-rw-r--r-- | chrome_frame/metrics_service.cc | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/chrome_frame/metrics_service.cc b/chrome_frame/metrics_service.cc index 461862f..659cd36 100644 --- a/chrome_frame/metrics_service.cc +++ b/chrome_frame/metrics_service.cc @@ -154,11 +154,8 @@ class ChromeFrameUploadRequestContext : public URLRequestContext { net::ProxyService::CreateSystemProxyConfigService(NULL, NULL); DCHECK(proxy_config_service); - const size_t kNetLogBound = 50u; - net_log_.reset(new net::CapturingNetLog(kNetLogBound)); - proxy_service_ = net::ProxyService::CreateUsingSystemProxyResolver( - proxy_config_service, 0, net_log_.get()); + proxy_config_service, 0, NULL); DCHECK(proxy_service_); ssl_config_service_ = new net::SSLConfigServiceDefaults; @@ -193,7 +190,6 @@ class ChromeFrameUploadRequestContext : public URLRequestContext { private: std::string user_agent_; MessageLoop* io_loop_; - scoped_ptr<net::NetLog> net_log_; scoped_ptr<net::URLSecurityManager> url_security_manager_; }; |