Сбой [NSURLConnection releaseDelegate] в функции без NSURLConnections, как я могу быть виновником? - PullRequest
1 голос
/ 10 мая 2011

Алло, Я экспериментирую с очень жестоким сбоем, который обнаруживается в журналах устройства следующим образом:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x50000008
Crashed Thread:  0`

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib               0x33b24c98 objc_msgSend + 16
1   Foundation                    0x3429465a _NSURLConnectionReleaseClient + 30
2   CFNetwork                     0x355ac608 ClientContextHolder<CFURLConnectionClient_V4>::forget() + 20
3   CFNetwork                     0x355ac5ea URLConnectionClient::releaseClientLocked() + 34
4   CFNetwork                     0x355a0e9a URLConnectionClient::processEvents() + 170
5   CFNetwork                     0x355a0de2 URLConnection::multiplexerClientPerform(RunLoopMultiplexer*) + 30
6   CFNetwork                     0x355a0d54 MultiplexerSource::perform() + 120
7   CFNetwork                     0x355a0cd2 MultiplexerSource::_perform(void*) + 2
8   CoreFoundation                0x3039ca72 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
9   CoreFoundation                0x3039e758 __CFRunLoopDoSources0 + 376
10  CoreFoundation                0x3039f4e4 __CFRunLoopRun + 224
11  CoreFoundation                0x3032febc CFRunLoopRunSpecific + 224
12  CoreFoundation                0x3032fdc4 CFRunLoopRunInMode + 52
13  GraphicsServices              0x35571418 GSEventRunModal + 108
14  GraphicsServices              0x355714c4 GSEventRun + 56
15  UIKit                         0x358c7d62 -[UIApplication _run] + 398
16  UIKit                         0x358c5800 UIApplicationMain + 664
17  inArrivo                      0x000023ca main (main.m:14)
18  inArrivo                      0x00002394 start + 32

После включения NSZombie у меня также происходит сбой в журнале компилятора следующей формы:

2011-05-09 16: 12: 24.400 inArrivo [5019: 707] * - [NSURLConnection releaseDelegate]: сообщение отправлено освобожденному экземпляру 0x5d61670

появляется в главном приложении с последним NSLog, исходящим из функции без URL-соединений. Также, если я удаляю некоторые части очень невинного кода из этой функции, не происходит сбоя, и то же самое происходит, когда я запускаю полное приложение на симуляторе.

Может ли кто-нибудь дать мне несколько советов о том, что я могу сделать, чтобы найти фрагмент кода, вызывающий сбой? Обычная отладка, конечно, здесь мало поможет.

Спасибо, Фабрицио Бартоломуччи

1 Ответ

1 голос
/ 10 мая 2011

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

...