Je constate un blocage intermittent sur [version de l'analyseur]. Je dirais que je le vois environ 5% du temps, et les données que j'analyse varient entre chaque crash. Je ne peux pas pour la vie de moi comprendre pourquoi.Le blocage EXC_BAD_ACCESS lors de la libération de NSXMLParser
Avant de soumettre un rapport de bogue à Apple (qui, avec ma chance, ne sera pas reproductible dans l'exemple de code), quelqu'un a-t-il déjà rencontré ce problème et sait-il ce qui se passe?
NSData *d = [data copy]; // data is typically 2K-13K bytes
@synchronized (xmlParserLock) {
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:d];
[parser setDelegate:self];
[parser setShouldProcessNamespaces:NO];
[parser setShouldReportNamespacePrefixes:NO];
[parser setShouldResolveExternalEntities:NO];
[parser parse];
[parser release];
[pool release];
}
[d release];
Et voici le gdb 'où' la production, qui pointe vers [version de l'analyseur]:
#0 0x93d08d12 in xmlCharEncCloseFunc()
#1 0x93cfc0e3 in xmlFreeParserInputBuffer()
#2 0x93cfc08f in xmlFreeInputStream()
#3 0x93cfbdac in xmlFreeParserCtxt()
#4 0x961384d6 in -[NSXMLParser dealloc]()
#5 0x00149de7 in -[MyParserClass parseResponse] (self=0x104e9f0, _cmd=0x1766dc) at /Users/mike/Documents/MyApp/Classes/MyParserClass.m:60
Merci d'avance pour toute aide!
est le fragment de méthode que vous montrer ici MyParserClass, et est la ligne [version de l'analyseur] 60? –
Brent: C'est correct. –