microsoft / microsoft/AdaptiveCards

Widgets: Adaptive Card template payloads can crash Widget board

Open
#9,343 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
2k
Forks
595
Avg merge
1d 19h
Merged PRs (30d)
1

Description

Describe the bug

Some JSON payloads for the Widget can crash the Widget board:

Faulting application name: WidgetBoard.exe, version: 525.15301.20.0, time stamp: 0x684c70e2
Faulting module name: Microsoft.UI.Xaml.dll, version: 3.1.6.0, time stamp: 0x42eb15d1
Exception code: 0xc000027b
Fault offset: 0x000000000000a310
Faulting process id: 0x5A50
Faulting application start time: 0x1DBE9209FCB20E1
Faulting application path: C:\Program Files\WindowsApps\MicrosoftWindows.Client.WebExperience_525.15301.20.0_arm64__cw5n1h2txyewy\WidgetBoard.exe
Faulting module path: C:\Program Files\WindowsApps\Microsoft.WindowsAppRuntime.1.6_6000.519.329.0_arm64__8wekyb3d8bbwe\Microsoft.UI.Xaml.dll
Report Id: 2fc5ae18-4836-4e79-8b8c-68c78cf9c1c4
Faulting package full name: MicrosoftWindows.Client.WebExperience_525.15301.20.0_arm64__cw5n1h2txyewy
Faulting package-relative application ID: Global.WidgetBoard
Steps to reproduce the bug
  • Crash can be reproduced on a Surface Copilot Laptop at 150% display scale (no crash at 100% display scale!)
  • Run example project: test.zip
  • Add widget to widget board

This is the JSON used:

{
   "type":"AdaptiveCard",
   "$schema":"https://adaptivecards.io/schemas/adaptive-card.json",
   "version":"1.5",
   "body":[
      {
         "type":"Carousel",
         "pages":[
            {
               "type":"CarouselPage",
               "items":[
                  {
                     "type":"Container",
                     "items":[
                        {
                           "type":"ColumnSet",
                           "columns":[
                              {
                                 "type":"Column",
                                 "items":[
                                    {
                                       "type":"TextBlock",
                                       "text":"some heading",
                                       "spacing":"small"
                                    },
                                    {
                                       "type":"TextBlock",
                                       "text":"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.",
                                       "wrap":true,
                                       "maxLines":4,
                                       "size":"small"
                                    }
                                 ]
                              }
                           ]
                        }
                     ]
                  }
               ]
            }
         ]
      }
   ]
}
Expected behavior

No crash

Screenshots

No response

NuGet package version

Windows App SDK 1.7.3: 1.7.250606001

Packaging type

Packaged (MSIX)

Windows version

Windows 11 version 24H2 LTSC (26100, June Update)

IDE

Visual Studio 2022

Additional context

No response

Contributor guide

Open the contributing guide

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.

Research direction

Start by running the attached test.zip example with the provided Adaptive Card JSON, Windows App SDK 1.7.3, and a 150% display scale, then add the widget to the Widget board. Compare behavior at 100% and 150%; done means the board no longer crashes with this payload.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.