Skip to content

Commit

Permalink
Add logging to diagnose REGDB_E_CLASSNOTREG failures on CI
Browse files Browse the repository at this point in the history
Bug: 1425609
Change-Id: I3a454210786dc0ec197e3946b7f9566bcdb3873f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4351198
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1119004}
  • Loading branch information
GitHubGanesh authored and Chromium LUCI CQ committed Mar 18, 2023
1 parent fef2075 commit 3d14010
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
3 changes: 2 additions & 1 deletion chrome/updater/ipc/proxy_impl_base_win.h
Expand Up @@ -82,7 +82,8 @@ class ProxyImplBase {
if (SUCCEEDED(hr)) {
return server;
}
VLOG(2) << "::CoCreateInstance failed " << std::hex << hr;
VLOG(2) << "::CoCreateInstance failed: "
<< base::win::WStringFromGUID(clsid) << ": " << std::hex << hr;
if (hr == REGDB_E_CLASSNOTREG) {
return base::unexpected(hr);
}
Expand Down
7 changes: 7 additions & 0 deletions chrome/updater/win/setup/setup_util.cc
Expand Up @@ -265,18 +265,22 @@ void AddComServerWorkItems(const base::FilePath& com_server_path,
bool is_internal,
WorkItemList* list) {
DCHECK(list);
VLOG(1) << __func__ << ": " << com_server_path << ": " << is_internal;

if (com_server_path.empty()) {
LOG(DFATAL) << "com_server_path is invalid.";
return;
}

for (const auto& clsid : GetServers(is_internal, UpdaterScope::kUser)) {
VLOG(1) << "Registering clsid: " << base::win::WStringFromGUID(clsid);
AddInstallServerWorkItems(HKEY_CURRENT_USER, clsid, com_server_path,
is_internal, list);
AddInstallComProgIdWorkItems(UpdaterScope::kUser, clsid, list);
}

for (const auto& iid : GetInterfaces(is_internal, UpdaterScope::kUser)) {
VLOG(1) << "Registering interface: " << base::win::WStringFromGUID(iid);
AddInstallComInterfaceWorkItems(HKEY_CURRENT_USER, com_server_path, iid,
list);
}
Expand All @@ -286,6 +290,7 @@ void AddComServiceWorkItems(const base::FilePath& com_service_path,
bool internal_service,
WorkItemList* list) {
DCHECK(::IsUserAnAdmin());
VLOG(1) << __func__ << ": " << com_service_path << ": " << internal_service;

if (com_service_path.empty()) {
LOG(DFATAL) << "com_service_path is invalid.";
Expand Down Expand Up @@ -315,11 +320,13 @@ void AddComServiceWorkItems(const base::FilePath& com_service_path,
com_service_command, com_switch, UPDATER_KEY, clsids, {}));

for (const auto& clsid : clsids) {
VLOG(1) << "Registering clsid: " << base::win::WStringFromGUID(clsid);
AddInstallComProgIdWorkItems(UpdaterScope::kSystem, clsid, list);
}

for (const auto& iid :
GetInterfaces(internal_service, UpdaterScope::kSystem)) {
VLOG(1) << "Registering interface: " << base::win::WStringFromGUID(iid);
AddInstallComInterfaceWorkItems(HKEY_LOCAL_MACHINE, com_service_path, iid,
list);
}
Expand Down

0 comments on commit 3d14010

Please sign in to comment.