Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.
This repository was archived by the owner on May 1, 2024. It is now read-only.

Crash when calling ChangeCanExecute() from non-UI thread #5679

Open
@Mikilll94

Description

@Mikilll94

Description

App crashes when running async method which triggers ChangeCanExecute(). I think this should the responsibility of the renderers to trigger any visual updates on the UI thread. The workaround for this problem is to wrap all ChangeCanExecute() in Device.BeginInvokeOnMainThread()

Steps to Reproduce

Run async methods which triggers ChangeCanExecute(). You can i.e. create a button with async Command which changes one of the binding property and this binding property raise ChangeCanExecute() in the setter.

Expected Behavior

App should not crash.

Actual Behavior

App crashes when running async method which triggers ChangeCanExecute(). The problem exists both on Android and iOS.

Basic Information

  • Version with issue: Xamarin Forms 3.6.0.264807
  • Last known good version:
  • IDE: Visual Studio 2017 15.9.4
  • Platform Target Frameworks:
    • iOS: 8.0
    • Android: 8.1

Reproduction Project

Here is a project with a repro:

App1.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    e/5 🕔5help wantedWe welcome community contributions to any issue, but these might be a good place to start!i/highCompletely doesn't work, crashes, or is unusably slow, has no obvious workaround; occurs less ofteninactiveIssue is older than 6 months and needs to be retestedt/bug 🐛up-for-grabsWe welcome community contributions to any issue, but these might be a good place to start!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions