Не удается найти причину сбоя-Тип исключения: EXC_BREAKPOINT (SIGTRAP)

#ios #xcode #debugging #crash #autofill

#iOS #xcode #отладка #сбой #автозаполнение

Вопрос:

Я был бы очень признателен, если бы кто-нибудь мог потратить свое время, чтобы помочь мне!!!

С чем я сталкиваюсь сейчас Я пытался представить контроллер представления из расширения, и приложение разбилось, не выдав мне строку кода ошибки.

Что я пробовал: я добавил много точек останова, обнаружил, что если я не представлю контроллер представления таблицы для отображения правильной информации, сбой не произойдет. Но после презентации, после правильной загрузки информации в таблицу, через несколько секунд происходит сбой.

Что я могу предоставить: я могу предоставить полный отчет о сбое:

 Incident Identifier: 03B53A6D-E069-4C4B-98C0-CB61C8C1A688
CrashReporter Key:   1dd64f8867f0eda63dfc5248be178fbebdd71653
Hardware Model:      iPhone9,2
Process:             EverykeyAutofillExtension [98811]
Path:                /private/var/containers/Bundle/Application/63F02B78-71D9-405B-AC3F-314868CA262D/Privacy.app/PlugIns/PrivacyExtension.appex/EverykeyAutofillExtension
Identifier:          comPrivacy.ios.PrivacyAutofillExtension
Version:             12 (2.4.0)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.Privacy.ios.PrivacyAutofillExtension [24965]


Date/Time:           2020-08-26 14:20:40.7959 -0400
Launch Time:         2020-08-26 14:20:03.4675 -0400
OS Version:          iPhone OS 13.5.1 (17F80)
Release Type:        User
Baseband Version:    7.60.01
Report Version:      104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000019819e9d0
Termination Signal: Trace/BPT trap: 5
Termination Reason: Namespace SIGNAL, Code 0x5
Terminating Process: exc handler [98811]
Triggered by Thread:  1

Last Exception Backtrace:
0   CoreFoundation                 0x19853d794 __exceptionPreprocess   224
1   libobjc.A.dylib                0x19825fbcc objc_exception_throw   55
2   Foundation                     0x198a151fc _AssertAutolayoutOnAllowedThreadsOnly   419
3   Foundation                     0x19882207c -[NSISEngine _optimizeWithoutRebuilding]   67
4   Foundation                     0x198821f98 -[NSISEngine optimize]   111
5   Foundation                     0x198821c0c -[NSISEngine performPendingChangeNotifications]   111
6   UIKitCore                      0x19ca97e88 -[UIView  15605384 (CALayerDelegate) _wantsReapplicationOfAutoLayoutWithLayoutDirtyOnEntry:]   171
7   UIKitCore                      0x19ca988c4 -[UIView  15608004 (CALayerDelegate) layoutSublayersOfLayer:]   2247
8   QuartzCore                     0x19f02b724 -[CALayer layoutSublayers]   283
9   QuartzCore                     0x19f03187c CA::Layer::layout_if_needed  1407100 (CA::Transaction*)   467
10  QuartzCore                     0x19f03c3c0 CA::Layer::layout_and_display_if_needed  1450944 (CA::Transaction*)   139
11  QuartzCore                     0x19ef84f1c CA::Context::commit_transaction  700188 (CA::Transaction*, double)   295
12  QuartzCore                     0x19efae8bc CA::Transaction::commit  870588 ()   675
13  QuartzCore                     0x19efaf85c CA::Transaction::release_thread  874588 (void*)   227
14  libsystem_pthread.dylib        0x198256f8c _pthread_tsd_cleanup   579
15  libsystem_pthread.dylib        0x198253df4 _pthread_exit   79
16  libsystem_pthread.dylib        0x198254e64 _pthread_wqthread_exit   95
17  libsystem_pthread.dylib        0x198254c04 _pthread_wqthread   415
18  libsystem_pthread.dylib        0x198257740 start_wqthread   7


Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib         0x0000000198311198 mach_msg_trap   8
1   libsystem_kernel.dylib         0x000000019831060c mach_msg   72
2   CoreFoundation                 0x00000001984bb468 __CFRunLoopServiceMachPort   148
3   CoreFoundation                 0x00000001984b649c __CFRunLoopRun   1160
4   CoreFoundation                 0x00000001984b5ce8 CFRunLoopRunSpecific   424
5   GraphicsServices               0x00000001a260038c GSEventRunModal   160
6   UIKitCore                      0x000000019c5e4444 UIApplicationMain   1932
7   libxpc.dylib                   0x00000001981218fc _xpc_objc_main.cold.3   208
8   libxpc.dylib                   0x000000019810d4f0 _xpc_objc_main   212
9   libxpc.dylib                   0x000000019810fb4c xpc_main   148
10  Foundation                     0x0000000198834534  [NSXPCListener serviceListener]   0
11  PlugInKit                      0x00000001a599fd50 0x1a5989000   93520
12  PlugInKit                      0x00000001a599fa68 0x1a5989000   92776
13  PlugInKit                      0x00000001a59a015c 0x1a5989000   94556
14  Foundation                     0x0000000198a0d2c0 NSExtensionMain   64
15  libdyld.dylib                  0x000000019833d8f0 start   4

Thread 1 Crashed:
0   libsystem_c.dylib              0x000000019819e9d0 __abort   144
1   libsystem_c.dylib              0x000000019819e9d0 __abort   144
2   libsystem_c.dylib              0x000000019819e940 __abort   0
3   libc  abi.dylib                0x0000000198306cc0 __cxxabiv1::__aligned_malloc_with_fallback  76992 (unsigned long)   0
4   libc  abi.dylib                0x00000001982f8e10 demangling_unexpected_handler  19984 ()   0
5   libobjc.A.dylib                0x000000019825fe80 _objc_terminate  24192 ()   124
6   libc  abi.dylib                0x000000019830614c std::__terminate(void (*)  74060 ())   16
7   libc  abi.dylib                0x0000000198308bd8 __cxa_get_exception_ptr   0
8   libc  abi.dylib                0x0000000198308b98 __cxxabiv1::exception_cleanup_func  84888 (_Unwind_Reason_Code, _Unwind_Exception*)   0
9   libobjc.A.dylib                0x000000019825fcf8 _objc_exception_destructor  23800 (void*)   0
10  Foundation                     0x0000000198a151fc -[NSISEngine tryToOptimizeReturningMutuallyExclusiveConstraints]   0
11  Foundation                     0x000000019882207c -[NSISEngine _optimizeWithoutRebuilding]   68
12  Foundation                     0x0000000198821f98 -[NSISEngine optimize]   112
13  Foundation                     0x0000000198821c0c -[NSISEngine performPendingChangeNotifications]   112
14  UIKitCore                      0x000000019ca97e88 -[UIView  15605384 (CALayerDelegate) _wantsReapplicationOfAutoLayoutWithLayoutDirtyOnEntry:]   172
15  UIKitCore                      0x000000019ca988c4 -[UIView  15608004 (CALayerDelegate) layoutSublayersOfLayer:]   2248
16  QuartzCore                     0x000000019f02b724 -[CALayer layoutSublayers]   284
17  QuartzCore                     0x000000019f03187c CA::Layer::layout_if_needed  1407100 (CA::Transaction*)   468
18  QuartzCore                     0x000000019f03c3c0 CA::Layer::layout_and_display_if_needed  1450944 (CA::Transaction*)   140
19  QuartzCore                     0x000000019ef84f1c CA::Context::commit_transaction  700188 (CA::Transaction*, double)   296
20  QuartzCore                     0x000000019efae8bc CA::Transaction::commit  870588 ()   676
21  QuartzCore                     0x000000019efaf85c CA::Transaction::release_thread  874588 (void*)   228
22  libsystem_pthread.dylib        0x0000000198256f8c _pthread_tsd_cleanup   580
23  libsystem_pthread.dylib        0x0000000198253df4 _pthread_exit   80
24  libsystem_pthread.dylib        0x0000000198254e64 _pthread_wqthread_legacy_worker_wrap   0
25  libsystem_pthread.dylib        0x0000000198254c04 _pthread_wqthread   416
26  libsystem_pthread.dylib        0x0000000198257740 start_wqthread   8

Thread 2 name:  com.apple.uikit.eventfetch-thread
Thread 2:
0   libsystem_kernel.dylib         0x0000000198311198 mach_msg_trap   8
1   libsystem_kernel.dylib         0x000000019831060c mach_msg   72
2   CoreFoundation                 0x00000001984bb468 __CFRunLoopServiceMachPort   148
3   CoreFoundation                 0x00000001984b649c __CFRunLoopRun   1160
4   CoreFoundation                 0x00000001984b5ce8 CFRunLoopRunSpecific   424
5   Foundation                     0x00000001987f901c -[NSRunLoop  32796 (NSRunLoop) runMode:beforeDate:]   228
6   Foundation                     0x00000001987f8efc -[NSRunLoop  32508 (NSRunLoop) runUntilDate:]   88
7   UIKitCore                      0x000000019c6875dc -[UIEventFetcher threadMain]   152
8   Foundation                     0x0000000198927e20 __NSThread__start__   848
9   libsystem_pthread.dylib        0x0000000198253d98 _pthread_start   156
10  libsystem_pthread.dylib        0x000000019825774c thread_start   8

