Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Also deploy mozc_tip64.dll.pdb #1082

Merged
merged 1 commit into from
Oct 16, 2024
Merged

Conversation

yukawa
Copy link
Collaborator

@yukawa yukawa commented Oct 15, 2024

This closes #1081.

Context

One of the biggest challenge while investigating the following issue has been that it is reliably reproducible only on certain users' environments.

One idea to accelerate the debugging is to ship debug symbol file for Mozc TIP DLL (e.g. mozc_tip64.dll) to users. Then we can ask the reporter to use tools like Process Explorer and Process Hacker to dump the call stack of the thread that got stuck.

Description

With this commit we actually start deploying mozc_tip64.dll.pdb to users.

The storage impact looks to be acceptable overall as long as we strip private symbols. Here are actual values taken in my local environment.

  • Mozc64.msi: + 584 kB
  • mozc_tip64.dll.pdb: + 6,116 kB

Caveats

This commit does not fully take care of Bazel build. While the symbol file is actually deployed, there remain the following known
issues only in Bazel build.

  • private symbols are not yet stripped out.
  • the symbol file name embedded in mozc_tip64.dll is mozc_tip.pdb rather than mozc_tip64.dll.pdb.

Issue IDs

Steps to test new behaviors (if any)

A clear and concise description about how to verify new behaviors (if any).

  • OS: Windows 11 23H2
  • Steps:
    1. Install Mozc
    2. Open %ProgramFiles(x86)%\Mozc\mozc_tip64.dll with peview.exe included in Process Hacker.

Here is the expected behavior.
Image

One of the biggest challenge while investigating google#1076 is that it has
been reliably reproducible only on certain users' environments. One idea
to accelerate the debugging in such a scenario is to ship debug symbol
file for Mozc TIP DLL (e.g. mozc_tip64.dll) to users. Then we can ask
the reporter to use tools like Process Explorer and Process Hacker to
dump the call stack of the thread that got stuck.

With this commit we actually start deploying mozc_tip64.dll.pdb to
users.

The storage impact looks to be acceptable overall as long as we strip
private symbols [1]. Here are actual values taken in my local
environment.

 * Mozc64.msi: + 584 kB
 * mozc_tip64.dll.pdb: + 6,116 kB

Note that this commit does not fully take care of Bazel build. While the
symbol file is actually deployed, there remain the following known
issues only in Bazel build.

 * private symbols are not yet stripped out.
 * the symbol file name embedded in mozc_tip64.dll is mozc_tip.pdb
   rather than mozc_tip64.dll.pdb.

 [1]: https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/public-and-private-symbols
@hiroyuki-komatsu hiroyuki-komatsu merged commit 0377ddd into google:master Oct 16, 2024
1 check passed
@hiroyuki-komatsu
Copy link
Collaborator

We have merged your PR.
Thank you for your contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider deploying debug symbol for Mozc TIP DLL
2 participants