Skip to content
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

[ios] Crash assembler_arm64.h: 218: error: unreachable code #50671

Closed
dnys1 opened this issue Dec 9, 2022 · 1 comment
Closed

[ios] Crash assembler_arm64.h: 218: error: unreachable code #50671

dnys1 opened this issue Dec 9, 2022 · 1 comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.

Comments

@dnys1
Copy link
Contributor

dnys1 commented Dec 9, 2022

Receiving crash reports in Flutter apps on iOS (real device + simulators). Seems to be due to runtime generic argument assertions. I did try to reproduce based on the code which is responsible for the crash and the stack trace, but was unsuccessful.

Report 1
../../third_party/dart/runtime/vm/compiler/assembler/assembler_arm64.h: 218: error: unreachable code
version=2.17.6 (stable) (Tue Jul 12 12:54:37 2022 +0200) on "ios_arm64"
pid=63023, thread=42499, isolate_group=main(0x11d010600), isolate=main(0x11d00d800)
isolate_instructions=107a83a00, vm_instructions=107a83a00
  pc 0x00000001083fb810 fp 0x000000016b216290 Dart_DumpNativeStackTrace+0x18
  pc 0x0000000107fe4f34 fp 0x000000016b2162b0 dart::Assert::Fail(char const*, ...) const+0x30
  pc 0x0000000108263b50 fp 0x000000016b216390 dart::AssertAssignableInstr::EmitNativeCode(dart::FlowGraphCompiler*)+0x8c8
  pc 0x0000000108308e40 fp 0x000000016b2165b0 dart::CompilerPass_GenerateCode::DoBody(dart::CompilerPassState*) const+0x17c8
  pc 0x000000010831a6ec fp 0x000000016b2166b0 dart::CompilerPass::Run(dart::CompilerPassState*) const+0x1cc
  pc 0x00000001081f9b44 fp 0x000000016b217110 dart::CompileParsedFunctionHelper::Compile(dart::CompilationPipeline*)+0x195c
  pc 0x00000001081fb208 fp 0x000000016b217360 dart::CompileFunctionHelper(dart::CompilationPipeline*, dart::Function const&, bool, long)+0x658
  pc 0x00000001081faae0 fp 0x000000016b217400 dart::Compiler::CompileFunction(dart::Thread*, dart::Function const&)+0x2b0
  pc 0x00000001080fb15c fp 0x000000016b217460 dart::Function::EnsureHasCode() const+0x58
  pc 0x00000001081f4fa0 fp 0x000000016b217500 dart::DRT_CompileFunction(dart::NativeArguments)+0x18c
  pc 0x000000010d702a4c fp 0x000000016b217540 Unknown symbol
  pc 0x000000010d702ad0 fp 0x000000016b217570 Unknown symbol
  pc 0x000000012ae83f64 fp 0x000000016b2175e0 Unknown symbol
  pc 0x0000000123aec1ac fp 0x000000016b217628 Unknown symbol
  pc 0x0000000123aebdfc fp 0x000000016b2176a0 Unknown symbol
  pc 0x0000000123aebc0c fp 0x000000016b217708 Unknown symbol
  pc 0x0000000123aeb7b4 fp 0x000000016b2177a0 Unknown symbol
  pc 0x0000000123aeb28c fp 0x000000016b2177f0 Unknown symbol
  pc 0x0000000123aeae9c fp 0x000000016b217850 Unknown symbol
  pc 0x0000000123ae9df0 fp 0x000000016b2178d0 Unknown symbol
  pc 0x0000000123ae84d0 fp 0x000000016b217918 Unknown symbol
  pc 0x0000000123aec314 fp 0x000000016b217950 Unknown symbol
  pc 0x000000012aedbecc fp 0x000000016b2179b8 Unknown symbol
  pc 0x0000000123aec1ac fp 0x000000016b217a00 Unknown symbol
  pc 0x0000000123aebdfc fp 0x000000016b217a78 Unknown symbol
  pc 0x0000000123aebc0c fp 0x000000016b217ae0 Unknown symbol
  pc 0x0000000123aeb7b4 fp 0x000000016b217b78 Unknown symbol
  pc 0x0000000123aeb28c fp 0x000000016b217bc8 Unknown symbol
  pc 0x0000000123aeae9c fp 0x000000016b217c28 Unknown symbol
  pc 0x0000000123ae9df0 fp 0x000000016b217ca8 Unknown symbol
  pc 0x0000000123ae84d0 fp 0x000000016b217cf0 Unknown symbol
  pc 0x0000000123ae73d4 fp 0x000000016b217d30 Unknown symbol
  pc 0x000000012aee6f28 fp 0x000000016b217da0 Unknown symbol
  pc 0x0000000123aec1ac fp 0x000000016b217de8 Unknown symbol
  pc 0x0000000123aebdfc fp 0x000000016b217e60 Unknown symbol
  pc 0x0000000123aebc0c fp 0x000000016b217ec8 Unknown symbol
  pc 0x0000000123aeb7b4 fp 0x000000016b217f60 Unknown symbol
  pc 0x0000000123aeb28c fp 0x000000016b217fb0 Unknown symbol
  pc 0x0000000123aeae9c fp 0x000000016b218010 Unknown symbol
  pc 0x0000000123ae9df0 fp 0x000000016b218090 Unknown symbol
  pc 0x0000000123ae84d0 fp 0x000000016b2180d8 Unknown symbol
  pc 0x0000000123aec314 fp 0x000000016b218110 Unknown symbol
  pc 0x000000012aef50d4 fp 0x000000016b218178 Unknown symbol
  pc 0x0000000123aec1ac fp 0x000000016b2181c0 Unknown symbol
  pc 0x0000000123aebdfc fp 0x000000016b218238 Unknown symbol
  pc 0x0000000123aebc0c fp 0x000000016b2182a0 Unknown symbol
  pc 0x0000000123aeb7b4 fp 0x000000016b218338 Unknown symbol
  pc 0x0000000123aeb28c fp 0x000000016b218388 Unknown symbol
  pc 0x0000000123aeae9c fp 0x000000016b2183e8 Unknown symbol
  pc 0x0000000123ae9df0 fp 0x000000016b218468 Unknown symbol
  pc 0x0000000123ae84d0 fp 0x000000016b2184b0 Unknown symbol
  pc 0x0000000123ae81a4 fp 0x000000016b2184f0 Unknown symbol
  pc 0x0000000118443cfc fp 0x000000016b218560 Unknown symbol
  pc 0x0000000118443974 fp 0x000000016b2185c0 Unknown symbol
  pc 0x000000011844308c fp 0x000000016b218650 Unknown symbol
  pc 0x0000000123ae04e4 fp 0x000000016b2186c0 Unknown symbol
  pc 0x0000000123ae0394 fp 0x000000016b218700 Unknown symbol
  pc 0x0000000123ae0074 fp 0x000000016b218748 Unknown symbol
  pc 0x0000000123adfc04 fp 0x000000016b218788 Unknown symbol
  pc 0x0000000123adfafc fp 0x000000016b2187b0 Unknown symbol
  pc 0x000000010d702fc8 fp 0x000000016b218880 Unknown symbol
  pc 0x000000010803b7c0 fp 0x000000016b218d20 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)+0x2a4
  pc 0x00000001083f4bdc fp 0x000000016b218e40 Dart_InvokeClosure+0x618
  pc 0x0000000107e81240 fp 0x000000016b218ed0 tonic::DartMicrotaskQueue::RunMicrotasks()+0x8c
  pc 0x0000000107d82348 fp 0x000000016b219020 fml::MessageLoopImpl::FlushTasks(fml::FlushType)+0x80c
  pc 0x0000000107d85c8c fp 0x000000016b219040 fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*)+0x20
  pc 0x000000018d5d01c0 fp 0x000000016b219050 <redacted>+0x1c
  pc 0x000000018d5cfedc fp 0x000000016b21a100 <redacted>+0x370
  pc 0x000000018d5cf5b8 fp 0x000000016b21a190 <redacted>+0x114
  pc 0x000000018d5ca5c8 fp 0x000000016b21aeb0 <redacted>+0x668
  pc 0x000000018d5c9c34 fp 0x000000016b21af40 CFRunLoopRunSpecific+0x1a8
  pc 0x0000000107d85b5c fp 0x000000016b21af80 fml::MessageLoopDarwin::Run()+0x58
  pc 0x0000000107d84c18 fp 0x000000016b21afc0 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0> >(void*)+0xd0
  pc 0x000000018d367d98 fp 0x000000016b21afe0 _pthread_start+0x9c
-- End of DumpStackTrace
  pc 0x0000000000000000 fp 0x000000016b217540 sp 0x0000000000000000 [Stub] CallToRuntime
  pc 0x000000010d702ad0 fp 0x000000016b217570 sp 0x000000016b217550 [Stub] LazyCompile
  pc 0x000000012ae83f64 fp 0x000000016b2175e0 sp 0x000000016b217580 [Unoptimized] _MeUpdatePageState@1096235208._pickImageClick@1096235208
  pc 0x0000000123aec1ac fp 0x000000016b217628 sp 0x000000016b2175f0 [Unoptimized] _asyncThenWrapperHelper@4048458.thenWrapper
  pc 0x0000000123aebdfc fp 0x000000016b2176a0 sp 0x000000016b217638 [Unoptimized] _rootRunUnary@4048458
  pc 0x0000000123aebc0c fp 0x000000016b217708 sp 0x000000016b2176b0 [Unoptimized] _rootRunUnary@4048458
  pc 0x0000000123aeb7b4 fp 0x000000016b2177a0 sp 0x000000016b217718 [Unoptimized] _CustomZone@4048458.runUnary
  pc 0x0000000123aeb28c fp 0x000000016b2177f0 sp 0x000000016b2177b0 [Unoptimized] _FutureListener@4048458.handleValue
  pc 0x0000000123aeae9c fp 0x000000016b217850 sp 0x000000016b217800 [Unoptimized] _Future@4048458._propagateToListeners@4048458.handleValueCallback
  pc 0x0000000123ae9df0 fp 0x000000016b2178d0 sp 0x000000016b217860 [Unoptimized] _Future@4048458._propagateToListeners@4048458
  pc 0x0000000123ae84d0 fp 0x000000016b217918 sp 0x000000016b2178e0 [Unoptimized] _Future@4048458._completeWithValue@4048458
  pc 0x0000000123aec314 fp 0x000000016b217950 sp 0x000000016b217928 [Unoptimized] _completeWithNoFutureOnAsyncReturn@4048458
  pc 0x000000012aedbecc fp 0x000000016b2179b8 sp 0x000000016b217960 [Unoptimized] uploadImage
  pc 0x0000000123aec1ac fp 0x000000016b217a00 sp 0x000000016b2179c8 [Unoptimized] _asyncThenWrapperHelper@4048458.thenWrapper
  pc 0x0000000123aebdfc fp 0x000000016b217a78 sp 0x000000016b217a10 [Unoptimized] _rootRunUnary@4048458
  pc 0x0000000123aebc0c fp 0x000000016b217ae0 sp 0x000000016b217a88 [Unoptimized] _rootRunUnary@4048458
  pc 0x0000000123aeb7b4 fp 0x000000016b217b78 sp 0x000000016b217af0 [Unoptimized] _CustomZone@4048458.runUnary
  pc 0x0000000123aeb28c fp 0x000000016b217bc8 sp 0x000000016b217b88 [Unoptimized] _FutureListener@4048458.handleValue
  pc 0x0000000123aeae9c fp 0x000000016b217c28 sp 0x000000016b217bd8 [Unoptimized] _Future@4048458._propagateToListeners@4048458.handleValueCallback
  pc 0x0000000123ae9df0 fp 0x000000016b217ca8 sp 0x000000016b217c38 [Unoptimized] _Future@4048458._propagateToListeners@4048458
  pc 0x0000000123ae84d0 fp 0x000000016b217cf0 sp 0x000000016b217cb8 [Unoptimized] _Future@4048458._completeWithValue@4048458
  pc 0x0000000123ae73d4 fp 0x000000016b217d30 sp 0x000000016b217d00 [Unoptimized] _completeOnAsyncReturn@4048458
  pc 0x000000012aee6f28 fp 0x000000016b217da0 sp 0x000000016b217d40 [Unoptimized] _withClient@162447473
  pc 0x0000000123aec1ac fp 0x000000016b217de8 sp 0x000000016b217db0 [Unoptimized] _asyncThenWrapperHelper@4048458.thenWrapper
  pc 0x0000000123aebdfc fp 0x000000016b217e60 sp 0x000000016b217df8 [Unoptimized] _rootRunUnary@4048458
  pc 0x0000000123aebc0c fp 0x000000016b217ec8 sp 0x000000016b217e70 [Unoptimized] _rootRunUnary@4048458
  pc 0x0000000123aeb7b4 fp 0x000000016b217f60 sp 0x000000016b217ed8 [Unoptimized] _CustomZone@4048458.runUnary
  pc 0x0000000123aeb28c fp 0x000000016b217fb0 sp 0x000000016b217f70 [Unoptimized] _FutureListener@4048458.handleValue
  pc 0x0000000123aeae9c fp 0x000000016b218010 sp 0x000000016b217fc0 [Unoptimized] _Future@4048458._propagateToListeners@4048458.handleValueCallback
  pc 0x0000000123ae9df0 fp 0x000000016b218090 sp 0x000000016b218020 [Unoptimized] _Future@4048458._propagateToListeners@4048458
  pc 0x0000000123ae84d0 fp 0x000000016b2180d8 sp 0x000000016b2180a0 [Unoptimized] _Future@4048458._completeWithValue@4048458
  pc 0x0000000123aec314 fp 0x000000016b218110 sp 0x000000016b2180e8 [Unoptimized] _completeWithNoFutureOnAsyncReturn@4048458
  pc 0x000000012aef50d4 fp 0x000000016b218178 sp 0x000000016b218120 [Unoptimized] Response.fromStream
  pc 0x0000000123aec1ac fp 0x000000016b2181c0 sp 0x000000016b218188 [Unoptimized] _asyncThenWrapperHelper@4048458.thenWrapper
  pc 0x0000000123aebdfc fp 0x000000016b218238 sp 0x000000016b2181d0 [Unoptimized] _rootRunUnary@4048458
  pc 0x0000000123aebc0c fp 0x000000016b2182a0 sp 0x000000016b218248 [Unoptimized] _rootRunUnary@4048458
  pc 0x0000000123aeb7b4 fp 0x000000016b218338 sp 0x000000016b2182b0 [Unoptimized] _CustomZone@4048458.runUnary
  pc 0x0000000123aeb28c fp 0x000000016b218388 sp 0x000000016b218348 [Unoptimized] _FutureListener@4048458.handleValue
  pc 0x0000000123aeae9c fp 0x000000016b2183e8 sp 0x000000016b218398 [Unoptimized] _Future@4048458._propagateToListeners@4048458.handleValueCallback
  pc 0x0000000123ae9df0 fp 0x000000016b218468 sp 0x000000016b2183f8 [Unoptimized] _Future@4048458._propagateToListeners@4048458
  pc 0x0000000123ae84d0 fp 0x000000016b2184b0 sp 0x000000016b218478 [Unoptimized] _Future@4048458._completeWithValue@4048458
  pc 0x0000000123ae81a4 fp 0x000000016b2184f0 sp 0x000000016b2184c0 [Unoptimized] _Future@4048458._asyncCompleteWithValue@4048458.<anonymous closure>
  pc 0x0000000118443cfc fp 0x000000016b218560 sp 0x000000016b218500 [Unoptimized] _rootRun@4048458
  pc 0x0000000118443974 fp 0x000000016b2185c0 sp 0x000000016b218570 [Unoptimized] _rootRun@4048458
  pc 0x000000011844308c fp 0x000000016b218650 sp 0x000000016b2185d0 [Unoptimized] _CustomZone@4048458.run
  pc 0x0000000123ae04e4 fp 0x000000016b2186c0 sp 0x000000016b218660 [Unoptimized] _CustomZone@4048458.runGuarded
  pc 0x0000000123ae0394 fp 0x000000016b218700 sp 0x000000016b2186d0 [Unoptimized] _CustomZone@4048458.bindCallbackGuarded.<anonymous closure>
  pc 0x0000000123ae0074 fp 0x000000016b218748 sp 0x000000016b218710 [Unoptimized] _microtaskLoop@4048458
  pc 0x0000000123adfc04 fp 0x000000016b218788 sp 0x000000016b218758 [Unoptimized] _startMicrotaskLoop@4048458
  pc 0x0000000123adfafc fp 0x000000016b2187b0 sp 0x000000016b218798 [Unoptimized] _startMicrotaskLoop@4048458
  pc 0x000000010d702fc8 fp 0x000000016b218880 sp 0x000000016b2187c0 [Stub] InvokeDartCode
