New issue
Advanced search Search tips

Issue 723834 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Chrome leaks PreferencesMACs in the registry for deleted profiles

Project Member Reported by grt@chromium.org, May 17 2017

Issue description

See https://bugs.chromium.org/p/chromium/issues/detail?id=721245#c72 for details. tl;dr:

- create a profile
- delete it
- restart chrome
- a PreferenceMACs\ProfileN key is left behind in the registry

This may be the case for non-Win platforms as well (I'm not sure where they store their MACs).
 

Comment 1 by gab@chromium.org, May 17 2017

Cc: gab@chromium.org
Labels: -Pri-1 Pri-2
Owner: proberge@chromium.org
Assigning to proberge per this no longer being urgent after fixing issue 721245.
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/45e347284efb236e79bc3a1ff4c68640dafe9b3d

commit 45e347284efb236e79bc3a1ff4c68640dafe9b3d
Author: proberge <proberge@chromium.org>
Date: Wed Aug 16 21:24:30 2017

Delete the PreferenceMACs on profile deletion.

On Windows, the tracked preference logic writes some data to the
registry. It is currently not cleared when the profile is deleted.

Alternatives considered: extending ProfileAttributesStorage::Observer
and listening for OnProfileWasRemoved or OnProfileWillBeRemoved. However,
the tracked pref code is componentized to avoid any reference to Chrome.

Known issue: the PreferenceMACs in the registry will not be deleted if
Chrome crashes during profile deletion. There's logic in
chrome_browser_main which cleans up the profile folders when this happens
(https://cs.chromium.org/chromium/src/chrome/browser/chrome_browser_main.cc?dr=CSs&l=1279)
However, I couldn't find a clean way to clean up the registry when the
profile no longer exists.

BUG= 723834 

Review-Url: https://codereview.chromium.org/2905903002
Cr-Commit-Position: refs/heads/master@{#494955}

[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/chrome/browser/profiles/profile_manager.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/chrome/browser/profiles/profile_manager.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/in_memory_pref_store.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/json_pref_store.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/json_pref_store.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/json_pref_store_unittest.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/overlay_user_pref_store.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/overlay_user_pref_store.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/persistent_pref_store.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/pref_filter.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/pref_service.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/pref_service.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/testing_pref_store.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/components/prefs/testing_pref_store.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/persistent_pref_store_impl.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/persistent_pref_store_impl.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/pref_store_consistency_unittest.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/public/cpp/persistent_pref_store_client.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/public/cpp/persistent_pref_store_client.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/public/cpp/tests/persistent_pref_store_client_unittest.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/public/interfaces/preferences.mojom
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/tracked/interceptable_pref_filter.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/tracked/interceptable_pref_filter.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/tracked/pref_hash_filter.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/tracked/pref_hash_filter.h
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/tracked/segregated_pref_store.cc
[modify] https://crrev.com/45e347284efb236e79bc3a1ff4c68640dafe9b3d/services/preferences/tracked/segregated_pref_store.h

Status: Fixed (was: Assigned)

Sign in to add a comment