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

Crash opening/closing close... submenu multiple times #8238

Closed
mpela81 opened this issue Nov 12, 2020 · 10 comments · Fixed by #9859
Closed

Crash opening/closing close... submenu multiple times #8238

mpela81 opened this issue Nov 12, 2020 · 10 comments · Fixed by #9859
Labels
Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-1 A description (P1) Product-Terminal The new Windows Terminal. Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. Severity-Crash Crashes are real bad news.
Milestone

Comments

@mpela81
Copy link
Contributor

mpela81 commented Nov 12, 2020

Environment

Windows 10.0.19041.572
Windows Terminal Preview Version: 1.5.3142.0

Steps to reproduce

The application exits when you:

  • right click a tab to open context menu
  • hover to open the Close... submenu
  • click away to close the menu
  • repeat until it crashes

crash1

Expected behavior

It does not crash

Actual behavior

It crashes

Other info

Feedback hub link: https://aka.ms/AAabnvq

See also #7728 (comment) and #7728 (comment). Unfortunately I don't know how to debug it myself...

@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 Nov 12, 2020
@zadjii-msft
Copy link
Member

Oh hey, I'm glad there's an actual issue for this now. We've known about this for some time, just never filed an issue for it.

We're pretty confident that this is a XAML Islands bug, but it'll be good to have a thread tracking it on our side.

@zadjii-msft zadjii-msft added Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-1 A description (P1) Product-Terminal The new Windows Terminal. Severity-Crash Crashes are real bad news. labels Nov 12, 2020
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Nov 12, 2020
@zadjii-msft zadjii-msft added this to the Terminal v1.6 milestone Nov 12, 2020
@zadjii-msft zadjii-msft removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Nov 12, 2020
@zadjii-msft
Copy link
Member

I'm punting this to 2.0, because we don't have LoS on a fix from the Terminal side. It might need a system XAML fix, which would be especially annoying.

@zadjii-msft
Copy link
Member

Oh NO. This is also gonna have to block #1571. People really want to stick their profile in nested menus. As soon as this is available, people are going to use it, and inevitably hit this. Yikes.

@sylveon
Copy link

sylveon commented Jan 19, 2021

It would be awesome if you could push internally for a fix because this is blocking on my app too.

@NeilMacMullen
Copy link

NeilMacMullen commented Feb 1, 2021

FWIW I think there is an easier repro case if you need one. Just open the context menu and move the mouse up and down...
termreproc

This is on 1.6.10272.0

@mpela81
Copy link
Contributor Author

mpela81 commented Apr 10, 2021

I suppose this is going to take some time to be fixed at the system XAML level. Considering the context menu is not so crowded at the moment, would it be bad placing the items right above the Close one, for the time being? At least people could use the feature.
immagine

@sylveon
Copy link

sylveon commented Apr 10, 2021

Seeing as the upstream issue is flagged needs-winui-3, I don't even expect it to get ever fixed in system Xaml islands (which is annoying me because I can't migrate to WinUI 3 right away it's missing features from system Xaml I rely on)

mpela81 added a commit to mpela81/terminal that referenced this issue Apr 16, 2021
Do not add a submenu until microsoft#8238 crash is fixed.
@ghost ghost added the In-PR This issue has a related PR label Apr 16, 2021
@mpela81
Copy link
Contributor Author

mpela81 commented Apr 16, 2021

Considering the context menu is not so crowded at the moment, would it be bad placing the items right above the Close one, for the time being? At least people could use the feature.

I'm sending a PR for this, feel free to throw it away if you don't like it 😄

@ghost ghost closed this as completed in #9859 Apr 21, 2021
@ghost ghost added Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. and removed In-PR This issue has a related PR labels Apr 21, 2021
ghost pushed a commit that referenced this issue Apr 21, 2021
## Summary of the Pull Request
Add the "Close other tabs"/"Close tabs to the right" menu items straight to the tab context menu to work around #8238.
We can't add them into a dedicated sub-menu until the upstream crash is fixed.

