Случайные сбои в iOS — Xamarin Forms — EXC_BAD_ACCESS (SIGSEGV) — KERN_INVALID_ADDRESS по адресу 0x0000000000000000

Мы разработали мобильное приложение Xamarin Forms 4.6. Приложение отлично работает на Android, но случайно вылетает на iOS. Журнал сбоев вылетает случайным образом при одной и той же функции:

{"app_name":"project.iOS","timestamp":"2020-11-26 23:04:03.00 +0530","app_version":"1.11","slice_uuid":"de6bf2d0-d21c-352c-917f-3f5224b43fc3","adam_id":0,"build_version":"1.33","platform":2,"bundleID":"com.organization.

project
------------

","share_with_app_devs":0,"is_first_party":0,"bug_type":"109","os_version":"iPhone OS 14.2 (18B92)","incident_id":"AF32A3B5-51E9-4FA7-98A4-1B7D453C5A06","name":"project.iOS"}
Incident Identifier: AF32A3B5-51E9-4FA7-98A4-1B7D453C5A06
CrashReporter Key:   2ca42bd7d42c78e1da5f9c732e6d004a93326ce9
Hardware Model:      iPhone12,1
Process:             project.iOS [3506]
Path:                /private/var/containers/Bundle/Application/7520D1BF-048A-4D14-A16A-F6420D464EA2/project.iOS.app/project.iOS
Identifier:          com.organization.project
Version:             1.33 (1.11)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.organization.project [516]


Date/Time:           2020-11-26 23:04:02.4013 +0530
Launch Time:         2020-11-26 23:03:45.6520 +0530
OS Version:          iPhone OS 14.2 (18B92)
Release Type:        User
Baseband Version:    2.02.04
Report Version:      104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
VM Region Info: 0 is not in any region.  Bytes before following region: 4298080256
      REGION TYPE                 START - END      [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      __TEXT                   1002f8000-103128000 [ 46.2M] r-x/r-x SM=COW  ...chenomics.iOS

Triggered by Thread:  22

Thread 0 name:  tid_407  Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib          0x00000001dc6e72d0 0x1dc6e3000 + 17104
1   libsystem_kernel.dylib          0x00000001dc6e6660 0x1dc6e3000 + 13920
2   CoreFoundation                  0x00000001af787c30 0x1af6e7000 + 658480
3   CoreFoundation                  0x00000001af781c14 0x1af6e7000 + 633876
4   CoreFoundation                  0x00000001af78121c 0x1af6e7000 + 631324
5   GraphicsServices                0x00000001c6800784 0x1c67fd000 + 14212
6   UIKitCore                       0x00000001b21ba200 0x1b15f3000 + 12349952
7   UIKitCore                       0x00000001b21bfa74 0x1b15f3000 + 12372596
8   project.iOS                 0x000000010178e0f8 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 344
9   project.iOS                 0x00000001016be750 UIKit_UIApplication_Main_string___intptr_intptr + 20735824 (UIApplication.cs:86)
10  project.iOS                 0x00000001016be6d4 UIKit_UIApplication_Main_string___string_string + 20735700 (UIApplication.cs:66)
11  project.iOS                 0x0000000100584604 project_iOS_Application_Main_string__ + 2672132 (/<unknown>:1)
12  project.iOS                 0x00000001009552f0 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 272
13  project.iOS                 0x0000000102e06fa8 mono_jit_runtime_invoke + 45150120 (mini-runtime.c:3165)
14  project.iOS                 0x0000000102ec265c mono_runtime_invoke_checked + 45917788 (object.c:3220)
15  project.iOS                 0x0000000102ec88b4 mono_runtime_exec_main_checked + 45942964 (object.c:5284)
16  project.iOS                 0x0000000102de5560 mono_jit_exec + 45012320 (driver.c:1328)
17  project.iOS                 0x0000000102fa26ec xamarin_main + 46835436 (monotouch-main.m:0)
18  project.iOS                 0x0000000100583ac0 main + 2669248 (main.m:246)
19  libdyld.dylib                   0x00000001af4416c0 0x1af440000 + 5824

Thread 22 name:  Thread Pool Worker
Thread 22 Crashed:
0   project.iOS                 0x0000000100fbd634 Mono_Net_Security_MobileAuthenticatedStream_ProcessRead_Mono_Net_Security_BufferOffsetSize + 13391412 (MobileAuthenticatedStream.cs:732)
1   project.iOS                 0x0000000100fba6d0 Mono_Net_Security_AsyncReadRequest_Run_Mono_Net_Security_AsyncOperationStatus + 13379280 (AsyncProtocolRequest.cs:326)
2   project.iOS                 0x0000000100fb9c70 Mono_Net_Security_AsyncProtocolRequest__ProcessOperationd__24_MoveNext + 13376624 (AsyncProtocolRequest.cs:223)
3   project.iOS                 0x0000000100713bcc System_Runtime_CompilerServices_AsyncMethodBuilderCore_MoveNextRunner_InvokeMoveNext_object + 156
4   project.iOS                 0x000000010068f2bc System_Threading_ExecutionContext_RunInternal_System_Threading_ExecutionContext_System_Threading_ContextCallback_object_bool + 428
5   project.iOS                 0x000000010068f0bc System_Threading_ExecutionContext_Run_System_Threading_ExecutionContext_System_Threading_ContextCallback_object_bool + 44
6   project.iOS                 0x0000000100713a88 System_Runtime_CompilerServices_AsyncMethodBuilderCore_MoveNextRunner_Run + 200
7   project.iOS                 0x00000001006b5e70 System_Threading_Tasks_AwaitTaskContinuation_RunOrScheduleAction_System_Action_bool_System_Threading_Tasks_Task_ + 112
8   project.iOS                 0x00000001006ae928 System_Threading_Tasks_Task_FinishContinuations + 392
9   project.iOS                 0x00000001006acee0 System_Threading_Tasks_Task_FinishStageThree + 160
10  project.iOS                 0x00000001011276b8 System_Threading_Tasks_Task_1_System_Nullable_1_int_TrySetResult_System_Nullable_1_int + 14874296 (Future.cs:424)
11  project.iOS                 0x0000000101126788 System_Runtime_CompilerServices_AsyncTaskMethodBuilder_1_System_Nullable_1_int_SetResult_System_Nullable_1_int + 14870408 (AsyncMethodBuilder.cs:608)
12  project.iOS                 0x0000000100fba410 Mono_Net_Security_AsyncProtocolRequest__InnerReadd__25_MoveNext + 13378576 (AsyncProtocolRequest.cs:267)
13  project.iOS                 0x0000000100713bcc System_Runtime_CompilerServices_AsyncMethodBuilderCore_MoveNextRunner_InvokeMoveNext_object + 156
14  project.iOS                 0x000000010068f2bc System_Threading_ExecutionContext_RunInternal_System_Threading_ExecutionContext_System_Threading_ContextCallback_object_bool + 428
15  project.iOS                 0x000000010068f0bc System_Threading_ExecutionContext_Run_System_Threading_ExecutionContext_System_Threading_ContextCallback_object_bool + 44
16  project.iOS                 0x0000000100713a88 System_Runtime_CompilerServices_AsyncMethodBuilderCore_MoveNextRunner_Run + 200
17  project.iOS                 0x00000001006b5e70 System_Threading_Tasks_AwaitTaskContinuation_RunOrScheduleAction_System_Action_bool_System_Threading_Tasks_Task_ + 112
18  project.iOS                 0x00000001006ae928 System_Threading_Tasks_Task_FinishContinuations + 392
19  project.iOS                 0x00000001006acee0 System_Threading_Tasks_Task_FinishStageThree + 160
20  project.iOS                 0x0000000100920bfc System_Threading_Tasks_Task_1_TResult_INT_TrySetResult_TResult_INT + 252
21  project.iOS                 0x000000010092cb18 System_Runtime_CompilerServices_AsyncTaskMethodBuilder_1_TResult_INT_SetResult_TResult_INT + 248
22  project.iOS                 0x0000000100fbffa8 Mono_Net_Security_MobileAuthenticatedStream__InnerReadd__66_MoveNext + 13402024 (MobileAuthenticatedStream.cs:633)
23  project.iOS                 0x0000000100713bcc System_Runtime_CompilerServices_AsyncMethodBuilderCore_MoveNextRunner_InvokeMoveNext_object + 156
24  project.iOS                 0x000000010068f2bc System_Threading_ExecutionContext_RunInternal_System_Threading_ExecutionContext_System_Threading_ContextCallback_object_bool + 428
25  project.iOS                 0x000000010068f0bc System_Threading_ExecutionContext_Run_System_Threading_ExecutionContext_System_Threading_ContextCallback_object_bool + 44
26  project.iOS                 0x0000000100713a88 System_Runtime_CompilerServices_AsyncMethodBuilderCore_MoveNextRunner_Run + 200
27  project.iOS                 0x00000001006b5e70 System_Threading_Tasks_AwaitTaskContinuation_RunOrScheduleAction_System_Action_bool_System_Threading_Tasks_Task_ + 112
28  project.iOS                 0x00000001006ae928 System_Threading_Tasks_Task_FinishContinuations + 392
29  project.iOS                 0x00000001006acee0 System_Threading_Tasks_Task_FinishStageThree + 160
30  project.iOS                 0x0000000100920bfc System_Threading_Tasks_Task_1_TResult_INT_TrySetResult_TResult_INT + 252
31  project.iOS                 0x000000010099846c gsharedvt_out_trampoline + 220
32  project.iOS                 0x000000010087f074 System_Threading_Tasks_ValueTask_1_ValueTaskSourceAsTask__c_TResult_GSHAREDVT___cctorb__4_0_object + 404
33  project.iOS                 0x00000001010b2ba0 System_Net_Sockets_Socket_AwaitableSocketAsyncEventArgs_InvokeContinuation_System_Action_1_object_object_bool + 14396320 (Socket.Tasks.cs:1040)
34  project.iOS                 0x00000001010b2180 System_Net_Sockets_Socket_AwaitableSocketAsyncEventArgs_OnCompleted_System_Net_Sockets_SocketAsyncEventArgs + 14393728 (Socket.Tasks.cs:870)
35  project.iOS                 0x00000001010b8e3c System_Net_Sockets_SocketAsyncEventArgs_Complete_internal + 14421564 (SocketAsyncEventArgs.cs:189)
36  project.iOS                 0x00000001010b51f8 System_Net_Sockets_Socket__c___cctorb__366_10_System_IAsyncResult + 14406136 (Socket.cs:1542)
37  project.iOS                 0x00000001010b9d54 System_Net_Sockets_SocketAsyncResult__c__Completeb__27_0_object + 14425428 (SocketAsyncResult.cs:157)
38  project.iOS                 0x00000001006966f4 System_Threading_QueueUserWorkItemCallback_System_Threading_IThreadPoolWorkItem_ExecuteWorkItem + 52
39  project.iOS                 0x00000001006944d8 System_Threading_ThreadPoolWorkQueue_Dispatch + 488
40  project.iOS                 0x000000010167e8d0 ObjCRuntime_Runtime_ThreadPoolDispatcher_System_Func_1_bool + 20474064 (Runtime.cs:289)
41  project.iOS                 0x0000000100696598 System_Threading__ThreadPoolWaitCallback_PerformWaitCallback + 136
42  project.iOS                 0x00000001009552f0 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 272
43  project.iOS                 0x0000000102e06fa8 mono_jit_runtime_invoke + 45150120 (mini-runtime.c:3165)
44  project.iOS                 0x0000000102ec3f78 mono_runtime_try_invoke + 45924216 (object.c:3161)
45  project.iOS                 0x0000000102f075c4 worker_callback + 46200260 (threadpool.c:386)
46  project.iOS                 0x0000000102f04ea0 worker_thread + 46190240 (threadpool-worker-default.c:476)
47  project.iOS                 0x0000000102f10638 start_wrapper_internal + 46237240 (threads.c:1288)
48  project.iOS                 0x0000000102f104bc start_wrapper + 46236860 (threads.c:1309)
49  libsystem_pthread.dylib         0x00000001f8c22b40 0x1f8c21000 + 6976
50  libsystem_pthread.dylib         0x00000001f8c2b768 0x1f8c21000 + 42856

EOF

Полный список сбоев здесь — https://gist.github.com/manishkung15wani/837a0f6c6326b3

См. также:  dyld: Библиотека не загружена: @ rpath / Alamofire.framework / Alamofire и AlamofireImage

Исключение всегда: Тип исключения: EXC_BAD_ACCESS (SIGSEGV) Подтип исключения: KERN_INVALID_ADDRESS в 0x0000000000000000

При сбое потока в Mono_Net_Security_MobileAuthenticatedStream_ProcessRead_Mono_Net_Security_BufferOffsetSize

Зависимости нашего проекта Xamarin следующие:

введите описание изображения здесь

Мы нашли эту ветку в репозиториях Xamarin Github — https://github.com/mono/mono/issues/19858

И мы гарантируем, что используем NSUrlSessionHandler.

Пожалуйста помоги. Огромное спасибо

Вы можете сначала обновить версию XF до последней (4.8.x), чтобы проверить, существует ли проблема.   —  person manishKungwani    schedule 27.11.2020

@ LucasZhang-MSFT с v4.8 у нас возникла проблема с UIWebView, из-за которой Apple AppStore отклонил приложение.   —  person manishKungwani    schedule 27.11.2020

Проверьте stackoverflow.com/questions/64369632/   —  person manishKungwani    schedule 27.11.2020

@ LucasZhang-MSFT Это было сделано. Таким образом, проблема была связана с кодом пользовательского интерфейса, работающим в фоновом потоке. Он работает на всех версиях iOS, кроме 14.2, где происходит случайный сбой. Любое мнение по этому поводу — developer.apple.com/forums/thread/666399   —  person manishKungwani    schedule 27.11.2020

@manishKungwani Вы символизировали крушение?   —  person manishKungwani    schedule 27.11.2020

@ LucasZhang-MSFT в фоновом потоке был код пользовательского интерфейса, мы исправили эту проблему, и теперь эти сбои происходят только в iOS 14.2 — developer.apple.com/forums/thread/666399. Какая-нибудь помощь возможна с этим?   —  person manishKungwani    schedule 28.11.2020

@SushiHangover Это упрощенные журналы сбоев.   —  person manishKungwani    schedule 28.11.2020

Понравилась статья? Поделиться с друзьями:
IT Шеф
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: