microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.64k stars 8.32k forks source link

Settings Editor is not launching in PGO tests #16960

Closed DHowett closed 7 months ago

DHowett commented 7 months ago

The nightly canary build failed to PGO TerminalSettingsEditor due to no counts, which suggests that it didn't get exercised in last night's PGO run. That further hints that it may not have opened.

The PGO agents run Windows 10, I think? And they launch in unpackaged mode. May be a good place to start the investigation!

zadjii-msft commented 7 months ago

image

Unpackaged build fresh off of #16954 (the first PR I clicked on with a finished CI run), on a win10 vm.

So, it's not that.

zadjii-msft commented 7 months ago

notes

##[warning]PGOMGR(0,0): Warning PG0188: No .PGC files matching 'C:\__w\1\s\build\PGO\..\..\packages\Microsoft.Internal.Windows.Terminal.PGODatabase.1.21.0-2403272312-main\tools\x64\Microsoft.Terminal.Settings.Editor!*.pgc' were found.
    34>PGOMGR : warning PG0188: No .PGC files matching 'C:\__w\1\s\build\PGO\..\..\packages\Microsoft.Internal.Windows.Terminal.PGODatabase.1.21.0-2403272312-main\tools\x64\Microsoft.Terminal.Settings.Editor!*.pgc' were found. [C:\__w\1\s\src\cascadia\TerminalSettingsEditor\Microsoft.Terminal.Settings.Editor.vcxproj]
           Reading PGD file 1: C:\__w\1\s\build\PGO\..\..\packages\Microsoft.Internal.Windows.Terminal.PGODatabase.1.21.0-2403272312-main\tools\x64\Microsoft.Terminal.Settings.Editor.pgd
##[error]build\PGO\..\..\packages\Microsoft.Internal.Windows.Terminal.PGODatabase.1.21.0-2403272312-main\tools\x64\Microsoft.Terminal.Settings.Editor.pgd(0,0): Error C2220: the following warning is treated as an error
    34>C:\__w\1\s\build\PGO\..\..\packages\Microsoft.Internal.Windows.Terminal.PGODatabase.1.21.0-2403272312-main\tools\x64\Microsoft.Terminal.Settings.Editor.pgd : error C2220: the following warning is treated as an error [C:\__w\1\s\src\cascadia\TerminalSettingsEditor\Microsoft.Terminal.Settings.Editor.vcxproj]
##[warning]build\PGO\..\..\packages\Microsoft.Internal.Windows.Terminal.PGODatabase.1.21.0-2403272312-main\tools\x64\Microsoft.Terminal.Settings.Editor.pgd(0,0): Warning C4961: No profile data was merged into 'C:\__w\1\s\build\PGO\..\..\packages\Microsoft.Internal.Windows.Terminal.PGODatabase.1.21.0-2403272312-main\tools\x64\Microsoft.Terminal.Settings.Editor.pgd', profile-guided optimizations disabled
    34>C:\__w\1\s\build\PGO\..\..\packages\Microsoft.Internal.Windows.Terminal.PGODatabase.1.21.0-2403272312-main\tools\x64\Microsoft.Terminal.Settings.Editor.pgd : warning C4961: No profile data was merged into 'C:\__w\1\s\build\PGO\..\..\packages\Microsoft.Internal.Windows.Terminal.PGODatabase.1.21.0-2403272312-main\tools\x64\Microsoft.Terminal.Settings.Editor.pgd', profile-guided optimizations disabled [C:\__w\1\s\src\cascadia\TerminalSettingsEditor\Microsoft.Terminal.Settings.Editor.vcxproj]
            Creating library C:\__w\1\s\bin\x64\Release\Microsoft.Terminal.Settings.Editor\Microsoft.Terminal.Settings.Editor.lib and object C:\__w\1\s\bin\x64\Release\Microsoft.Terminal.Settings.Editor\Microsoft.Terminal.Settings.Editor.exp
         Generating code
##[error]LINK(0,0): Error LNK1257: code generation failed
    34>LINK : fatal error LNK1257: code generation failed [C:\__w\1\s\src\cascadia\TerminalSettingsEditor\Microsoft.Terminal.Settings.Editor.vcxproj]

abridged:

etc

DHowett commented 7 months ago

The PGO builds trail the nightlies by one night - so the bad data would have been produced one or more nights previously in the instrumentation pipeline

DHowett commented 7 months ago

The last PGO build that successfully instrumented TSE was 0.0.2403.2501.

The first one that failed was 0.0.2403.2601; evidenced by this message:

Running pgosweep on 'Microsoft.Terminal.Settings.Editor.dll' for test: WindowsTerminal.UIA.Tests.SmokeTests.RunOpenSettingsUI
Microsoft (R) Profile Guided Optimization Sweeping Utility 14.38.33130.0
Copyright (C) Microsoft Corporation. All rights reserved.

PGOSWEEP : fatal error PG1032: Can find no running instrumented instance of image 'Microsoft.Terminal.Settings.Editor.dll'.
DHowett commented 7 months ago

All new in -26.

* de7f93122 Add support for customizing font fallback (#16821)
* a67a13288 AtlasEngine: Make Direct2D/3D and Present1 configurable (#16939)
* 501522d69 Add an experimental "scratchpad pane", for testing (#16171)
* e8f18ea92 ci: trigger builds for gh-readonly-queue/* merge queue branches (#16941)
* 08dc34612 Refactor Pane to be able to host non-terminal content (#16170)
zadjii-msft commented 7 months ago

Test instrumentation builds:

I wasn't the murderer, hooray

zadjii-msft commented 7 months ago

Win10 VM, without any other terminals installed (so no cascadia code/mono anywhere)

image

We suspect we broke nearby font loading, but only on windows 10.

zadjii-msft commented 7 months ago

This was fixed by #16993