Comment #4 on issue 26893 by [email protected]: Crash - RunnableMethod  
>::Run() for BrowsingDataRemover::ClearedCache
http://code.google.com/p/chromium/issues/detail?id=26893

 From the mini-dump, here is what happened:

browsing_data_remover.cc posted a task to the IO thread to cleanup the disk  
cache.

Then the browser was shut down.

During browser shutdown, the Profile is first deleted; then the IO thread  
is stopped.

In stopping the thread, all the outstanding tasks were drained.
So now finally the task that was posted to cleanup the disk cache gets run.
In that function, it tries to access |profile_| (which is all sorts of  
wrong anyway, since shouldn't access profile outside of UI thread).
And it dies, doing a virtual dispatch to garbage memory (since it is using  
a freed pointer).

The interesting thing is I didn't actually change this behavior -- it was  
already accessing the Profile from IO thread prior to my change, so this  
crash
should have been possible. In fact, my change corrected an access to  
Profile in earlier lines, I just need to do the same thing on the media  
context
line too.

Secondly, given that this task is not explicitly cancelled when destroying  
the Profile, I will make sure it actually holds references on the dependent
data it uses.

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to