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

Fix buildSymbolStore.ps1 #12903

Merged
merged 1 commit into from
Oct 4, 2021
Merged

Fix buildSymbolStore.ps1 #12903

merged 1 commit into from
Oct 4, 2021

Conversation

seanbudd
Copy link
Member

@seanbudd seanbudd commented Oct 3, 2021

Link to issue number:

None

Summary of the issue:

Alpha/PR builds are suddenly failing due to the symbol store failing to build.
Example: https://ci.appveyor.com/project/NVAccess/nvda/builds/40999821

The error thrown:

The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 
SYMSTORE ERROR: Class: Syntax. Desc: Invalid compression type '-:NOREFS'.

I am unsure what has changed in the past few days.

The command usage seems inline with the docs https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/symstore-command-line-options - other than the order of arguments.
The example usage implies -:NOREFS requires the /p switch, but the documentation doesn't specifically note this, as opposed to other commands which require /p.

I've raised this issue to find out more from MS: https://github.com/MicrosoftDocs/windows-driver-docs/issues/2931

Description of how this pull request fixes the issue:

Try re-arranging arguments.

Testing strategy:

Build PR

Known issues with pull request:

None

Change log entries:

None

Code Review Checklist:

  • Pull Request description:
    • description is up to date
    • change log entries
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • API is compatible with existing add-ons.
  • Documentation:
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English

@AppVeyorBot

This comment has been minimized.

@seanbudd seanbudd marked this pull request as ready for review October 3, 2021 23:19
@seanbudd seanbudd requested a review from a team as a code owner October 3, 2021 23:19
@seanbudd
Copy link
Member Author

seanbudd commented Oct 3, 2021

Is there a good way to test that symbol store builds the same as a result of this change?

@michaelDCurran
Copy link
Member

I see that the documentation for symstore for Windows Drivers has the arguments moved around a bit. Specifically /compress appears at the end of the example, which moves it after -:NOREFS
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/symstore-command-line-options
As opposed to the docs at:
https://docs.microsoft.com/en-us/windows/win32/debug/symstore-command-line-options

There is not an easy way to test the symstore, appart from perhaps building a try build, then running and crashing that try build somehow, while a debugger is connected or opening the produced minidump in a debugger, pointing the debugger to our symbol server and ensuring that it can find symbols.
But as long as symstore says that it is adding each file, i think we can trust it.
You could take a look at the content of the symbol store and ensure there are no reffs.ptr files... as that is what -:NOREFS is disabling.

@seanbudd
Copy link
Member Author

seanbudd commented Oct 4, 2021

Confirmed that there's no .ptr files

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.

4 participants