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

Inexplicable crash in command palette #9648

Closed
zadjii-msft opened this issue Mar 29, 2021 · 5 comments
Closed

Inexplicable crash in command palette #9648

zadjii-msft opened this issue Mar 29, 2021 · 5 comments
Labels
Area-CmdPal Command Palette issues and features Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Priority-2 A description (P2) Product-Terminal The new Windows Terminal. Severity-Crash Crashes are real bad news.
Milestone

Comments

@zadjii-msft
Copy link
Member

Version: Microsoft.WindowsTerminalPreview_1.8.771.0. Unsure which commits that includes.

I've hit this twice now, but there's not a consistent repro it seems. My only repro is "open the command palette and start typing into it", but that obviously doesn't hit every time.

The stack from the crash is useless, and the !xamlstowed isn't all that useful either. The HR is apparently 0x80004002 (No such interface supported), but again, that's not helpful.

@$xamlstowed()                 : 1 ErrorContexts
    length           : 0x1
    [0x0]            : 0x19c608819f0 : 0x80004002 in Windows_UI_Xaml!DirectUI::ListViewBase::SetupContainerContentChangingAfterPrepare+0x230857 [Type: ErrorContext *]
0:000> dx -r1 ((Windows_UI_Xaml!ErrorContext *)0x19c608819f0)
((Windows_UI_Xaml!ErrorContext *)0x19c608819f0)                 : 0x19c608819f0 : 0x80004002 in Windows_UI_Xaml!DirectUI::ListViewBase::SetupContainerContentChangingAfterPrepare+0x230857 [Type: ErrorContext *]
    [<Raw View>]     [Type: ErrorContext]
    HRESULT          : 80004002 - No such interface supported
    ThrowingAddress  : Windows_UI_Xaml!DirectUI::ListViewBase::SetupContainerContentChangingAfterPrepare+0x230857  (7fffd5aeccc7) [onecoreuap\windows\dxaml\xcp\dxaml\lib\listviewbase_partial_containerphase.cpp @ 273]
    Stack            : 99 Frames
    Registers        : 14 Registers
0:000> dx -r1 (*((Windows_UI_Xaml!ErrorContext *)0x19c608819f0)).ThrowingAddress
(*((Windows_UI_Xaml!ErrorContext *)0x19c608819f0)).ThrowingAddress                 : Windows_UI_Xaml!DirectUI::ListViewBase::SetupContainerContentChangingAfterPrepare+0x230857  (7fffd5aeccc7) [onecoreuap\windows\dxaml\xcp\dxaml\lib\listviewbase_partial_containerphase.cpp @ 273]
    Address          : 7fffd5aeccc7
    Name             : Windows_UI_Xaml!DirectUI::ListViewBase::SetupContainerContentChangingAfterPrepare+0x230857
    Source           : onecoreuap\windows\dxaml\xcp\dxaml\lib\listviewbase_partial_containerphase.cpp @ 273

Which is failing on a line like

ComPtr<IDataTemplateComponent> templateComponent;
...
templateComponent->ProcessBindings(item, itemIndex, 0 /* phase */, &requestedPhase)

I wonder if this has anything to do with #9487, but I think I saw this before we ever merged that PR. @DHowett does 1.8.771 include #9487?

!xamlstowed exception

0:000> !xamlstowed
-------------------------
Callstack for hr=80004002 - No such interface supported

    Windows_UI_Xaml!DirectUI::ListViewBase::SetupContainerContentChangingAfterPrepare+0x230857  (7fffd5aeccc7) [onecoreuap\windows\dxaml\xcp\dxaml\lib\listviewbase_partial_containerphase.cpp @ 273]
    Windows_UI_Xaml!DirectUI::ModernCollectionBasePanel::PrepareContainerViaItemsHost+0x126  (7fffd58ba84a) [onecoreuap\windows\dxaml\xcp\dxaml\lib\moderncollectionbasepanel_iicg2_partial.cpp @ 444]
    Windows_UI_Xaml!DirectUI::ModernCollectionBasePanel::PrepareElementViaItemsHost+0x24  (7fffd58b4e04) [onecoreuap\windows\dxaml\xcp\dxaml\lib\ModernCollectionBasePanel_Partial.h @ 1252]
    Windows_UI_Xaml!DirectUI::ModernCollectionBasePanel::MeasureSpecialElements+0x4ac  (7fffd56c1868) [onecoreuap\windows\dxaml\xcp\dxaml\lib\moderncollectionbasepanel_partial.cpp @ 811]
    Windows_UI_Xaml!DirectUI::ModernCollectionBasePanel::RunVirtualization+0x120  (7fffd567b738) [onecoreuap\windows\dxaml\xcp\dxaml\lib\moderncollectionbasepanel_partial.cpp @ 619]
    Windows_UI_Xaml!DirectUI::ModernCollectionBasePanel::MeasureOverride+0xb8  (7fffd5680fc8) [onecoreuap\windows\dxaml\xcp\dxaml\lib\moderncollectionbasepanel_partial.cpp @ 521]
    Windows_UI_Xaml!DirectUI::FrameworkElementGenerated::MeasureOverrideProtected+0xdf  (7fffd56fbc3f) [onecoreuap\windows\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\frameworkelement.g.cpp @ 1056]
    Windows_UI_Xaml!DirectUI::FrameworkElement::MeasureOverrideFromCore+0xce  (7fffd56fba5e) [onecoreuap\windows\dxaml\xcp\dxaml\lib\frameworkelement_partial.cpp @ 255]
    Windows_UI_Xaml!CFrameworkElement::MeasureCore+0x468  (7fffd56df528) [onecoreuap\windows\dxaml\xcp\core\core\elements\framework.cpp @ 1577]
    Windows_UI_Xaml!CUIElement::MeasureInternal+0x1b3  (7fffd56e3b53) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4149]
    Windows_UI_Xaml!CUIElement::Measure+0x51a  (7fffd56ded5a) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4009]
    Windows_UI_Xaml!CUIElement::Measure+0x4bc  (7fffd56decfc) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4059]
    Windows_UI_Xaml!DirectUI::UIElementGenerated::Measure+0xc3  (7fffd57ebfc3) [onecoreuap\windows\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\uielement.g.cpp @ 4318]
    Windows_UI_Xaml!DirectUI::ScrollContentPresenter::MeasureOverride+0x4e1  (7fffd567c361) [onecoreuap\windows\dxaml\xcp\dxaml\lib\scrollcontentpresenter_partial.cpp @ 1862]
    Windows_UI_Xaml!DirectUI::FrameworkElementGenerated::MeasureOverrideProtected+0xdf  (7fffd56fbc3f) [onecoreuap\windows\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\frameworkelement.g.cpp @ 1056]
    Windows_UI_Xaml!DirectUI::FrameworkElement::MeasureOverrideFromCore+0xce  (7fffd56fba5e) [onecoreuap\windows\dxaml\xcp\dxaml\lib\frameworkelement_partial.cpp @ 255]
    Windows_UI_Xaml!CFrameworkElement::MeasureCore+0x468  (7fffd56df528) [onecoreuap\windows\dxaml\xcp\core\core\elements\framework.cpp @ 1577]
    Windows_UI_Xaml!CUIElement::MeasureInternal+0x1b3  (7fffd56e3b53) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4149]
    Windows_UI_Xaml!CUIElement::Measure+0x51a  (7fffd56ded5a) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4009]
    Windows_UI_Xaml!CGrid::MeasureCellsGroup+0x1c1  (7fffd5761e21) [onecoreuap\windows\dxaml\xcp\core\core\elements\grid.cpp @ 359]
    Windows_UI_Xaml!CGrid::MeasureOverride+0x326  (7fffd57619c6) [onecoreuap\windows\dxaml\xcp\core\core\elements\grid.cpp @ 1251]
    Windows_UI_Xaml!CFrameworkElement::MeasureCore+0x21b  (7fffd56df2db) [onecoreuap\windows\dxaml\xcp\core\core\elements\framework.cpp @ 1594]
    Windows_UI_Xaml!CUIElement::MeasureInternal+0x1b3  (7fffd56e3b53) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4149]
    Windows_UI_Xaml!CUIElement::Measure+0x51a  (7fffd56ded5a) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4009]
    Windows_UI_Xaml!CBorder::MeasureOverride+0x8a  (7fffd5763dea) [onecoreuap\windows\dxaml\xcp\core\core\elements\border.cpp @ 254]
    Windows_UI_Xaml!CFrameworkElement::MeasureCore+0x21b  (7fffd56df2db) [onecoreuap\windows\dxaml\xcp\core\core\elements\framework.cpp @ 1594]
    Windows_UI_Xaml!CUIElement::MeasureInternal+0x1b3  (7fffd56e3b53) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4149]
    Windows_UI_Xaml!CUIElement::Measure+0x51a  (7fffd56ded5a) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4009]
    Windows_UI_Xaml!DirectUI::UIElementGenerated::Measure+0xc3  (7fffd57ebfc3) [onecoreuap\windows\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\uielement.g.cpp @ 4318]
    Windows_UI_Xaml!DirectUI::ScrollViewer::MeasureOverride+0x1e5  (7fffd5821af5) [onecoreuap\windows\dxaml\xcp\dxaml\lib\scrollviewer_partial.cpp @ 1964]
    Windows_UI_Xaml!DirectUI::FrameworkElementGenerated::MeasureOverrideProtected+0xdf  (7fffd56fbc3f) [onecoreuap\windows\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\frameworkelement.g.cpp @ 1056]
    Windows_UI_Xaml!DirectUI::FrameworkElement::MeasureOverrideFromCore+0xce  (7fffd56fba5e) [onecoreuap\windows\dxaml\xcp\dxaml\lib\frameworkelement_partial.cpp @ 255]
    Windows_UI_Xaml!CFrameworkElement::MeasureCore+0x468  (7fffd56df528) [onecoreuap\windows\dxaml\xcp\core\core\elements\framework.cpp @ 1577]
    Windows_UI_Xaml!CUIElement::MeasureInternal+0x1b3  (7fffd56e3b53) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4149]
    Windows_UI_Xaml!CUIElement::Measure+0x51a  (7fffd56ded5a) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4009]
    Windows_UI_Xaml!CBorder::MeasureOverride+0x8a  (7fffd5763dea) [onecoreuap\windows\dxaml\xcp\core\core\elements\border.cpp @ 254]
    Windows_UI_Xaml!CFrameworkElement::MeasureCore+0x21b  (7fffd56df2db) [onecoreuap\windows\dxaml\xcp\core\core\elements\framework.cpp @ 1594]
    Windows_UI_Xaml!CUIElement::MeasureInternal+0x1b3  (7fffd56e3b53) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4149]
    Windows_UI_Xaml!CUIElement::Measure+0x51a  (7fffd56ded5a) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4009]
    Windows_UI_Xaml!CControl::MeasureOverride+0x36  (7fffd5764436) [onecoreuap\windows\dxaml\xcp\core\core\elements\control.cpp @ 420]
    Windows_UI_Xaml!CItemsControl::MeasureOverride+0x42  (7fffd588b1e2) [onecoreuap\windows\dxaml\xcp\core\core\elements\itemscontrol.cpp @ 295]
    Windows_UI_Xaml!DirectUI::FrameworkElement::MeasureOverrideImpl+0x68  (7fffd579dc58) [onecoreuap\windows\dxaml\xcp\dxaml\lib\frameworkelement_partial.cpp @ 210]
    Windows_UI_Xaml!DirectUI::FrameworkElementGenerated::MeasureOverride+0x67  (7fffd579dba7) [onecoreuap\windows\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\frameworkelement.g.cpp @ 1035]
    Windows_UI_Xaml!DirectUI::FrameworkElementGenerated::MeasureOverrideProtected+0xdf  (7fffd56fbc3f) [onecoreuap\windows\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\frameworkelement.g.cpp @ 1056]
    Windows_UI_Xaml!DirectUI::FrameworkElement::MeasureOverrideFromCore+0xce  (7fffd56fba5e) [onecoreuap\windows\dxaml\xcp\dxaml\lib\frameworkelement_partial.cpp @ 255]
    Windows_UI_Xaml!CFrameworkElement::MeasureCore+0x468  (7fffd56df528) [onecoreuap\windows\dxaml\xcp\core\core\elements\framework.cpp @ 1577]
    Windows_UI_Xaml!CUIElement::MeasureInternal+0x1b3  (7fffd56e3b53) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4149]
    Windows_UI_Xaml!CUIElement::Measure+0x51a  (7fffd56ded5a) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4009]
    Windows_UI_Xaml!CGrid::MeasureCellsGroup+0x1c1  (7fffd5761e21) [onecoreuap\windows\dxaml\xcp\core\core\elements\grid.cpp @ 359]
    Windows_UI_Xaml!CGrid::MeasureOverride+0x326  (7fffd57619c6) [onecoreuap\windows\dxaml\xcp\core\core\elements\grid.cpp @ 1251]
    Windows_UI_Xaml!CFrameworkElement::MeasureCore+0x21b  (7fffd56df2db) [onecoreuap\windows\dxaml\xcp\core\core\elements\framework.cpp @ 1594]
    Windows_UI_Xaml!CUIElement::MeasureInternal+0x1b3  (7fffd56e3b53) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4149]
    Windows_UI_Xaml!CUIElement::Measure+0x51a  (7fffd56ded5a) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4009]
    Windows_UI_Xaml!CUIElement::Measure+0x4bc  (7fffd56decfc) [onecoreuap\windows\dxaml\xcp\core\core\elements\uielement.cpp @ 4059]
    Windows_UI_Xaml!CControl::MeasureOverride+0x36  (7fffd5764436) [onecoreuap\windows\dxaml\xcp\core\core\elements\control.cpp @ 420]
    Windows_UI_Xaml!DirectUI::FrameworkElement::MeasureOverrideImpl+0x68  (7fffd579dc58) [onecoreuap\windows\dxaml\xcp\dxaml\lib\frameworkelement_partial.cpp @ 210]
    Windows_UI_Xaml!DirectUI::FrameworkElementGenerated::MeasureOverride+0x67  (7fffd579dba7) [onecoreuap\windows\dxaml\xcp\dxaml\lib\winrtgeneratedclasses\frameworkelement.g.cpp @ 1035]

