Xamarincommunitytoolkit: [Bug] Crash: SIGABRT: Default constructor not found for type Xamarin.CommunityToolkit.iOS.Effects.SafeAreaEffectRouter

Created on 9 Oct 2020  路  7Comments  路  Source: xamarin/XamarinCommunityToolkit

Description

Steps to Reproduce

  1. Add an XCT safe area effect, say: <StackLayout xcteffects:SafeAreaEffect.SafeArea="True">
  2. Run on an ACTUAL device
  3. It crashes with "SIGABRT: Default constructor not found for type Xamarin.CommunityToolkit.iOS.Effects.SafeAreaEffectRouter"

Expected Behavior

It shouldn't crash.

Actual Behavior

It crashes.

Basic Information

  • Version with issue: All XCT versions
  • Nuget Packages: All Xamarin.Forms versions

Workaround

Don't use XCT.

Guys, this is the third blocker (https://github.com/xamarin/XamarinCommunityToolkit/issues/367, https://github.com/xamarin/XamarinCommunityToolkit/issues/368) when running on or building for an actual device.
I don't want to sound impolite, but has anyone actually run anything built with XCT on an actual device? I am wondering because XCT is touted as the upgrade path for certain features in XF 5, and this is starting to make me a bit uneasy.

Thanks.

Linker effects bug iOS unverified

Most helpful comment

Correct. Should be in the next nightly!

All 7 comments

@Tommigun1980

Guys, this is the third blocker (#367, #368) when running on or building for an actual device.
I don't want to sound impolite, but has anyone actually run anything built with XCT on an actual device? I am wondering because XCT is touted as the upgrade path for certain features in XF 5, and this is starting to make me a bit uneasy.

I also don't want to sound impolite, but you realize this is a pre-release, right? Which will not mean that there won't be anything in here by the time we release, but I don't see why you would mention this so explicitly at this time. I think it's to be expected whenever you start digging into pre-releases that there will be errors.

In fact, we appreciate that you are using these pre-releases, because this means other people can find this things and they will be fixed before a stable version comes out.

@Tommigun1980

Guys, this is the third blocker (#367, #368) when running on or building for an actual device.
I don't want to sound impolite, but has anyone actually run anything built with XCT on an actual device? I am wondering because XCT is touted as the upgrade path for certain features in XF 5, and this is starting to make me a bit uneasy.

I also don't want to sound impolite, but you realize this is a pre-release, right? Which will not mean that there won't be anything in here by the time we release, but I don't see why you would mention this so explicitly at this time. I think it's to be expected whenever you start digging into pre-releases that there will be errors.

In fact, we appreciate that you are using these pre-releases, because this means other people can find this things and they will be fixed before a stable version comes out.

It is a pre-release, but it's also the upgrade path for Xamarin.Forms 5. XF 5 is already in pre2 release and XCT doesn't work with XF5 when deployed on a device. As Microsoft has selected XCT as the continuation of support for certain features in XF I think it should go throug added scrutiny, and the process should involve someone testing compatibility between the versions.

Hello. I tested the latest bleeding edge version of XCT and unfortunately this crash still happens. The other crash issues I reported have been fixed so thanks for that!

Here is a full stack trace of the error:

AppMainPage.InitializeComponent (): SIGABRT: Default constructor not found for type Xamarin.CommunityToolkit.iOS.Effects.SafeAreaEffectRouter

RuntimeType.CreateInstanceMono (System.Boolean nonPublic, System.Boolean wrapExceptions)
RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Boolean wrapExceptions, System.Threading.StackCrawlMark& stackMark)
Activator.CreateInstance (System.Type type, System.Boolean nonPublic, System.Boolean wrapExceptions)
Activator.CreateInstance (System.Type type)
DependencyResolver.ResolveOrCreate (System.Type type, System.Object source, System.Type visualType, System.Object[] args)
DependencyResolver.ResolveOrCreate (System.Type type)
AppMainPage.InitializeComponent ()
MyApp.Views.Main.AppMainPage..ctor () <0x101f09dc0 + 0x00037> in <bd484e6e25224ab3a7ab4c17d9bbb9ec#0dd94c63e4c843c22632221cd660ec61>:0
ResumeSessionPage.GoToNext ()
ResumeSessionPage+<>c__DisplayClass13_0.<CreateVm>b__3 ()
AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state)
Application.Main (System.String[] args)

Hi @pictos and thanks so much for fixing this!!

I tested the latest nightly build, 1.0.0-preview1071, and it still crashes. I guess your fix was not merged into that release yet?

Thank you again.

Correct. Should be in the next nightly!

Thank you.

A new nightly was just released and I can confirm the issue is fixed.

Thanks @pictos and @jfversluis for fixing all the release build issues with Xamarin.Forms 5, great stuff! 鉂わ笍

Thank you for testing our preview releases. I hope that now you don't see any linker issues but if happens just let me know (:

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mhrastegary77 picture mhrastegary77  路  3Comments

jsmarcus picture jsmarcus  路  5Comments

jfversluis picture jfversluis  路  5Comments

jvlppm picture jvlppm  路  6Comments

Char0394 picture Char0394  路  6Comments