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

Consider deploying debug symbol for Mozc TIP DLL #1081

Closed
yukawa opened this issue Oct 15, 2024 · 0 comments · Fixed by #1082
Closed

Consider deploying debug symbol for Mozc TIP DLL #1081

yukawa opened this issue Oct 15, 2024 · 0 comments · Fixed by #1082

Comments

@yukawa
Copy link
Collaborator

yukawa commented Oct 15, 2024

Description

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.

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

Steps to reproduce

Steps to reproduce the behavior:

  1. Install Mozc
  2. Open %ProgramFiles(x86)%\Mozc\mozc_tip64.dll with peview.exe included in Process Hacker.

Expected behavior

Public symbols are resolved after the step 2.

Actual behavior

Public symbols are not resolved after the step 2.

Screenshots

Here is the expected behavior.
Image

Version or commit-id

1d74ac4

Environment

  • OS: Windows 11 23H2
yukawa added a commit to yukawa/mozc that referenced this issue Oct 15, 2024
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
yukawa added a commit to yukawa/mozc that referenced this issue Oct 15, 2024
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 pushed a commit that referenced this issue Oct 16, 2024
One of the biggest challenge while investigating #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

PiperOrigin-RevId: 686360089
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 a pull request may close this issue.

1 participant