@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Mar 29, 2021
@zadjii-msft zadjii-msft added Area-CmdPal Command Palette issues and features Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-2 A description (P2) Product-Terminal The new Windows Terminal. Severity-Crash Crashes are real bad news. labels Mar 29, 2021
@zadjii-msft zadjii-msft added this to the Terminal v2.0 milestone Mar 29, 2021
@Don-Vito
Copy link
Contributor

@zadjii-msft - most probably related to my changes in command palette 🤦 I will try to take a look.

@zadjii-msft
Copy link
Member Author

@Don-Vito You know, you might be able to hold off on that. I'm pretty sure that this particular build doesn't have #9487 because I'm still seeing "the zoom icon doesn't appear in the tab switcher" bug. So you might have already fixed this!

@Don-Vito
Copy link
Contributor

@Don-Vito You know, you might be able to hold off on that. I'm pretty sure that this particular build doesn't have #9487 because I'm still seeing "the zoom icon doesn't appear in the tab switcher" bug. So you might have already fixed this!

I really hope the last changes fixed this - I am still having nightmares from debugging that WinUI code 😄

@zadjii-msft
Copy link
Member Author

Hey I haven't seen this in a couple days now that I'm on 1.8.892.0. Maybe we should service #9487 to stable, if this crash is hiding in Preview waiting to roll out to release?

/cc @DHowett

@DHowett
Copy link
Member

DHowett commented Apr 6, 2021

Looks like i cherry-picked that into 1.7 (which will become stable!) last week 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-CmdPal Command Palette issues and features Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Priority-2 A description (P2) Product-Terminal The new Windows Terminal. Severity-Crash Crashes are real bad news.
Projects
None yet
Development

No branches or pull requests

3 participants