microsoft / microsoft/vscode-dotnettools

Specified ItemsSource for Maui causes OnTextHover crash

Open
#2,908 1 comment 0 reactions 1 assignee View on GitHub

@noiseonwires is already working on this.

Since Mar 19, 2026.

area-maui bug triaged vs-sync vs-syncd
Dominant language
No language data
Stars
321
Forks
54
Avg merge
2d 19h
Merged PRs (30d)
2

Description

Originally posted as https://github.com/dotnet/vscode-csharp/issues/9085 by @tom-phillips-invida

Type: Bug

Issue Description

Steps to Reproduce

Add a CollectionView to a page, specify the ItemsSource with <x:Array Type="{x:Type x:Int32}">
See the extension crashes.

Expected Behavior

No crash and ability to use hover intellisense

Actual Behavior

Crash, fails to restart

Extension version: 2.131.79
VS Code version: Code 1.111.0 (Universal) (ce099c1ed25d9eb3076c11e4a280f3eb52b4fbeb, 2026-03-06T23:06:10Z)
OS version: Darwin arm64 24.6.0
Modes:

System Info
Item Value
CPUs Apple M1 Pro (10 x 2400)
GPU Status 2d_canvas: enabled
GPU0: VENDOR= 0x106b [Google Inc. (Apple)], DEVICE=0x0000 [ANGLE (Apple, ANGLE Metal Renderer: Apple M1 Pro, Version 15.7.2 (Build 24G325))], DRIVER_VENDOR=Apple, DRIVER_VERSION=15.7.2 ACTIVE
Machine model name: MacBookPro
Machine model version: 18.3
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: enabled_on
trees_in_viz: disabled_off
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
webgpu: enabled
webnn: disabled_off
Load (avg) 5, 7, 10
Memory (System) 16.00GB (0.14GB free)
Process Argv --crash-reporter-id d102b6e2-b8e3-4611-a956-4aed0c6f0e46
Screen Reader no
VM 0%
A/B Experiments
vsliv368:30146709
binariesv615:30325510
f8hc8238:30694864
nativeloc1:31344060
dwcopilot:31170013
dwoutputs:31242946
copilot_t_ci:31333650
e5gg6876:31282496
pythonrdcb7:31342333
6518g693:31463988
aj953862:31281341
6abeh943:31336334
envsdeactivate2:31464701
cloudbuttont:31379625
aihoversummaries_f:31469309
3efgi100_wstrepl:31403338
839jf696:31457053
use-responses-api:31390855
je187915:31454425
ec5jj548:31422691
cp_cls_t_966_ss:31454198
eh16j124_selection_ratio_0:31458808
ge8j1254_inline_auto_hint_haiku:31427726
nes-autoexp-off:31446584
a5gib710:31434435
38bie571_auto:31426784
7a04d226_do_not_restore_last_panel_session:31438103
cp_cls_c_1081:31454833
ia-use-proxy-models-svc:31452481
a43f0575b:31442825
e9c30283:31461165
test_treatment2:31471001
nes-conv-2-3:31474331
control_6dc23131:31467998
idci7584:31464702
edit_mode_hidden:31461530
864ei723_large_tool_results_to_disk:31460878
notips:31471632
ei9d7968:31458072
b1f5h706:31471673
7ef87755:31458076
chat:31457767
8hig5102:31473806
rs_s140_j32:31472769
jdddd261:31472041
nes-rcnt-edit:31471617
f0268191:31471593
hover1:31474145
db0gd219:31473911
commenticon:31473926
nes-notsn-1:31475122

Stack trace from Output tab

2026-03-19 11:00:14.112 [error] Request textDocument/hover failed.
  Message: Object reference not set to an instance of an object.
  Code: -32000 
[object Object]
2026-03-19 11:00:14.993 [error] [textDocument/hover] [LSP] System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.PropertyPath.PropertyPathNode.FindItemsSourceTypeAsync(IParseContext context, XamlElement element, Boolean lookupInParentTree, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.PropertyPath.PropertyPathNode.GetBindingDataTypeForDataContextAsync(IParseContext context, XamlElement element, XamlAttribute attribute, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.PropertyPath.PropertyPathNode.GetBindingDataTypeAsync(IParseContext context, XamlMarkupExtensionNode meNode, XamlAttribute attribute, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.PropertyPath.PropertyPathNode.GetDataTypeAsync(IParseContext context, XamlAttribute attribute, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.PropertyPath.PropertyPathNode.ValidateAsync(IParseContext context, XamlAttribute attribute, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlMarkupExtensionNode.ValidateAsync(IParseContext context, XamlAttribute attribute, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlAttribute.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidateAttributesAsync(IParseContext context, Dictionary`2 setProperties, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlElement.ValidateChildrenAsync(IParseContext context, Dictionary`2 setProperties, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlElement.ValidateChildrenAsync(IParseContext context, Dictionary`2 setProperties, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlElement.ValidateChildrenAsync(IParseContext context, Dictionary`2 setProperties, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlPropertyElement.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidatePropertyElementAsync(IParseContext context, Dictionary`2 setProperties, XamlPropertyElement propertyElement, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlElement.ValidateChildrenAsync(IParseContext context, Dictionary`2 setProperties, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlElement.ValidateChildrenAsync(IParseContext context, Dictionary`2 setProperties, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlElement.ValidateChildrenAsync(IParseContext context, Dictionary`2 setProperties, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlElement.ValidateChildrenAsync(IParseContext context, Dictionary`2 setProperties, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlElement.ValidateChildrenAsync(IParseContext context, Dictionary`2 setProperties, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlPropertyElement.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidatePropertyElementAsync(IParseContext context, Dictionary`2 setProperties, XamlPropertyElement propertyElement, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlElement.ValidateChildrenAsync(IParseContext context, Dictionary`2 setProperties, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlObjectElement.ValidateAsync(IParseContext context, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlTree.ValidateAsync()
   at Microsoft.VisualStudio.Threading.AsyncLazy`1.<>c__DisplayClass20_0.<<GetValueAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlFileContext.EnsureXamlTreeAsync(CancellationToken cancellationToken, Boolean shouldValidate)
   at Microsoft.VisualStudio.DesignTools.Xaml.LanguageService.Semantics.XamlFileContext.GetHintAsync(Int32 offset, Boolean helpHint, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.CodeAnalysis.Handlers.Hover.XamlHoverHandler.GetHoverAsync(ICodeAnalysisHost host, TextDocument document, SourceText sourceText, Int32 position, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.DesignTools.CodeAnalysis.Handlers.Hover.XamlHoverHandler.HandleRequestAsync(TextDocumentPositionParams request, XamlRequestContext context, CancellationToken cancellationToken)
   at Microsoft.CommonLanguageServerProtocol.Framework.QueueItem`1.StartRequestAsync[TRequest,TResponse](TRequest request, TRequestContext context, IMethodHandler handler, CancellationToken cancellationToken)
2026-03-19 11:00:14.995 [error] Request textDocument/hover failed.
  Message: Object reference not set to an instance of an object.
  Code: -32000 
[object Object]

| VS Bug 2846130

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.