Repository navigation
Invalid Unicode in TextEditingController's text Crashes the App on iOS #179727
Description
Activity
- changed the title
[-]Invalid Unicode in TextEditingController's `text` Crashes the App[/-][+]Invalid Unicode in TextEditingController's `text` Crashes the App on iOS[/+]on Dec 11, 2025 - addedin triagePresently being triaged by the triage teamPresently being triaged by the triage team
on Dec 11, 2025 Thanks for the report. Seeing the same behaviour with latest SDK versions on iOS & macOS.
It doesn't crash on Android/Web but contains some error logs in the console.
stable : 3.38.4 master : 3.40.0-1.0.pre-118Full Crash - iOS
Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: Namespace SIGNAL, Code 6, Abort trap: 6 Terminating Process: Runner [32046] Last Exception Backtrace: 0 CoreFoundation 0x1804f71c4 __exceptionPreprocess + 160 1 libobjc.A.dylib 0x18009c094 objc_exception_throw + 72 2 Foundation 0x1810280b0 _userInfoForFileAndLine + 0 3 Flutter 0x106f3176c -[FlutterJSONMessageCodec decode:] + 552 4 Flutter 0x106f31e50 -[FlutterJSONMethodCodec decodeMethodCall:] + 92 5 Flutter 0x106f2ff44 __45-[FlutterMethodChannel setMethodCallHandler:]_block_invoke + 60 6 Flutter 0x106a5964c invocation function for block in flutter::PlatformMessageHandlerIos::HandlePlatformMessage(std::_fl::unique_ptr<flutter::PlatformMessage, std::_fl::default_delete<flutter::PlatformMessage>>) + 108 7 libdispatch.dylib 0x1801c07a8 _dispatch_call_block_and_release + 24 8 libdispatch.dylib 0x1801db4b0 _dispatch_client_callout + 12 9 libdispatch.dylib 0x1801f74a0 <deduplicated_symbol> + 24 10 libdispatch.dylib 0x1801d031c _dispatch_main_queue_drain + 1184 11 libdispatch.dylib 0x1801cfe6c _dispatch_main_queue_callback_4CF + 40 12 CoreFoundation 0x180455ed8 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 13 CoreFoundation 0x1804550b0 __CFRunLoopRun + 1884 14 CoreFoundation 0x18044fcec _CFRunLoopRunSpecificWithOptions + 496 15 GraphicsServices 0x1926be9bc GSEventRunModal + 116 16 UIKitCore 0x18630f0d8 -[UIApplication _run] + 772 17 UIKitCore 0x186313300 UIApplicationMain + 124 18 UIKitCore 0x18554ac38 0x18516f000 + 4045880 19 Runner.debug.dylib 0x104041ba4 static UIApplicationDelegate.main() + 128 20 Runner.debug.dylib 0x104041b14 static AppDelegate.$main() + 44 21 Runner.debug.dylib 0x104041c20 __debug_main_executable_dylib_entry_point + 28 22 ??? 0x1042853d0 ??? 23 dyld 0x104158d54 start + 7184 Kernel Triage: VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x10406c85c __pthread_kill + 8 1 libsystem_pthread.dylib 0x1043462a8 pthread_kill + 264 2 libsystem_c.dylib 0x1801b5994 abort + 100 3 libc++abi.dylib 0x18030326c __abort_message + 128 4 libc++abi.dylib 0x1802f31a4 demangling_terminate_handler() + 268 5 libobjc.A.dylib 0x180077218 _objc_terminate() + 124 6 libc++abi.dylib 0x180302758 std::__terminate(void (*)()) + 12 7 libc++abi.dylib 0x1803057c0 __cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 32 8 libc++abi.dylib 0x1803057a0 __cxa_throw + 88 9 libobjc.A.dylib 0x18009c1cc objc_exception_throw + 384 10 Foundation 0x1810280b0 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 284 11 Flutter 0x106f3176c -[FlutterJSONMessageCodec decode:] + 552 12 Flutter 0x106f31e50 -[FlutterJSONMethodCodec decodeMethodCall:] + 92 13 Flutter 0x106f2ff44 __45-[FlutterMethodChannel setMethodCallHandler:]_block_invoke + 60 14 Flutter 0x106a5964c invocation function for block in flutter::PlatformMessageHandlerIos::HandlePlatformMessage(std::_fl::unique_ptr<flutter::PlatformMessage, std::_fl::default_delete<flutter::PlatformMessage>>) + 108 15 libdispatch.dylib 0x1801c07a8 _dispatch_call_block_and_release + 24 16 libdispatch.dylib 0x1801db4b0 _dispatch_client_callout + 12 17 libdispatch.dylib 0x1801f74a0 <deduplicated_symbol> + 24 18 libdispatch.dylib 0x1801d031c _dispatch_main_queue_drain + 1184 19 libdispatch.dylib 0x1801cfe6c _dispatch_main_queue_callback_4CF + 40 20 CoreFoundation 0x180455ed8 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 21 CoreFoundation 0x1804550b0 __CFRunLoopRun + 1884 22 CoreFoundation 0x18044fcec _CFRunLoopRunSpecificWithOptions + 496 23 GraphicsServices 0x1926be9bc GSEventRunModal + 116 24 UIKitCore 0x18630f0d8 -[UIApplication _run] + 772 25 UIKitCore 0x186313300 UIApplicationMain + 124 26 UIKitCore 0x18554ac38 0x18516f000 + 4045880 27 Runner.debug.dylib 0x104041ba4 static UIApplicationDelegate.main() + 128 28 Runner.debug.dylib 0x104041b14 static AppDelegate.$main() + 44 29 Runner.debug.dylib 0x104041c20 __debug_main_executable_dylib_entry_point + 28 30 ??? 0x1042853d0 ??? 31 dyld 0x104158d54 start + 7184 Thread 1: Thread 2:: com.apple.uikit.eventfetch-thread 0 libsystem_kernel.dylib 0x104064b70 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x10407590c mach_msg2_internal + 72 2 libsystem_kernel.dylib 0x10406cc10 mach_msg_overwrite + 480 3 libsystem_kernel.dylib 0x104064ee4 mach_msg + 20 4 CoreFoundation 0x180455c04 __CFRunLoopServiceMachPort + 156 5 CoreFoundation 0x180454dbc __CFRunLoopRun + 1128 6 CoreFoundation 0x18044fcec _CFRunLoopRunSpecificWithOptions + 496 7 Foundation 0x1810e5408 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 208 8 Foundation 0x1810e5628 -[NSRunLoop(NSRunLoop) runUntilDate:] + 60 9 UIKitCore 0x186067690 -[UIEventFetcher threadMain] + 392 10 Foundation 0x18110c2d4 __NSThread__start__ + 716 11 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 12 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 3:: io.flutter.1.raster 0 libsystem_kernel.dylib 0x104064b70 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x10407590c mach_msg2_internal + 72 2 libsystem_kernel.dylib 0x10406cc10 mach_msg_overwrite + 480 3 libsystem_kernel.dylib 0x104064ee4 mach_msg + 20 4 CoreFoundation 0x180455c04 __CFRunLoopServiceMachPort + 156 5 CoreFoundation 0x180454dbc __CFRunLoopRun + 1128 6 CoreFoundation 0x18044fcec _CFRunLoopRunSpecificWithOptions + 496 7 Flutter 0x106a8dee8 fml::MessageLoopDarwin::Run() + 92 8 Flutter 0x106a869b0 fml::MessageLoopImpl::DoRun() + 44 9 Flutter 0x106a8c590 std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()() + 184 10 Flutter 0x106a8c254 fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*) + 36 11 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 12 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 4:: io.flutter.1.io 0 libsystem_kernel.dylib 0x104064b70 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x10407590c mach_msg2_internal + 72 2 libsystem_kernel.dylib 0x10406cc10 mach_msg_overwrite + 480 3 libsystem_kernel.dylib 0x104064ee4 mach_msg + 20 4 CoreFoundation 0x180455c04 __CFRunLoopServiceMachPort + 156 5 CoreFoundation 0x180454dbc __CFRunLoopRun + 1128 6 CoreFoundation 0x18044fcec _CFRunLoopRunSpecificWithOptions + 496 7 Flutter 0x106a8dee8 fml::MessageLoopDarwin::Run() + 92 8 Flutter 0x106a869b0 fml::MessageLoopImpl::DoRun() + 44 9 Flutter 0x106a8c590 std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()() + 184 10 Flutter 0x106a8c254 fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*) + 36 11 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 12 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 5:: io.flutter.1.profiler 0 libsystem_kernel.dylib 0x104064b70 mach_msg2_trap + 8 1 libsystem_kernel.dylib 0x10407590c mach_msg2_internal + 72 2 libsystem_kernel.dylib 0x10406cc10 mach_msg_overwrite + 480 3 libsystem_kernel.dylib 0x104064ee4 mach_msg + 20 4 CoreFoundation 0x180455c04 __CFRunLoopServiceMachPort + 156 5 CoreFoundation 0x180454dbc __CFRunLoopRun + 1128 6 CoreFoundation 0x18044fcec _CFRunLoopRunSpecificWithOptions + 496 7 Flutter 0x106a8dee8 fml::MessageLoopDarwin::Run() + 92 8 Flutter 0x106a869b0 fml::MessageLoopImpl::DoRun() + 44 9 Flutter 0x106a8c590 std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()() + 184 10 Flutter 0x106a8c254 fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*) + 36 11 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 12 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 6:: io.worker.1 0 libsystem_kernel.dylib 0x104068020 __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x104346a74 _pthread_cond_wait + 976 2 Flutter 0x106a5ee38 std::_fl::condition_variable::wait(std::_fl::unique_lock<std::_fl::mutex>&) + 24 3 Flutter 0x106a83154 fml::ConcurrentMessageLoop::WorkerMain() + 140 4 Flutter 0x106a837fc void* std::_fl::__thread_proxy[abi:nn210000]<std::_fl::tuple<std::_fl::unique_ptr<std::_fl::__thread_struct, std::_fl::default_delete<std::_fl::__thread_struct>>, fml::ConcurrentMessageLoop::ConcurrentMessageLoop(unsigned long)::$_0>>(void*) + 192 5 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 6 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 7:: io.worker.2 0 libsystem_kernel.dylib 0x104068020 __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x104346a74 _pthread_cond_wait + 976 2 Flutter 0x106a5ee38 std::_fl::condition_variable::wait(std::_fl::unique_lock<std::_fl::mutex>&) + 24 3 Flutter 0x106a83154 fml::ConcurrentMessageLoop::WorkerMain() + 140 4 Flutter 0x106a837fc void* std::_fl::__thread_proxy[abi:nn210000]<std::_fl::tuple<std::_fl::unique_ptr<std::_fl::__thread_struct, std::_fl::default_delete<std::_fl::__thread_struct>>, fml::ConcurrentMessageLoop::ConcurrentMessageLoop(unsigned long)::$_0>>(void*) + 192 5 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 6 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 8:: io.worker.3 0 libsystem_kernel.dylib 0x104068020 __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x104346a74 _pthread_cond_wait + 976 2 Flutter 0x106a5ee38 std::_fl::condition_variable::wait(std::_fl::unique_lock<std::_fl::mutex>&) + 24 3 Flutter 0x106a83154 fml::ConcurrentMessageLoop::WorkerMain() + 140 4 Flutter 0x106a837fc void* std::_fl::__thread_proxy[abi:nn210000]<std::_fl::tuple<std::_fl::unique_ptr<std::_fl::__thread_struct, std::_fl::default_delete<std::_fl::__thread_struct>>, fml::ConcurrentMessageLoop::ConcurrentMessageLoop(unsigned long)::$_0>>(void*) + 192 5 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 6 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 9:: io.worker.4 0 libsystem_kernel.dylib 0x104068020 __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x104346a74 _pthread_cond_wait + 976 2 Flutter 0x106a5ee38 std::_fl::condition_variable::wait(std::_fl::unique_lock<std::_fl::mutex>&) + 24 3 Flutter 0x106a83154 fml::ConcurrentMessageLoop::WorkerMain() + 140 4 Flutter 0x106a837fc void* std::_fl::__thread_proxy[abi:nn210000]<std::_fl::tuple<std::_fl::unique_ptr<std::_fl::__thread_struct, std::_fl::default_delete<std::_fl::__thread_struct>>, fml::ConcurrentMessageLoop::ConcurrentMessageLoop(unsigned long)::$_0>>(void*) + 192 5 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 6 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 10:: dart:io EventHandler 0 libsystem_kernel.dylib 0x10406a65c kevent + 8 1 Flutter 0x106eebf28 dart::bin::EventHandlerImplementation::EventHandlerEntry(unsigned long) + 304 2 Flutter 0x106f0800c dart::bin::ThreadStart(void*) + 92 3 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 4 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 11:: Dart Profiler ThreadInterrupter 0 libsystem_kernel.dylib 0x104068020 __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x104346a74 _pthread_cond_wait + 976 2 Flutter 0x106f558e8 dart::ConditionVariable::WaitMicros(dart::Mutex*, long long) + 128 3 Flutter 0x1070bd550 dart::ThreadInterrupter::ThreadMain(unsigned long) + 336 4 Flutter 0x10706faa8 dart::ThreadStart(void*) + 208 5 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 6 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 12:: Dart Profiler SampleBlockProcessor 0 libsystem_kernel.dylib 0x104068020 __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x104346aa0 _pthread_cond_wait + 1020 2 Flutter 0x106f558d8 dart::ConditionVariable::WaitMicros(dart::Mutex*, long long) + 112 3 Flutter 0x107074a64 dart::SampleBlockProcessor::ThreadMain(unsigned long) + 220 4 Flutter 0x10706faa8 dart::ThreadStart(void*) + 208 5 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 6 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 13:: DartWorker 0 libsystem_kernel.dylib 0x104068020 __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x104346aa0 _pthread_cond_wait + 1020 2 Flutter 0x106f558d8 dart::ConditionVariable::WaitMicros(dart::Mutex*, long long) + 112 3 Flutter 0x106fb580c dart::MutatorThreadPool::OnEnterIdleLocked(dart::MutexLocker*, dart::ThreadPool::Worker*) + 156 4 Flutter 0x1070be16c dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) + 124 5 Flutter 0x1070be450 dart::ThreadPool::Worker::Main(unsigned long) + 116 6 Flutter 0x10706faa8 dart::ThreadStart(void*) + 208 7 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 8 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 14:: DartWorker 0 libsystem_kernel.dylib 0x104068020 __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x104346aa0 _pthread_cond_wait + 1020 2 Flutter 0x106f558d8 dart::ConditionVariable::WaitMicros(dart::Mutex*, long long) + 112 3 Flutter 0x1070be2f0 dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) + 512 4 Flutter 0x1070be450 dart::ThreadPool::Worker::Main(unsigned long) + 116 5 Flutter 0x10706faa8 dart::ThreadStart(void*) + 208 6 libsystem_pthread.dylib 0x1043465ac _pthread_start + 104 7 libsystem_pthread.dylib 0x104341998 thread_start + 8 Thread 0 crashed with ARM Thread State (64-bit): x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000 x4: 0x0000000180306cab x5: 0x000000016bdf3a80 x6: 0x000000000000006e x7: 0x0000000000000000 x8: 0x00000001041fde40 x9: 0xbb51dd3688ea0248 x10: 0x0000000000000002 x11: 0x0000010000000000 x12: 0x00000000fffffffd x13: 0x0000000000000000 x14: 0x0000000000000000 x15: 0x0000000000000000 x16: 0x0000000000000148 x17: 0x0000000000000002 x18: 0x0000000000000000 x19: 0x0000000000000006 x20: 0x0000000000000103 x21: 0x00000001041fdf20 x22: 0x00000001f2d7c000 x23: 0x00000001e60cc500 x24: 0x0000600000009260 x25: 0x00006000017416c0 x26: 0x0000000000000000 x27: 0x000000000000005b x28: 0x0000000000000114 fp: 0x000000016bdf39f0 lr: 0x00000001043462a8 sp: 0x000000016bdf39d0 pc: 0x000000010406c85c cpsr: 0x40000000 far: 0x0000000000000000 esr: 0x56000080 (Syscall) Binary Images: 0x104150000 - 0x1041effff dyld (*) <0975afba-c46b-364c-bd84-a75daa9e455a> /usr/lib/dyld 0x104008000 - 0x10400bfff com.example.dec11 (1.0.0) <90dee168-327d-35d2-bbcf-d7f4e240f084> /Users/USER/Library/Developer/CoreSimulator/Devices/38A254E7-D296-46C5-A230-5978A86CC1BD/data/Containers/Bundle/Application/E94D64FD-2245-4E12-804D-E324F5E6E674/Runner.app/Runner 0x104040000 - 0x104047fff Runner.debug.dylib (*) <4891c4c5-33e0-3c59-aa97-5bf843e46ff2> /Users/USER/Library/Developer/CoreSimulator/Devices/38A254E7-D296-46C5-A230-5978A86CC1BD/data/Containers/Bundle/Application/E94D64FD-2245-4E12-804D-E324F5E6E674/Runner.app/Runner.debug.dylib 0x1069f0000 - 0x108867fff io.flutter.flutter (1.0) <4c4c4448-5555-3144-a1b7-c57b4313cd63> /Users/USER/Library/Developer/CoreSimulator/Devices/38A254E7-D296-46C5-A230-5978A86CC1BD/data/Containers/Bundle/Application/E94D64FD-2245-4E12-804D-E324F5E6E674/Runner.app/Frameworks/Flutter.framework/Flutter 0x104020000 - 0x104027fff libsystem_platform.dylib (*) <de4033bb-4a6b-317a-bda6-b3a408656844> /usr/lib/system/libsystem_platform.dylib 0x104064000 - 0x10409ffff libsystem_kernel.dylib (*) <8f54f386-9b41-376a-9ba3-9423bbabb1b6> /usr/lib/system/libsystem_kernel.dylib 0x104340000 - 0x10434ffff libsystem_pthread.dylib (*) <48ca2121-5ca2-3e04-bc91-a33151256e77> /usr/lib/system/libsystem_pthread.dylib 0x104534000 - 0x10453ffff libobjc-trampolines.dylib (*) <f766081e-2450-3187-beb3-a18b5d825986> /Volumes/VOLUME/*/libobjc-trampolines.dylib 0x180141000 - 0x1801be2c3 libsystem_c.dylib (*) <4be317ce-e19b-36b1-809a-b1fbf17587a8> /Volumes/VOLUME/*/libsystem_c.dylib 0x1802f2000 - 0x18030a56f libc++abi.dylib (*) <854f9986-f066-3a26-8bd7-4c14dd25f58e> /Volumes/VOLUME/*/libc++abi.dylib 0x180070000 - 0x1800ad297 libobjc.A.dylib (*) <bb867be3-83c2-3d97-84ef-4661b648229c> /Volumes/VOLUME/*/libobjc.A.dylib 0x18085f000 - 0x1815aad7f com.apple.Foundation (6.9) <249188a3-8f44-3d76-acb0-0345a43eb0a3> /Volumes/VOLUME/*/Foundation.framework/Foundation 0x1801bf000 - 0x1802041bf libdispatch.dylib (*) <da1dd2f7-9f16-387c-9c54-fe18cccb12d9> /Volumes/VOLUME/*/libdispatch.dylib 0x1803c3000 - 0x1807df37f com.apple.CoreFoundation (6.9) <1ce7a90d-1134-3bfe-b564-88755edd6c85> /Volumes/VOLUME/*/CoreFoundation.framework/CoreFoundation 0x1926bc000 - 0x1926c3dbf com.apple.GraphicsServices (1.0) <4150c740-636d-3fba-a5f1-3e1483221156> /Volumes/VOLUME/*/GraphicsServices.framework/GraphicsServices 0x18516f000 - 0x1873836bf com.apple.UIKitCore (1.0) <55f9ab77-06fb-3839-9083-ddbf2b2608be> /Volumes/VOLUME/*/UIKitCore.framework/UIKitCore 0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ??? External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 0 thread_create: 0 thread_set_state: 0 VM Region Summary: ReadOnly portion of Libraries: Total=1.5G resident=0K(0%) swapped_out_or_unallocated=1.5G(100%) Writable regions: Total=794.6M written=2019K(0%) resident=2019K(0%) swapped_out=0K(0%) unallocated=792.6M(100%) VIRTUAL REGION REGION TYPE SIZE COUNT (non-coalesced) =========== ======= ======= Activity Tracing 256K 1 Foundation 16K 1 IOSurface 34.3M 4 Kernel Alloc Once 32K 1 MALLOC 620.0M 50 MALLOC guard page 128K 8 STACK GUARD 56.2M 15 Stack 22.5M 17 VM_ALLOCATE 126.0M 301 __DATA 32.1M 602 __DATA_CONST 82.5M 628 __DATA_DIRTY 139K 13 __FONT_DATA 2352 1 __LINKEDIT 715.2M 9 __OBJC_RO 62.6M 1 __OBJC_RW 2773K 1 __TEXT 849.1M 643 __TPRO_CONST 148K 2 dyld private memory 2.2G 14 mapped file 100.0M 20 page table in kernel 2019K 1 shared memory 16K 1 =========== ======= ======= TOTAL 4.8G 2334
iOS - Console
════════ Exception caught by painting library ══════════════════════════════════ The following ArgumentError was thrown while building a TextSpan: Invalid argument(s): string is not well-formed UTF-16 When the exception was thrown, this was the stack: #0 _NativeParagraphBuilder.addText (dart:ui/text.dart:3721:7) text.dart:3721 #1 TextSpan.build (package:flutter/src/painting/text_span.dart:298:17) text_span.dart:298 #2 TextPainter._createParagraph (package:flutter/src/painting/text_painter.dart:1203:10) text_painter.dart:1203 #3 TextPainter.layout (package:flutter/src/painting/text_painter.dart:1264:64) text_painter.dart:1264 #4 RenderEditable.performLayout (package:flutter/src/rendering/editable.dart:2408:9) editable.dart:2408 #5 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #7 _RenderSizeChangedWithCallback.performLayout (package:flutter/src/widgets/size_changed_layout_notifier.dart:88:11) size_changed_layout_notifier.dart:88 #8 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #10 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #12 RenderLeaderLayer.performLayout (package:flutter/src/rendering/proxy_box.dart:4441:11) proxy_box.dart:4441 #13 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #15 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #17 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #19 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #21 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #23 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #25 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #26 RenderTapRegion.layout (package:flutter/src/widgets/tap_region.dart:686:11) tap_region.dart:686 #27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #28 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #29 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #30 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #31 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11) layout_helper.dart:62 #32 _RenderDecoration._layout (package:flutter/src/material/input_decorator.dart:1073:67) input_decorator.dart:1073 #33 _RenderDecoration.performLayout (package:flutter/src/material/input_decorator.dart:1388:44) input_decorator.dart:1388 #34 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #36 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #38 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #40 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #42 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #43 RenderTapRegion.layout (package:flutter/src/widgets/tap_region.dart:686:11) tap_region.dart:686 #44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #45 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #46 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11) layout_helper.dart:62 #47 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1237:28) flex.dart:1237 #48 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1329:32) flex.dart:1329 #49 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #50 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:484:14) shifted_box.dart:484 #51 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #52 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12) custom_layout.dart:180 #53 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7) scaffold.dart:1112 #54 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:246:7) custom_layout.dart:246 #55 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:417:14) custom_layout.dart:417 #56 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #58 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #60 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1482:11) proxy_box.dart:1482 #61 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #63 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #65 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #67 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #68 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11) layout_helper.dart:62 #69 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43) stack.dart:645 #70 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12) stack.dart:680 #71 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #73 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #75 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #76 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #77 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #79 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #80 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #81 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #82 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #83 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3856:13) proxy_box.dart:3856 #84 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #85 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #86 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #87 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13) overlay.dart:1084 #88 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1429:9) overlay.dart:1429 #89 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #90 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #91 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #92 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #93 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #94 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #95 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #96 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #97 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11) custom_paint.dart:574 #98 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #99 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #100 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #101 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #102 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #103 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #104 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #105 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #106 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #107 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #108 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #109 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #110 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #111 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #112 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #113 RenderView.performLayout (package:flutter/src/rendering/view.dart:292:12) view.dart:292 #114 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2616:7) object.dart:2616 #115 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174:18) object.dart:1174 #116 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187:15) object.dart:1187 #117 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23) binding.dart:629 #118 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1269:13) binding.dart:1269 #119 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5) binding.dart:495 #120 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430:15) binding.dart:1430 #121 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345:9) binding.dart:1345 #122 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:1055:9) binding.dart:1055 #123 PlatformDispatcher.scheduleWarmUpFrame.<anonymous closure> (dart:ui/platform_dispatcher.dart:906:16) platform_dispatcher.dart:906 #127 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:193:12) isolate_patch.dart:193 (elided 3 frames from class _Timer and dart:async-patch) ════════════════════════════════════════════════════════════════════════════════
Web - Console
Could not find a set of Noto fonts to display all missing characters. Please add a font asset for the missing characters. See: https://docs.flutter.dev/cookbook/design/fontsAndroid - Console
════════ Exception caught by painting library ══════════════════════════════════ The following ArgumentError was thrown while building a TextSpan: Invalid argument(s): string is not well-formed UTF-16 When the exception was thrown, this was the stack: #0 _NativeParagraphBuilder.addText (dart:ui/text.dart:3721:7) text.dart:3721 #1 TextSpan.build (package:flutter/src/painting/text_span.dart:298:17) text_span.dart:298 #2 TextPainter._createParagraph (package:flutter/src/painting/text_painter.dart:1203:10) text_painter.dart:1203 #3 TextPainter.layout (package:flutter/src/painting/text_painter.dart:1264:64) text_painter.dart:1264 #4 RenderEditable.performLayout (package:flutter/src/rendering/editable.dart:2408:9) editable.dart:2408 #5 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #7 _RenderSizeChangedWithCallback.performLayout (package:flutter/src/widgets/size_changed_layout_notifier.dart:88:11) size_changed_layout_notifier.dart:88 #8 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #10 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #12 RenderLeaderLayer.performLayout (package:flutter/src/rendering/proxy_box.dart:4441:11) proxy_box.dart:4441 #13 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #15 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #17 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #19 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #21 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #23 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #25 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #26 RenderTapRegion.layout (package:flutter/src/widgets/tap_region.dart:686:11) tap_region.dart:686 #27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #28 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #29 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #30 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #31 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11) layout_helper.dart:62 #32 _RenderDecoration._layout (package:flutter/src/material/input_decorator.dart:1073:67) input_decorator.dart:1073 #33 _RenderDecoration.performLayout (package:flutter/src/material/input_decorator.dart:1388:44) input_decorator.dart:1388 #34 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #36 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #38 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #40 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #42 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #43 RenderTapRegion.layout (package:flutter/src/widgets/tap_region.dart:686:11) tap_region.dart:686 #44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #45 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #46 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11) layout_helper.dart:62 #47 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1237:28) flex.dart:1237 #48 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1329:32) flex.dart:1329 #49 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #50 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:484:14) shifted_box.dart:484 #51 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #52 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12) custom_layout.dart:180 #53 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7) scaffold.dart:1112 #54 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:246:7) custom_layout.dart:246 #55 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:417:14) custom_layout.dart:417 #56 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #58 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #60 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1482:11) proxy_box.dart:1482 #61 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #63 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #65 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #67 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #69 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #71 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #73 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #75 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #76 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #77 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #79 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #80 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #81 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #82 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #83 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #84 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #85 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #86 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #87 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #88 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #89 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #90 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #91 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #92 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #93 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3856:13) proxy_box.dart:3856 #94 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #95 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #96 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #97 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13) overlay.dart:1084 #98 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1429:9) overlay.dart:1429 #99 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #100 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #101 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #102 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #103 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #104 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #105 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #106 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #107 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11) custom_paint.dart:574 #108 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #109 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #110 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #111 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #112 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #113 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #114 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #115 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #116 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #117 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #118 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #119 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:18) proxy_box.dart:116 #120 RenderObject.layout (package:flutter/src/rendering/object.dart:2768:7) object.dart:2768 #121 RenderView.performLayout (package:flutter/src/rendering/view.dart:292:12) view.dart:292 #122 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2616:7) object.dart:2616 #123 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1174:18) object.dart:1174 #124 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1187:15) object.dart:1187 #125 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23) binding.dart:629 #126 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1269:13) binding.dart:1269 #127 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5) binding.dart:495 #128 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1430:15) binding.dart:1430 #129 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1345:9) binding.dart:1345 #130 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:1055:9) binding.dart:1055 #131 PlatformDispatcher.scheduleWarmUpFrame.<anonymous closure> (dart:ui/platform_dispatcher.dart:906:16) platform_dispatcher.dart:906 #135 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:193:12) isolate_patch.dart:193 (elided 3 frames from class _Timer and dart:async-patch) ════════════════════════════════════════════════════════════════════════════════ I/m.example.dec11( 7888): AssetManager2(0xb400007b18440b98) locale list changing from [] to [en-US] D/FlutterJNI( 7888): Sending viewport metrics to the engine. D/InsetsController( 7888): hide(ime(), fromIme=false) I/ImeTracker( 7888): com.example.dec11:67ed04ec: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN D/ProfileInstaller( 7888): Installing profile for com.example.dec11 I/ImeTracker( 7888): com.example.dec11:e4504e69: onRequestShow at ORIGIN_CLIENT reason SHOW_SOFT_INPUT fromUser false D/InsetsController( 7888): show(ime(), fromIme=false) D/InsetsController( 7888): Setting requestedVisibleTypes to -1 (was -9) D/InputConnectionAdaptor( 7888): The input method toggled cursor monitoring on I/AssistStructure( 7888): Flattened final assist data: 416 bytes, containing 1 windows, 3 views W/InteractionJankMonitor( 7888): Initializing without READ_DEVICE_CONFIG permission. enabled=false, interval=1, missedFrameThreshold=3, frameTimeThreshold=64, package=com.example.dec11 13 D/FlutterJNI( 7888): Sending viewport metrics to the engine. I/ImeTracker( 7888): com.example.dec11:e4504e69: onShown 2 D/FlutterJNI( 7888): Sending viewport metrics to the engine.
#138464 might be related.
- addeda: text inputEntering text in a text field or keyboard related problemsEntering text in a text field or keyboard related problemsplatform-iosiOS applications specificallyiOS applications specificallyframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.engineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.p: material_uimaterial_ui package in flutter/packagesmaterial_ui package in flutter/packagesplatform-macosBuilding on or for macOS specificallyBuilding on or for macOS specificallyteam-text-inputOwned by Text Input teamOwned by Text Input teamc: crashStack traces logged to the consoleStack traces logged to the consolea: error messageError messages from the Flutter frameworkError messages from the Flutter frameworkhas reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onc: fatal crashCrashes that terminate the processCrashes that terminate the processfound in release: 3.38Found to occur in 3.38Found to occur in 3.38
on Dec 11, 2025 1 remaining item
- removedin triagePresently being triaged by the triage teamPresently being triaged by the triage team
on Dec 11, 2025 - addedP1High-priority issues at the top of the work listHigh-priority issues at the top of the work list
on Dec 11, 2025 This seems to be an Objective-C crash, I suspect we should redirect this to the iOS team. I'll investigate and reroute if necessary.
In this scenario, the framework encodes a
TextInput.setEditingStateJSON message with atextvalue that contains a lone surrogate. Dart's JSON encoder escapes the lone surrogate, but iOS'sNSJSONSerializationis unable to decode this escaped lone surrogate.Here's what the encoded JSON looks like:
{"method":"TextInput.setEditingState","args":{"text":"\udfff","selectionBase":1,"selectionExtent":1,"selectionAffinity":"TextAffinity.upstream","selectionIsDirectional":false,"composingBase":-1,"composingExtent":-1}}It seems that iOS's JSON decoder will need to be fixed to support decoding Dart's pattern for escaping lone surrogates:
flutter/engine/src/flutter/shell/platform/darwin/common/framework/Source/FlutterCodecs.mm
Lines 86 to 113 in 63cfdfa
- (id)decode:(NSData*)message { if ([message length] == 0) { return nil; } BOOL isSimpleValue = NO; id decoded = nil; NSError* error; if (0 < message.length) { UInt8 first; [message getBytes:&first length:1]; isSimpleValue = first != '{' && first != '['; if (isSimpleValue) { // NSJSONSerialization does not support top-level simple values. // We expand encoding to singleton array, then decode that and extract // the single entry. UInt8 begin = '['; UInt8 end = ']'; NSMutableData* expandedMessage = [NSMutableData dataWithLength:message.length + 2]; [expandedMessage replaceBytesInRange:NSMakeRange(0, 1) withBytes:&begin]; [expandedMessage replaceBytesInRange:NSMakeRange(1, message.length) withBytes:message.bytes]; [expandedMessage replaceBytesInRange:NSMakeRange(message.length + 1, 1) withBytes:&end]; message = expandedMessage; } decoded = [NSJSONSerialization JSONObjectWithData:message options:0 error:&error]; } NSAssert(decoded, @"Invalid JSON message, decoding failed: %@", error); return isSimpleValue ? ((NSArray*)decoded)[0] : decoded; } You can reproduce this problem by adding the following unit test to
shell/platform/darwin/common/framework/Source/flutter_codecs_unittest.mm:TEST(FlutterJSONCodec, CanDecodeDartEncodedLoneSurrogate) { NSString *value = @R"({"text":"\udfff"})"; NSData* encoded = [[FlutterStringCodec sharedInstance] encode:value]; NSDictionary* decoded = [[FlutterJSONMessageCodec sharedInstance] decode:encoded]; ASSERT_TRUE(decoded != nil); }
I'll review my findings with my co-workers in this week's text input triage. If they agree the fix should be in the iOS embedder, I'll redirect this issue to the iOS team. cc @LongCatIsLooong.
I'll downgrade this from a P1 to a P2 since this does not appear to be a recent regression.
Reacted by Mahmut Taşkıran- addedP2Important issues not at the top of the work listImportant issues not at the top of the work listteam-iosOwned by iOS platform teamOwned by iOS platform teamand removedP1High-priority issues at the top of the work listHigh-priority issues at the top of the work listteam-text-inputOwned by Text Input teamOwned by Text Input team
on Dec 17, 2025 Redirecting this to the iOS team. It seems the iOS embedder will need to be updated to be able to decode JSON strings that Dart escaped due to lone surrogates. It's possible the iOS embedder might have additional issues with these malformed strings even after we fix this JSON decoding..
Reacted by Mahmut TaşkıranI'm leaning towards the framework asserting when you get a malformed string instead of trying to handle unpaired surrogates (the framework is already doing that in some places, e.g.,
, because the framework isn't acting merely as an interface between the system services and the text field UI, some parts of the framework also consume the string).static int _codePointFromSurrogates(int highSurrogate, int lowSurrogate) { I think it should be up to the app developer to sanitize the user input, IIRC it's almost never desirable/intentional to have unpaired surrogates in your string (unless you're trying to break something).
I agree that the crash shouldn't happen in production but there are so many services (for example the input method) that are going to be consuming the string and it's very difficult to guarantee that all of them can handle malformed strings so from that perspective we should fail faster.
Also the JSON spec says the unpaired surrogate can be escaped but it's not required. I suspect the GTK and windows implementation will have the same problem to some degree, IIRC they use UTF8.
Reacted by Loïc SharmaI'm leaning towards the framework asserting when you get a malformed string instead of trying to handle unpaired surrogates (the framework is already doing that in some places, e.g.,
flutter/packages/flutter/lib/src/painting/text_painter.dart
Line 190 in c00f050
static int _codePointFromSurrogates(int highSurrogate, int lowSurrogate) {
, because the framework isn't acting merely as an interface between the system services and the text field UI, some parts of the framework also consume the string).
I think it should be up to the app developer to sanitize the user input, IIRC it's almost never desirable/intentional to have unpaired surrogates in your string (unless you're trying to break something).I agree that the crash shouldn't happen in production but there are so many services (for example the input method) that are going to being consuming the string and it's very difficult to guarantee that all of them can handle malformed strings so from that perspective we should fail faster.
Also the JSON spec says the unpaired surrogate can be escaped but it's not required. I suspect the GTK and windows implementation will have the same problem to some degree, IIRC they use UTF8.
Thank you @LongCatIsLooong for the review and your input.
We’ve fixed the issue on our side by implementing a sanitizer in Dart and applying it as a TextField formatter. However, I believe this issue should also be addressed at the engine level, as the app should not crash in production.
We observed crashes in some user flows caused by a system channel call (JSON with a malformed string). We were unable to reproduce the issue as an end user, but we were able to reproduce it in code by manually providing a malformed string (half of a surrogate pair).
This suggests that other system channel calls may also receive malformed strings and potentially crash the app. In practice, we may never know the exact source of such input—it could come from a speech-to-text service, a custom keyboard, or another external provider.
As you mentioned, many services consume strings, and it’s difficult to guarantee that malformed input will never occur.
On Android, system channel calls are sanitized, so no crash occurs.
On iOS and macOS, the app crashes.I haven’t been able to test this on Windows/Linux platforms yet.
I see that you reviewed #179775, it basically avoids crash by returning nil and skipping the system call. It might not be the optimal solution as it's discussed in the comments.
But there is another PR (#179978) introducing a sanitizer to fix the problem. Could you please review it and share your ideas on that?
Yeah the approach makes sense, however when unpaired surrogates are discarded and replaced with the replacement character in text fields, the framework will likely receive an update telling it that the string in the text field has changed, and the framework would usually invoke user callbacks like
TextField.onChangedassuming the change is user input originated from the IME.This IMO is acceptable but not ideal, and in that case I think it's more important to let developers know that if you have malformed strings in a text field, it may not crash in production but the behavior is not defined so all bets are off.
- addedpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.and removedframeworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.
on Aug 17, 2026
Steps to reproduce
App crashes on iOS when a
TextFieldcontains malformed Unicode (e.g., half of a surrogate pair such as\u{DFFF}).Expected results
No crash
Actual results
Crash
Code sample
Code sample
Screenshots or Video
Screenshots / Video demonstration
[Upload media here]
Logs
Logs
Flutter Doctor output