## References
#8238 

## PR Checklist
* [X] Closes #8238
* [X] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA
* [ ] Tests added/passed
* [ ] Documentation updated
* [ ] Schema updated.
* [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. 

## Detailed Description of the Pull Request / Additional comments
Moved the creation of the close menu items to a single function. Once the originating crash is fixed, the sub-menu can be restored by just replacing a few lines of code.

## Validation Steps Performed
![immagine](https://user-images.githubusercontent.com/1140981/115059601-0dbc2480-9ee7-11eb-9889-d9ef8e6e7613.png)
DHowett pushed a commit that referenced this issue May 14, 2021
## Summary of the Pull Request
Add the "Close other tabs"/"Close tabs to the right" menu items straight to the tab context menu to work around #8238.
We can't add them into a dedicated sub-menu until the upstream crash is fixed.

## References
#8238

## PR Checklist
* [X] Closes #8238
* [X] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA
* [ ] Tests added/passed
* [ ] Documentation updated
* [ ] Schema updated.
* [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan.

## Detailed Description of the Pull Request / Additional comments
Moved the creation of the close menu items to a single function. Once the originating crash is fixed, the sub-menu can be restored by just replacing a few lines of code.

## Validation Steps Performed
![immagine](https://user-images.githubusercontent.com/1140981/115059601-0dbc2480-9ee7-11eb-9889-d9ef8e6e7613.png)

(cherry picked from commit 2065fa7)
DHowett pushed a commit that referenced this issue May 14, 2021
Add the "Close other tabs"/"Close tabs to the right" menu items straight to the tab context menu to work around #8238.
We can't add them into a dedicated sub-menu until the upstream crash is fixed.

* [X] Closes #8238
* [X] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA
* [ ] Tests added/passed
* [ ] Documentation updated
* [ ] Schema updated.
* [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan.

Moved the creation of the close menu items to a single function. Once the originating crash is fixed, the sub-menu can be restored by just replacing a few lines of code.

![immagine](https://user-images.githubusercontent.com/1140981/115059601-0dbc2480-9ee7-11eb-9889-d9ef8e6e7613.png)

(cherry picked from commit 2065fa7)
(cherry picked from commit c4e02e7)
DHowett pushed a commit that referenced this issue May 14, 2021
Add the "Close other tabs"/"Close tabs to the right" menu items straight to the tab context menu to work around #8238.
We can't add them into a dedicated sub-menu until the upstream crash is fixed.

* [X] Closes #8238
* [X] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA
* [ ] Tests added/passed
* [ ] Documentation updated
* [ ] Schema updated.
* [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan.

Moved the creation of the close menu items to a single function. Once the originating crash is fixed, the sub-menu can be restored by just replacing a few lines of code.

![immagine](https://user-images.githubusercontent.com/1140981/115059601-0dbc2480-9ee7-11eb-9889-d9ef8e6e7613.png)

(cherry picked from commit 2065fa7)
(cherry picked from commit c4e02e7)
@ghost
Copy link

ghost commented May 25, 2021

🎉This issue was addressed in #9859, which has now been successfully released as Windows Terminal v1.8.1444.0.:tada:

Handy links:

@ghost
Copy link

ghost commented May 25, 2021

🎉This issue was addressed in #9859, which has now been successfully released as Windows Terminal Preview v1.9.1445.0.:tada:

Handy links:

DHowett pushed a commit that referenced this issue Apr 28, 2023
A resurrection of the original nested "Close" menu from #7728. We
discovered that nested flyouts crash in #8238. Those are fixed now
though! So we can bring this back.

This also includes the "Close Pane" item from #15198.
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-User Interface Issues pertaining to the user interface of the Console or Terminal Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-1 A description (P1) Product-Terminal The new Windows Terminal. Resolution-Fix-Committed Fix is checked in, but it might be 3-4 weeks until a release. Severity-Crash Crashes are real bad news.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants