Странный журнал аварий, связанный с CALayer - PullRequest
1 голос
/ 20 декабря 2011

Я столкнулся сегодня со странной ошибкой в ​​приложении, над которым я работаю.Проблема была с модулем каталога.Над каждой страницей была небольшая черная область, так как страница не занимала 100% экрана.Нажатие на эту зону приведет к сбою.

Мой журнал сбоев выглядит примерно так:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_PROTECTION_FAILURE at 0x2fd00fec
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   QuartzCore                      0x35d812ac CA::Transaction::ensure_compat() + 0
1   QuartzCore                      0x35da2648 CALayerMapGeometry_(CALayer*, CALayer*, void (*)(void*, CA::Mat4<double> const&), void (*)(void*, CA::Mat4<double> const&), void*) + 28
2   QuartzCore                      0x35da25f8 -[CALayer convertPoint:fromLayer:] + 52
3   UIKit                           0x32457018 -[UIView(Geometry) convertPoint:fromView:] + 68
4   UIKit                           0x32456d40 -[UIView(Geometry) hitTest:withEvent:] + 172
5   UIKit                           0x32456d50 -[UIView(Geometry) hitTest:withEvent:] + 188
(...)repeat the line above^ until it reached 511
511 UIKit                           0x32456d50 -[UIView(Geometry) hitTest:withEvent:] + 188

Более того, вскоре после этого xcode завершается сбоем.Навигатор отладки показывает мне что-то еще более странное: http://i43.tinypic.com/5txnq0.png и затем продолжает ОГРОМНЫЙ список, как здесь: http://i41.tinypic.com/2h81ctw.png

Я действительно не знаю, с чего начать ...Модуль каталога устарел и хорошо протестирован, а такого никогда раньше не было.Я знаю, что есть много переменных и вещей, которые могут повлиять на приложение, но если бы кто-нибудь мог пролить хоть немного света на это, я был бы очень благодарен. Как я уже сказал, я даже не знаю, как начать подходить к этому вопросу,это не похоже на ваш обычный "доступ к освобожденному объекту", "утечка памяти" или другие проблемы, с которыми я до сих пор сталкивался

1 Ответ

10 голосов
/ 20 декабря 2011

У вас где-то бесконечная рекурсия. Вы переопределили -[UIView hitTest:withEvent:] где-нибудь? Это было бы хорошее место для начала.

...