=== Crash occured when compiling package:amplify_core/src/category/amplify_auth_category.dart_AuthCategory_updateUserAttribute in unoptimized JIT mode in GenerateCode pass
=== When compiling block B9[target]:84
=== When compiling instruction t0 <- AssertAssignable:56(t0, t1, 'options', instantiator_type_args(t2), function_type_args(t3))
*** BEGIN CFG
GenerateCode
==== package:amplify_core/src/category/amplify_auth_category.dart_AuthCategory_updateUserAttribute (RegularFunction)
B0[graph]:0
B1[function entry]:2
    t0 <- Constant(#0)
    StoreLocal(:entry_points_temp @-7, t0)
    goto:72 B6
B7[function entry]:74
    t0 <- Constant(#2)
    StoreLocal(:entry_points_temp @-7, t0)
    goto:76 B6
B6[join]:70 pred(B1, B7)
    t0 <- LoadLocal(:arg_desc @-4)
    t0 <- LoadField(t0 . ArgumentsDescriptor.positional_count {final})
    t1 <- LoadLocal(:arg_desc @-4)
    t1 <- LoadField(t1 . ArgumentsDescriptor.count {final})
    t2 <- LoadLocal(:t1 @-10)
    t3 <- Constant(#1)
    t2 <- BinarySmiOp:4(- [tr], t2, t3)
    t3 <- LoadLocal(:t2 @-11)
    t3 <- LoadIndexedUnsafe(fp[t3 + 16]) T{*?}
    StoreLocal(this @0, t3)
    t3 <- Constant(#0)
    StoreLocal(:expr_temp @-6, t3)
    t3 <- Constant(#2)
    t4 <- LoadLocal(:expr_temp @-6)
    t3 <- BinarySmiOp:6(* [tr], t3, t4)

    t4 <- LoadLocal(:arg_desc @-4) T{*?}
    t5 <- Constant(#4)
    t6 <- LoadLocal(:t3 @-12)
    t5 <- BinarySmiOp:14(+ [tr], t5, t6)
    t4 <- LoadIndexed(t4, t5) T{*?}
    t5 <- Constant(#options)
    Branch if StrictCompare:16(===, t4, t5) goto (2, 3)
B2[target]:20
    t4 <- LoadLocal(:t1 @-10)
    t5 <- LoadLocal(:arg_desc @-4)
    t6 <- Constant(#5)
    t7 <- LoadLocal(:t3 @-12)
    t6 <- BinarySmiOp:8(+ [tr], t6, t7)
    t5 <- LoadIndexed(t5, t6)
    t4 <- BinarySmiOp:10(- [tr], t4, t5)
    t4 <- LoadIndexedUnsafe(fp[t4 + 8]) T{*?}
    StoreLocal(options @-3, t4)
    t4 <- LoadLocal(:expr_temp @-6)
    t5 <- Constant(#1)
    t4 <- BinarySmiOp:12(+ [tr], t4, t5)
    StoreLocal(:expr_temp @-6, t4)
    goto:26 B4
B3[target]:22
    t4 <- Constant(#null)
    StoreLocal(options @-3, t4)
    goto:28 B4
B4[join]:24 pred(B2, B3)
    DropTemps(1)
    t3 <- Constant(#2)
    t4 <- LoadLocal(:expr_temp @-6)
    t3 <- BinarySmiOp:30(* [tr], t3, t4)
    t4 <- LoadLocal(:t1 @-10)
    t5 <- LoadLocal(:arg_desc @-4)
    t6 <- Constant(#5)
    t7 <- LoadLocal(:t3 @-12)
    t6 <- BinarySmiOp:32(+ [tr], t6, t7)
    t5 <- LoadIndexed(t5, t6)
    t4 <- BinarySmiOp:34(- [tr], t4, t5)
    t4 <- LoadIndexedUnsafe(fp[t4 + 8]) T{*?}
    StoreLocal(userAttributeKey @-1, t4)
    t4 <- LoadLocal(:expr_temp @-6)
    t5 <- Constant(#1)
    t4 <- BinarySmiOp:36(+ [tr], t4, t5)
    StoreLocal(:expr_temp @-6, t4)
    DropTemps(1)
    t3 <- Constant(#2)
    t4 <- LoadLocal(:expr_temp @-6)
    t3 <- BinarySmiOp:38(* [tr], t3, t4)
    t4 <- LoadLocal(:t1 @-10)
    t5 <- LoadLocal(:arg_desc @-4)
    t6 <- Constant(#5)
    t7 <- LoadLocal(:t3 @-12)
    t6 <- BinarySmiOp:40(+ [tr], t6, t7)
    t5 <- LoadIndexed(t5, t6)
    t4 <- BinarySmiOp:42(- [tr], t4, t5)
    t4 <- LoadIndexedUnsafe(fp[t4 + 8]) T{String}
    StoreLocal(value @-2, t4)
    t4 <- LoadLocal(:expr_temp @-6)
    t5 <- Constant(#1)
    t4 <- BinarySmiOp:44(+ [tr], t4, t5)
    StoreLocal(:expr_temp @-6, t4)
    DropTemps(1)
    DropTemps(1)
    DropTemps(1)
    DropTemps(1)
    goto:48 B5
B5[join]:46 pred(B4)
    CheckStackOverflow:50(stack=0, loop=0)
    DebugStepCheck:52()
    t0 <- LoadLocal(:entry_points_temp @-7)
    DropTemps(1)
    t0 <- LoadLocal(:entry_points_temp @-7) T{*?}
    t1 <- Constant(#2)
    Branch if StrictCompare:78(===, t0, t1) goto (8, 9)
B8[target]:82
    goto:90 B10
B9[target]:84
    t0 <- LoadLocal(userAttributeKey @-1) T{*?}
    t1 <- Constant(#TypeParameter: C1X1; bound: UserAttributeKey)
    t2 <- LoadLocal(this @0)
    t2 <- LoadField(t2 . :type_arguments {final})
    t3 <- Constant(#null)
    t0 <- AssertAssignable:54(t0, t1, 'userAttributeKey', instantiator_type_args(t2), function_type_args(t3))
    StoreLocal(userAttributeKey @-1, t0)
    t0 <- LoadLocal(options @-3) T{*?}
    t1 <- Constant(#TypeParameter: C1X28?; bound: UpdateUserAttributeOptions)
    t2 <- LoadLocal(this @0)
    t2 <- LoadField(t2 . :type_arguments {final})
    t3 <- Constant(#null)
    t0 <- AssertAssignable:56(t0, t1, 'options', instantiator_type_args(t2), function_type_args(t3))
    StoreLocal(options @-3, t0)
    goto:88 B10
B10[join]:86 pred(B8, B9)
    t0 <- LoadLocal(this @0)
    t0 <- LoadField(t0 . :type_arguments {final})
    t1 <- Constant(#null)
    t2 <- Constant(#TypeArguments: (H2f10de2a) [TypeParameter: C1X1; bound: UserAttributeKey] [TypeParameter: C1X28; bound: UpdateUserAttributeOptions])
    t0 <- InstantiateTypeArguments:58(t2, instantiator_type_args(t0), function_type_args(t1), instantiator_class(Library:'package:amplify_core/src/category/amplify_auth_category.dart' Class: AuthCategory))
    t1 <- LoadLocal(userAttributeKey @-1)
    t2 <- LoadLocal(value @-2)
    t3 <- LoadLocal(options @-3)
    t0 <- StaticCall:60( UpdateUserAttributeRequest.<0> t0, t1, t2, t3)
    StoreLocal(request @-8, t0)
    t0 <- LoadLocal(this @0)
    t0 <- InstanceCall:62( get:plugin<0>, t0)
    t1 <- LoadLocal(request @-8)
    t0 <- InstanceCall:64( updateUserAttribute<0>, t0, t1)
    DebugStepCheck:66()
    Return:68(t0)
*** END CFG
* thread #8, name = 'io.flutter.1.ui', stop reason = signal SIGABRT
    frame #0: 0x000000018d446d88 libsystem_kernel.dylib`__pthread_kill + 8
libsystem_kernel.dylib`:
->  0x18d446d88 <+8>:  b.lo   0x18d446da4               ; <+36>
    0x18d446d8c <+12>: stp    x29, x30, [sp, #-0x10]!
    0x18d446d90 <+16>: mov    x29, sp
    0x18d446d94 <+20>: bl     0x18d425ad0               ; cerror_nocancel
Report 2
2022-11-15 13:12:43.498543-0700 Runner[94127:16697866] version=2.18.4 (stable) (Tue Nov 1 15:15:07 2022 +0000) on "ios_arm64"
2022-11-15 13:12:43.498750-0700 Runner[94127:16697866] pid=94127, thread=41731, isolate_group=main(0x11a013800), isolate=main(0x11a029800)
2022-11-15 13:12:43.498865-0700 Runner[94127:16697866] isolate_instructions=1080e2600, vm_instructions=1080e2600
2022-11-15 13:12:43.499625-0700 Runner[94127:16697866]   pc 0x00000001081f76c0 fp 0x000000016fb4e870 dart::Profiler::DumpStackTrace(void*)+0x68
2022-11-15 13:12:43.500166-0700 Runner[94127:16697866]   pc 0x00000001080e2784 fp 0x000000016fb4e890 dart::Assert::Fail(char const*, ...) const+0x28
2022-11-15 13:12:43.500592-0700 Runner[94127:16697866]   pc 0x00000001082d0194 fp 0x000000016fb4e910 dart::FlowGraphCompiler::GenerateTTSCall(dart::InstructionSource const&, long, dart::Environment*, dart::Register, dart::AbstractType const&, dart::String const&, dart::LocationSummary*)+0x0
2022-11-15 13:12:43.500984-0700 Runner[94127:16697866]   pc 0x00000001082cfca8 fp 0x000000016fb4e990 dart::FlowGraphCompiler::GenerateAssertAssignable(dart::CompileType*, dart::InstructionSource const&, long, dart::Environment*, dart::String const&, dart::LocationSummary*)+0xe0
2022-11-15 13:12:43.501357-0700 Runner[94127:16697866]   pc 0x00000001082e5300 fp 0x000000016fb4e9d0 dart::AssertAssignableInstr::EmitNativeCode(dart::FlowGraphCompiler*)+0x70
2022-11-15 13:12:43.501707-0700 Runner[94127:16697866]   pc 0x00000001082ca560 fp 0x000000016fb4eb90 dart::FlowGraphCompiler::VisitBlocks()+0x5c8
2022-11-15 13:12:43.502043-0700 Runner[94127:16697866]   pc 0x00000001082c9f40 fp 0x000000016fb4ebc0 dart::FlowGraphCompiler::CompileGraph()+0x90
2022-11-15 13:12:43.502386-0700 Runner[94127:16697866]   pc 0x00000001083584b8 fp 0x000000016fb4ebd0 dart::CompilerPass_GenerateCode::DoBody(dart::CompilerPassState*) const+0x10
2022-11-15 13:12:43.502760-0700 Runner[94127:16697866]   pc 0x00000001083574d8 fp 0x000000016fb4ecc0 dart::CompilerPass::Run(dart::CompilerPassState*) const+0x1b0
2022-11-15 13:12:43.503111-0700 Runner[94127:16697866]   pc 0x000000010827b9c4 fp 0x000000016fb4f450 dart::CompileParsedFunctionHelper::Compile(dart::CompilationPipeline*)+0x60c
2022-11-15 13:12:43.503461-0700 Runner[94127:16697866]   pc 0x000000010827c0fc fp 0x000000016fb4fb50 dart::CompileFunctionHelper(dart::CompilationPipeline*, dart::Function const&, bool, long)+0x334
2022-11-15 13:12:43.503808-0700 Runner[94127:16697866]   pc 0x000000010827bda0 fp 0x000000016fb4fbd0 dart::Compiler::CompileFunction(dart::Thread*, dart::Function const&)+0x100
2022-11-15 13:12:43.504190-0700 Runner[94127:16697866]   pc 0x00000001081a45b4 fp 0x000000016fb4fc20 dart::Function::EnsureHasCode() const+0x4c
2022-11-15 13:12:43.504552-0700 Runner[94127:16697866]   pc 0x000000010827abf8 fp 0x000000016fb501a0 dart::DRT_CompileFunction(dart::NativeArguments)+0x18c
2022-11-15 13:12:43.504663-0700 Runner[94127:16697866]   pc 0x000000011400295c fp 0x000000016fb501e8 Unknown symbol
2022-11-15 13:12:43.504806-0700 Runner[94127:16697866]   pc 0x00000001140029e0 fp 0x000000016fb50218 Unknown symbol
2022-11-15 13:12:43.504942-0700 Runner[94127:16697866]   pc 0x000000016ab097a8 fp 0x000000016fb50298 Unknown symbol
2022-11-15 13:12:43.505061-0700 Runner[94127:16697866]   pc 0x000000016ab0935c fp 0x000000016fb50310 Unknown symbol
2022-11-15 13:12:43.505178-0700 Runner[94127:16697866]   pc 0x000000016ab07e14 fp 0x000000016fb503b0 Unknown symbol
2022-11-15 13:12:43.505313-0700 Runner[94127:16697866]   pc 0x000000016ab07abc fp 0x000000016fb50400 Unknown symbol
2022-11-15 13:12:43.505448-0700 Runner[94127:16697866]   pc 0x0000000168304140 fp 0x000000016fb50450 Unknown symbol
2022-11-15 13:12:43.505572-0700 Runner[94127:16697866]   pc 0x0000000168303d40 fp 0x000000016fb50488 Unknown symbol
2022-11-15 13:12:43.505679-0700 Runner[94127:16697866]   pc 0x000000016806e6d4 fp 0x000000016fb50548 Unknown symbol
2022-11-15 13:12:43.505798-0700 Runner[94127:16697866]   pc 0x0000000168302994 fp 0x000000016fb505d0 Unknown symbol
2022-11-15 13:12:43.505991-0700 Runner[94127:16697866]   pc 0x000000016806a9a4 fp 0x000000016fb50620 Unknown symbol
2022-11-15 13:12:43.506124-0700 Runner[94127:16697866]   pc 0x000000016806cad4 fp 0x000000016fb50658 Unknown symbol
2022-11-15 13:12:43.506230-0700 Runner[94127:16697866]   pc 0x000000016806bc38 fp 0x000000016fb506a8 Unknown symbol
2022-11-15 13:12:43.506344-0700 Runner[94127:16697866]   pc 0x000000016805d0a0 fp 0x000000016fb506f0 Unknown symbol
2022-11-15 13:12:43.506465-0700 Runner[94127:16697866]   pc 0x0000000168041d3c fp 0x000000016fb50770 Unknown symbol
2022-11-15 13:12:43.506592-0700 Runner[94127:16697866]   pc 0x0000000168040cb8 fp 0x000000016fb507c0 Unknown symbol
2022-11-15 13:12:43.506720-0700 Runner[94127:16697866]   pc 0x0000000168040500 fp 0x000000016fb50810 Unknown symbol
2022-11-15 13:12:43.506846-0700 Runner[94127:16697866]   pc 0x000000016803d51c fp 0x000000016fb50850 Unknown symbol
2022-11-15 13:12:43.506969-0700 Runner[94127:16697866]   pc 0x000000014d10728c fp 0x000000016fb50890 Unknown symbol
2022-11-15 13:12:43.507084-0700 Runner[94127:16697866]   pc 0x000000016802c9e4 fp 0x000000016fb508c8 Unknown symbol
2022-11-15 13:12:43.507197-0700 Runner[94127:16697866]   pc 0x000000014ee22708 fp 0x000000016fb50908 Unknown symbol
2022-11-15 13:12:43.507303-0700 Runner[94127:16697866]   pc 0x000000011e3b8fec fp 0x000000016fb50958 Unknown symbol
2022-11-15 13:12:43.507450-0700 Runner[94127:16697866]   pc 0x000000016802570c fp 0x000000016fb509a8 Unknown symbol
2022-11-15 13:12:43.507595-0700 Runner[94127:16697866]   pc 0x000000016801ac48 fp 0x000000016fb509e0 Unknown symbol
2022-11-15 13:12:43.507717-0700 Runner[94127:16697866]   pc 0x0000000114002ed8 fp 0x000000016fb50ab0 Unknown symbol
2022-11-15 13:12:43.508086-0700 Runner[94127:16697866]   pc 0x00000001081218b0 fp 0x000000016fb50b50 dart::DartEntry::InvokeCode(dart::Code const&, unsigned long, dart::Array const&, dart::Array const&, dart::Thread*)+0x138
2022-11-15 13:12:43.508452-0700 Runner[94127:16697866]   pc 0x000000010812171c fp 0x000000016fb50bb0 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)+0x134
2022-11-15 13:12:43.508841-0700 Runner[94127:16697866]   pc 0x00000001081ae0cc fp 0x000000016fb50c60 dart::Library::Invoke(dart::String const&, dart::Array const&, dart::Array const&, bool, bool) const+0x234
2022-11-15 13:12:43.509199-0700 Runner[94127:16697866]   pc 0x0000000108406950 fp 0x000000016fb50d80 Dart_Invoke+0x5c8
2022-11-15 13:12:43.509575-0700 Runner[94127:16697866]   pc 0x0000000108048070 fp 0x000000016fb50df0 flutter::Window::DispatchPointerDataPacket(flutter::PointerDataPacket const&)+0xc8
2022-11-15 13:12:43.509930-0700 Runner[94127:16697866]   pc 0x00000001080d60fc fp 0x000000016fb50e30 flutter::RuntimeController::DispatchPointerDataPacket(flutter::PointerDataPacket const&)+0x58
2022-11-15 13:12:43.510274-0700 Runner[94127:16697866]   pc 0x0000000107f25c9c fp 0x000000016fb50e70 flutter::DefaultPointerDataDispatcher::DispatchPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >, unsigned long long)+0x70
2022-11-15 13:12:43.510614-0700 Runner[94127:16697866]   pc 0x0000000107f25d6c fp 0x000000016fb50eb0 flutter::SmoothPointerDataDispatcher::DispatchPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >, unsigned long long)+0x9c
2022-11-15 13:12:43.510960-0700 Runner[94127:16697866]   pc 0x0000000107f23484 fp 0x000000016fb50ef0 flutter::Engine::DispatchPointerDataPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >, unsigned long long)+0x70
2022-11-15 13:12:43.511316-0700 Runner[94127:16697866]   pc 0x0000000107f3bc94 fp 0x000000016fb50f20 std::__1::__function::__func<fml::internal::CopyableLambda<flutter::Shell::OnPlatformViewDispatchPointerDataPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >)::$_10>, std::__1::allocator<fml::internal::CopyableLambda<flutter::Shell::OnPlatformViewDispatchPointerDataPacket(std::__1::unique_ptr<flutter::PointerDataPacket, std::__1::default_delete<flutter::PointerDataPacket> >)::$_10> >, void ()>::operator()()+0x54
2022-11-15 13:12:43.511657-0700 Runner[94127:16697866]   pc 0x0000000107e3d878 fp 0x000000016fb50fb0 fml::MessageLoopImpl::FlushTasks(fml::FlushType)+0x98
2022-11-15 13:12:43.512007-0700 Runner[94127:16697866]   pc 0x0000000107e44130 fp 0x000000016fb50fd0 fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*)+0x20
2022-11-15 13:12:43.512163-0700 Runner[94127:16697866]   pc 0x000000018037388c fp 0x000000016fb50fe0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__+0x1c
2022-11-15 13:12:43.512275-0700 Runner[94127:16697866]   pc 0x0000000180373548 fp 0x000000016fb520b0 __CFRunLoopDoTimer+0x364
2022-11-15 13:12:43.512388-0700 Runner[94127:16697866]   pc 0x0000000180372c34 fp 0x000000016fb52110 __CFRunLoopDoTimers+0x11c
2022-11-15 13:12:43.512499-0700 Runner[94127:16697866]   pc 0x000000018036d324 fp 0x000000016fb52e80 __CFRunLoopRun+0x718
2022-11-15 13:12:43.512646-0700 Runner[94127:16697866]   pc 0x000000018036c7f4 fp 0x000000016fb52f30 CFRunLoopRunSpecific+0x248
2022-11-15 13:12:43.512999-0700 Runner[94127:16697866]   pc 0x0000000107e44260 fp 0x000000016fb52f70 fml::MessageLoopDarwin::Run()+0x58
2022-11-15 13:12:43.513348-0700 Runner[94127:16697866]   pc 0x0000000107e3d790 fp 0x000000016fb52f90 fml::MessageLoopImpl::DoRun()+0x28
2022-11-15 13:12:43.513693-0700 Runner[94127:16697866]   pc 0x0000000107e42f3c fp 0x000000016fb52fc0 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0> >(void*)+0xd0
2022-11-15 13:12:43.513824-0700 Runner[94127:16697866]   pc 0x00000001af2586c8 fp 0x000000016fb52fe0 _pthread_start+0x74
2022-11-15 13:12:43.513904-0700 Runner[94127:16697866] -- End of DumpStackTrace
2022-11-15 13:12:43.514014-0700 Runner[94127:16697866]   pc 0x0000000000000000 fp 0x000000016fb501e8 sp 0x0000000000000000 [Stub] CallToRuntime
2022-11-15 13:12:43.514151-0700 Runner[94127:16697866]   pc 0x00000001140029e0 fp 0x000000016fb50218 sp 0x000000016fb501f8 [Stub] LazyCompile
2022-11-15 13:12:43.514256-0700 Runner[94127:16697866]   pc 0x000000016ab097a8 fp 0x000000016fb50298 sp 0x000000016fb50228 [Unoptimized] CognitoAuthRepo.updateEmailAndPhoneNumber
2022-11-15 13:12:43.514352-0700 Runner[94127:16697866]   pc 0x000000016ab0935c fp 0x000000016fb50310 sp 0x000000016fb502a8 [Unoptimized] AuthService.updateUserInformation
2022-11-15 13:12:43.514443-0700 Runner[94127:16697866]   pc 0x000000016ab07e14 fp 0x000000016fb503b0 sp 0x000000016fb50320 [Unoptimized] _EditAccountInfoState@453387229.saveInformation
2022-11-15 13:12:43.514542-0700 Runner[94127:16697866]   pc 0x000000016ab07abc fp 0x000000016fb50400 sp 0x000000016fb503c0 [Unoptimized] _EditAccountInfoState@453387229.build.<anonymous closure>
2022-11-15 13:12:43.514642-0700 Runner[94127:16697866]   pc 0x0000000168304140 fp 0x000000016fb50450 sp 0x000000016fb50410 [Unoptimized] _InkResponseState@1508059085.handleTap
2022-11-15 13:12:43.514748-0700 Runner[94127:16697866]   pc 0x0000000168303d40 fp 0x000000016fb50488 sp 0x000000016fb50460 [Unoptimized] _InkResponseState@1508059085.handleTap
2022-11-15 13:12:43.514832-0700 Runner[94127:16697866]   pc 0x000000016806e6d4 fp 0x000000016fb50548 sp 0x000000016fb50498 [Unoptimized] GestureRecognizer.invokeCallback
2022-11-15 13:12:43.514940-0700 Runner[94127:16697866]   pc 0x0000000168302994 fp 0x000000016fb505d0 sp 0x000000016fb50558 [Unoptimized] TapGestureRecognizer.handleTapUp
2022-11-15 13:12:43.515035-0700 Runner[94127:16697866]   pc 0x000000016806a9a4 fp 0x000000016fb50620 sp 0x000000016fb505e0 [Unoptimized] BaseTapGestureRecognizer._checkUp@1429069716
2022-11-15 13:12:43.515126-0700 Runner[94127:16697866]   pc 0x000000016806cad4 fp 0x000000016fb50658 sp 0x000000016fb50630 [Unoptimized] BaseTapGestureRecognizer.acceptGesture
2022-11-15 13:12:43.515226-0700 Runner[94127:16697866]   pc 0x000000016806bc38 fp 0x000000016fb506a8 sp 0x000000016fb50668 [Unoptimized] GestureArenaManager.sweep
2022-11-15 13:12:43.515331-0700 Runner[94127:16697866]   pc 0x000000016805d0a0 fp 0x000000016fb506f0 sp 0x000000016fb506b8 [Unoptimized] _WidgetsFlutterBinding&BindingBase&GestureBinding@1011399801.handleEvent
2022-11-15 13:12:43.515427-0700 Runner[94127:16697866]   pc 0x0000000168041d3c fp 0x000000016fb50770 sp 0x000000016fb50700 [Unoptimized] _WidgetsFlutterBinding&BindingBase&GestureBinding@1011399801.dispatchEvent
2022-11-15 13:12:43.515520-0700 Runner[94127:16697866]   pc 0x0000000168040cb8 fp 0x000000016fb507c0 sp 0x000000016fb50780 [Unoptimized] _WidgetsFlutterBinding&BindingBase&GestureBinding&SchedulerBinding&ServicesBinding&PaintingBinding&SemanticsBinding&RendererBinding@1011399801.dispatchEvent
2022-11-15 13:12:43.515607-0700 Runner[94127:16697866]   pc 0x0000000168040500 fp 0x000000016fb50810 sp 0x000000016fb507d0 [Unoptimized] _WidgetsFlutterBinding&BindingBase&GestureBinding@1011399801._handlePointerEventImmediately@1408304576
2022-11-15 13:12:43.515703-0700 Runner[94127:16697866]   pc 0x000000016803d51c fp 0x000000016fb50850 sp 0x000000016fb50820 [Unoptimized] _WidgetsFlutterBinding&BindingBase&GestureBinding@1011399801.handlePointerEvent
2022-11-15 13:12:43.515807-0700 Runner[94127:16697866]   pc 0x000000014d10728c fp 0x000000016fb50890 sp 0x000000016fb50860 [Unoptimized] _WidgetsFlutterBinding&BindingBase&GestureBinding@1011399801._flushPointerEventQueue@1408304576
2022-11-15 13:12:43.515911-0700 Runner[94127:16697866]   pc 0x000000016802c9e4 fp 0x000000016fb508c8 sp 0x000000016fb508a0 [Unoptimized] _WidgetsFlutterBinding&BindingBase&GestureBinding@1011399801._handlePointerDataPacket@1408304576
2022-11-15 13:12:43.516004-0700 Runner[94127:16697866]   pc 0x000000014ee22708 fp 0x000000016fb50908 sp 0x000000016fb508d8 [Unoptimized] _WidgetsFlutterBinding&BindingBase&GestureBinding@1011399801._handlePointerDataPacket@1408304576
2022-11-15 13:12:43.516123-0700 Runner[94127:16697866]   pc 0x000000011e3b8fec fp 0x000000016fb50958 sp 0x000000016fb50918 [Unoptimized] _invoke1@15065589
2022-11-15 13:12:43.516220-0700 Runner[94127:16697866]   pc 0x000000016802570c fp 0x000000016fb509a8 sp 0x000000016fb50968 [Unoptimized] PlatformDispatcher._dispatchPointerDataPacket@15065589
2022-11-15 13:12:43.516314-0700 Runner[94127:16697866]   pc 0x000000016801ac48 fp 0x000000016fb509e0 sp 0x000000016fb509b8 [Unoptimized] _dispatchPointerDataPacket@15065589
2022-11-15 13:12:43.516412-0700 Runner[94127:16697866]   pc 0x0000000114002ed8 fp 0x000000016fb50ab0 sp 0x000000016fb509f0 [Stub] InvokeDartCode
2022-11-15 13:12:43.516507-0700 Runner[94127:16697866] === Crash occured when compiling package:amplify_core/src/category/amplify_auth_category.dart_AuthCategory_updateUserAttribute in unoptimized JIT mode in GenerateCode pass
2022-11-15 13:12:43.516600-0700 Runner[94127:16697866] === When compiling block B9[target]:84
2022-11-15 13:12:43.516693-0700 Runner[94127:16697866] === When compiling instruction t0 <- AssertAssignable:56(t0, t1, 'options', instantiator_type_args(t2), function_type_args(t3))
2022-11-15 13:12:43.516982-0700 Runner[94127:16697866] *** BEGIN CFG
GenerateCode
==== package:amplify_core/src/category/amplify_auth_category.dart_AuthCategory_updateUserAttribute (RegularFunction)
B0[graph]:0
B1[function entry]:2
    t0 <- Constant(#0)
    StoreLocal(:entry_points_temp @-7, t0)
    goto:72 B6
B7[function entry]:74
    t0 <- Constant(#2)
    StoreLocal(:entry_points_temp @-7, t0)
    goto:76 B6
B6[join]:70 pred(B1, B7)
    t0 <- LoadLocal(:arg_desc @-4)
    t0 <- LoadField(t0 . ArgumentsDescriptor.positional_count {final})
    t1 <- LoadLocal(:arg_desc @-4)
    t1 <- LoadField(t1 . ArgumentsDescriptor.count {final})
    t2 <- LoadLocal(:t1 @-10)
    t3 <- Constant(#1)
    t2 <- BinarySmiOp:4(- [tr], t2, t3)
    t3 <- LoadLocal(:t2 @-11)
    t3 <- LoadIndexedUnsafe(fp[t3 + 16]) T{*?}
    StoreLocal(this @0, t3)
    t3 <- Constant(#0)
    StoreLocal(:expr_temp @-6, t3)
    t3 <- Constant(#2)
    t4 <- LoadLocal(:expr_temp @-6)
    t3 <- BinarySmiOp:6(* [tr], t3, t4)
    t4 <- LoadLocal(:arg_desc @-4) T{*?}
    t5 <- Constant(#4)
    t6 <- LoadLocal(:t3 @-12)
    t5 <- BinarySmiOp:14(+ [tr], t5, t6)
    t4 <- LoadIndexed(t4, t5) T{*?}
    t5 <- Constant(#options)
    Branch if StrictCompare:16(===, t4, t5) goto (2, 3)
B2[target]:20
    t4 <- LoadLocal(:t1 @-10)
    t5 <- LoadLocal(:arg_desc @-4)
    t6 <- Constant(#5)
    t7 <- LoadLocal(:t3 @-12)
    t6 <- BinarySmiOp:8(+ [tr], t6, t7)
    t5 <- LoadIndexed(t5, t6)
    t4 <- BinarySmiOp:10(- [tr], t4, t5)
    t4 <- LoadIndexedUnsafe(fp[t4 + 8]) T{*?}
    StoreLocal(options @-3, t4)
    t4 <- LoadLocal(:expr_temp @-6)
    t5 <- Constant(#1)
    t4 <- BinarySmiOp:12(+ [tr], t4, t5)
    StoreLocal(:expr_temp @-6, t4)
    goto:26 B4
B3[target]:22
    t4 <- Constant(#null)
    StoreLocal(options @-3, t4)
    goto:28 B4
B4[join]:24 pred(B2, B3)
    DropTemps(1)
    t3 <- Constant(#2)
    t4 <- LoadLocal(:expr_temp @-6)
    t3 <- BinarySmiOp:30(* [tr], t3, t4)
    t4 <- LoadLocal(:t1 @-10)
    t5 <- LoadLocal(:arg_desc @-4)
    t6 <- Constant(#5)
    t7 <- LoadLocal(:t3 @-12)
    t6 <- BinarySmiOp:32(+ [tr], t6, t7)
    t5 <- LoadIndexed(t5, t6)
    t4 <- BinarySmiOp:34(- [tr], t4, t5)
    t4 <- LoadIndexedUnsafe(fp[t4 + 8]) T{*?}
    StoreLocal(userAttributeKey @-1, t4)
    t4 <- LoadLocal(:expr_temp @-6)
    t5 <- Constant(#1)
    t4 <- BinarySmiOp:36(+ [tr], t4, t5)
    StoreLocal(:expr_temp @-6, t4)
    DropTemps(1)
    t3 <- Constant(#2)
    t4 <- LoadLocal(:expr_temp @-6)
    t3 <- BinarySmiOp:38(* [tr], t3, t4)
    t4 <- LoadLocal(:t1 @-10)
    t5 <- LoadLocal(:arg_desc @-4)
    t6 <- Constant(#5)
    t7 <- LoadLocal(:t3 @-12)
    t6 <- BinarySmiOp:40(+ [tr], t6, t7)
    t5 <- LoadIndexed(t5, t6)
    t4 <- BinarySmiOp:42(- [tr], t4, t5)
    t4 <- LoadIndexedUnsafe(fp[t4 + 8]) T{String}
    StoreLocal(value @-2, t4)
    t4 <- LoadLocal(:expr_temp @-6)
    t5 <- Constant(#1)
    t4 <- BinarySmiOp:44(+ [tr], t4, t5)
    StoreLocal(:expr_temp @-6, t4)
    DropTemps(1)
    DropTemps(1)
    DropTemps(1)
    DropTemps(1)
    goto:48 B5
B5[join]:46 pred(B4)
    CheckStackOverflow:50(stack=0, loop=0)
    DebugStepCheck:52()
    t0 <- LoadLocal(:entry_points_temp @-7)
    DropTemps(1)
    t0 <- LoadLocal(:entry_points_temp @-7) T{*?}
    t1 <- Constant(#2)
    Branch if StrictCompare:78(===, t0, t1) goto (8, 9)
B8[target]:82
    goto:90 B10
B9[target]:84
    t0 <- LoadLocal(userAttributeKey @-1) T{*?}
    t1 <- Constant(#TypeParameter: C1X1; bound: UserAttributeKey)
    t2 <- LoadLocal(this @0)
    t2 <- LoadField(t2 . :type_arguments {final})
    t3 <- Constant(#null)
    t0 <- AssertAssignable:54(t0, t1, 'userAttributeKey', instantiator_type_args(t2), function_type_args(t3))
    StoreLocal(userAttributeKey @-1, t0)
    t0 <- LoadLocal(options @-3) T{*?}
    t1 <- Constant(#TypeParameter: C1X28?; bound: UpdateUserAttributeOptions)
    t2 <- LoadLocal(this @0)
    t2 <- LoadField(t2 . :type_arguments {final})
    t3 <- Constant(#null)
    t0 <- AssertAssignable:56(t0, t1, 'options', instantiator_type_args(t2), function_type_args(t3))
    StoreLocal(options @-3, t0)
    goto:88 B10
B10[join]:86 pred(B8, B9)
    t0 <- LoadLocal(this @0)
    t0 <- LoadField(t0 . :type_arguments {final})
    t1 <- Constant(#null)
    t2 <- Constant(#TypeArguments: (H18328e50) [TypeParameter: C1X1; bound: UserAttributeKey] [TypeParameter: C1X28; bound: UpdateUserAttributeOptions])
    t0 <- InstantiateTypeArguments:58(t2, instantiator_type_args(t0), function_type_args(t1), instantiator_class(Library:'package:amplify_core/src/category/amplify_auth_category.dart' Class: AuthCategory))
    t1 <- LoadLocal(userAttributeKey @-1)
    t2 <- LoadLocal(value @-2)
    t3 <- LoadLocal(options @-3)
    t0 <- StaticCall:60( UpdateUserAttributeRequest.<0> t0, t1, t2, t3)
    StoreLocal(request @-8, t0)
    t0 <- LoadLocal(this @0)
    t0 <- InstanceCall:62( get:plugin<0>, t0)
    t1 <- LoadLocal(request @-8)
    t0 <- InstanceCall:64( updateUserAttribute<0>, t0, t1)
    DebugStepCheck:66()
    Return:68(t0)
*** END CFG
CoreSimulator 857.13 - Device: iPhone 14 (B13797AC-21AC-478B-BC9B-92473B70A654) - Runtime: iOS 16.1 (20B72) - DeviceType: iPhone 14
(lldb)

The code in question looks something like this (my unsuccessful repro):

void main() {
  final wrapper = Wrapper(MyPlugin());
  wrapper.sendRequest(options: MyOptions());
}

abstract class BaseOptions {}

class BaseRequest<Options extends BaseOptions> {
  BaseRequest(this.options);

  final Options? options;
}

// A wrapper around a collection of heterogeneous plugins.
class Wrapper {
  Wrapper(this.base);

  final BasePlugin base;

  void sendRequest({BaseOptions? options}) {
    final request = BaseRequest(options);
    base.sendRequest(
      request: request, // crashes here
    );
  }
}

abstract class BasePlugin<Options extends BaseOptions> {
  const BasePlugin();

  void sendRequest({required BaseRequest request});
}

class MyOptions extends BaseOptions {}

// Plugin fulfills base contract and receives requests via wrapper.
class MyPlugin extends BasePlugin<MyOptions> {
  @override
  void sendRequest({required BaseRequest request}) {
    // Plugin unwraps generic request and casts to plugin-specific type.
    print(request.options as MyOptions?);
  }
}
@lrhn lrhn added the area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. label Dec 12, 2022
copybara-service bot pushed a commit that referenced this issue Dec 12, 2022
TEST=ci
Bug: #50671
Change-Id: I3a5ab9492d74fa770efd8e4c7cf90002a3793b9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/275081
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
@mraleph
Copy link
Member

mraleph commented Dec 14, 2022

I think @rmacnak-google fixed this in de310a0

@mraleph mraleph closed this as completed Dec 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Projects
None yet
Development

No branches or pull requests

3 participants