Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

sujithkrishnan

macrumors 6502
Original poster
May 9, 2008
265
0
Bangalore
Hi,

I am attaching the screenshot of the INSTRUMENTS mem-leak stach trace.
When i go to the line mentioned in INSTRUMENTS, i found leak is in the following lines....


INSTRUMENTS Showing REALLOC in this line... ( I am calling this line many times in file, but i am not using any explicit alloc for any of variable)
This line is in a method and method returns me the NSData it recieved from URL, when i pass the URL to it...
Code:
-(NSData *)httpConnectionHandler:(NSString *)URL  xmlString:(NSMutableString *)xmlDataInStringForm
{
	
	
	NSString *URLString = [NSString stringWithFormat:@"http://stage.digby.com/30ss/%@?%@",URL,xmlDataInStringForm];
	
	URLString = [URLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];	
	
	NSMutableURLRequest *orderRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:URLString]];
	[orderRequest addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
	[orderRequest setHTTPMethod:@"GET"];
	
	NSURLResponse *orderResponse=nil;
	NSError *orderResponseError=nil;
	
	[COLOR="Red"]NSData *recievedOrderData = [NSURLConnection sendSynchronousRequest:orderRequest returningResponse:&orderResponse error:&orderResponseError];[/COLOR]
		
	return recievedOrderData;
	

}

Another leak is showing in this line
Code:
// praserObject is a property...
[COLOR="Red"]parserObject = [[NSXMLParser alloc] initWithData:receivedData1];
[/COLOR]

(I think in following line, the previous string is losing its reference, when we oveerwrite with new string...)
Code:
[COLOR="Red"]
URLString = [URLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];	
[/COLOR]

But what wrong woth following?????????
Instruments showing
Code:
BOOL success = [NSKeyedArchiver archiveRootObject:[CustomerInfo getCustomerObject] toFile:writableDBPath];

Code:
if([[itemObject.iImg substringToIndex:4] isEqualToString:@"http"])
	 {
		 //NSAutoreleasePool *poolObj = [[NSAutoreleasePool alloc]init];
		 
		 [COLOR="Red"]NSURL *urlString = [[NSURL alloc]initWithString:itemObject.imgName];[/COLOR]
		 NSData *data  = [[NSData alloc]initWithContentsOfURL:urlString];
		 UIImage *img = [[UIImage alloc]initWithData:data];
		 cell.image = img; 
		 [img release];
		 [data release];
		 [urlString release];     //[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:itemObject.iImg]]];
		
		 //[poolObj drain];
	}
	else
	{ 
		 cell.image = [UIImage imageNamed:itemObject.iImg];
	}
	     state = 1;
	}			 
	
	return cell;
 

Attachments

  • Picture 1.png
    Picture 1.png
    311.9 KB · Views: 114
Remote and Local Server

Hi all,

May I know what is the server you are using , Remote server or local server.
I found a strange behaviours for the http connection using NSURL.

a) When I am using the remote server,
I am not getting any memory leak.
b) When I am using the local server
i) with IP Address in the url, I am didnt got any memory leak.
ii) with Domain name(eg: http://somelocalserver/test1.xml) I am getting the memory leaks.

So If u find any issue related to this or any solution for the part b. or reasons for this behaviour please reply.

Thank u.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.