Thread 3:
0   libsystem_pthread.dylib        0x0000000198257738 start_wqthread   0

Thread 4 name:  com.apple.NSURLConnectionLoader
Thread 4:
0   libsystem_kernel.dylib         0x0000000198311198 mach_msg_trap   8
1   libsystem_kernel.dylib         0x000000019831060c mach_msg   72
2   CoreFoundation                 0x00000001984bb468 __CFRunLoopServiceMachPort   148
3   CoreFoundation                 0x00000001984b649c __CFRunLoopRun   1160
4   CoreFoundation                 0x00000001984b5ce8 CFRunLoopRunSpecific   424
5   CFNetwork                      0x000000019b776894 0x19b775000   6292
6   Foundation                     0x0000000198927e20 __NSThread__start__   848
7   libsystem_pthread.dylib        0x0000000198253d98 _pthread_start   156
8   libsystem_pthread.dylib        0x000000019825774c thread_start   8

Thread 5:
0   libsystem_pthread.dylib        0x0000000198257738 start_wqthread   0

Thread 6:
0   libsystem_pthread.dylib        0x0000000198257738 start_wqthread   0

Thread 7:
0   libsystem_pthread.dylib        0x0000000198257738 start_wqthread   0

Thread 1 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000001
    x4: 0x0000000000000000   x5: 0x0000000000989680   x6: 0x000000000000006e   x7: 0xffffffffffffffec
    x8: 0x00000000ffffffe7   x9: 0x00000001e565b228  x10: 0x00000000000003e8  x11: 0x000000000000000b
   x12: 0x00000001d388d080  x13: 0x0000000000000001  x14: 0x0000000000000010  x15: 0x0000000000000007
   x16: 0x0000000000000030  x17: 0x0000000000000000  x18: 0x0000000000000000  x19: 0x000000016fa62b58
   x20: 0x00000001e2581810  x21: 0x000000016fa62c10  x22: 0x0000000281b4ce40  x23: 0x00000001d3b33000
   x24: 0x0000000000000001  x25: 0x0000000000000068  x26: 0x000000000000009c  x27: 0x0000000000000068
   x28: 0x000000002b310019   fp: 0x000000016fa62b70   lr: 0x000000019819e9d0
    sp: 0x000000016fa62b40   pc: 0x000000019819e9d0 cpsr: 0x40000000
   esr: 0xf2000001  Address size fault

  

Комментарии:

1. Очень сложно помочь в отладке без минимального воспроизводимого примера. Но поскольку код запускается -[NSISEngine tryToOptimizeReturningMutuallyExclusiveConstraints] , я бы посмотрел на ваши ограничения автоматической компоновки.

2. @Howlium Я думаю, что я не представил свой VC из основного потока, это может быть основной причиной возникновения этой проблемы. На данный момент, пока все хорошо. Спасибо за вашу заботу.

Ответ №1:

Посмотрите, ваше приложение разбилось на:

 Triggered by Thread:  1
  

и использовать

 [CALayer layoutSublayers]
  

похоже, вы обновляете пользовательский интерфейс не в основном потоке где-то

Комментарии:

1. Да, после использования DispatchQueue.main.async для представления VC сбой прекращается (после попытки 10 раз ничего не произошло) Я думаю, что ваша идея — это решение для меня. Спасибо за вашу помощь.

Ответ №2:

Всякий раз, когда вы видите что-то подобное

 1   libobjc.A.dylib                0x19825fbcc objc_exception_throw   55
  

Вы должны перейти на вкладку точки останова в Xcode, нажать кнопку , затем точку останова исключения…

Это создаст точку останова под названием «Все исключения Objective-C». Это приостановит работу отладчика в момент возникновения исключения, позволяя вам увидеть точное неправильное использование API Apple, которое вызывает исключение.

Комментарии:

1. да, после добавления точки останова исключения я получил «Исключение: «Изменения в механизме компоновки не должны выполняться из фонового потока после того, как к нему был получен доступ из основного потока.»» После того, как я представлю текущий VC внутри основного потока, проблема не должна возникать.