-
Notifications
You must be signed in to change notification settings - Fork 27.9k
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
Uncaught TypeError: Cannot read property 'size' of undefined #43475
Comments
@cleidigh fyi this came in as error telemetry |
@bpasero is there any way to get more information on this? |
@cleidigh no, not more than the stack is what we have |
We might fix it with #44368 |
The bug is in here. What happens if |
@joaomoreno As I mentioned in the other issue #45078 (same case and some were description) the root cause it's not the Focus, it's the fact that we somehow end up with a misconfigured list. I don't want to fix this with just a null check since it would still leave us with an error and an empty select box. I can now reproduce this thanks to @IlyaBiryukov . I'm looking at the sequence now to see how the other terminals get destroyed incorrectly. |
@Tyriar The terminal index remains correct if the terminal created by the extension has focus when disposed. Some of the behavior is in _removeTab but I don't think this is where it should be fixed. I don't want to make any assumptions on this so I wanted your insight/determination on where to be fixed. Simplest reproduction:
|
@bpasero
I did a fair amount of trace and debugging (see above) and I am confident I wanted to add a new notification but I cannot call from the widget due to layering it's not clear to me yet if #45300 @Tyriar references, but I bet he is correct and this is a related issue. a force fix bounds checking selected and setting to zero can take care of the issue of the extension removing the terminal. This ends up making the active terminal somewhat arbitrary and it is not the root cause of the problem. I think I need some guidance on your best practices for error handling (telemetry, console and/or notifications) understanding the way you guys like to do this is key for future submissions. I also need to know how you want to handle the clients, @Tyriar I don't think I know enough to fundamentally change your terminal instance handling. |
@cleidigh I'm a bit swamped at the moment but I'll try get to this for March |
@Tyriar do you agree? regardless I'll keep pecking away at it /-;) |
Fixed With #47445 |
Issue Id: 6297e0aa-6693-c1dc-1a92-9880326445ab
Versions
- 1.20.0
- 5190885
- f2b2109
Stack
TypeError: Cannot read property 'size' of undefined
/vs/base/browser/ui/list/listView.ts#L228:27 (size)
/vs/base/browser/ui/list/listWidget.ts#L967:34 (elementHeight)
/vs/base/browser/ui/selectBox/selectBoxCustom.ts#L413:19 (reveal)
/vs/base/browser/ui/selectBox/selectBoxCustom.ts#L377:7 (layoutSelectDropDown)
/vs/base/browser/ui/selectBox/selectBoxCustom.ts#L353:53 (renderSelectDropDown)
/vs/base/browser/ui/contextview/contextview.ts#L156:35 (render)
/vs/platform/contextview/browser/contextViewService.ts#L36:19 (show)
/vs/base/browser/ui/selectBox/selectBoxCustom.ts#L351:27 (showContextView)
/vs/base/browser/ui/selectBox/selectBoxCustom.ts#L160:9 (showSelectDropDown)
The text was updated successfully, but these errors were encountered: