Crash Dispatch queue: com.apple.CFURLCACHE_work_queue
Crash Dispatch queue: com.apple.CFURLCACHE_work_queue
- Subject: Crash Dispatch queue: com.apple.CFURLCACHE_work_queue
- From: parth r <email@hidden>
- Date: Mon, 16 Jun 2014 19:31:16 +0530
Hi all,
I am seeing crashes in my daemon when I use dispatch_async() in a for(;;)
loop.
Crashed Thread: 8 Dispatch queue: com.apple.CFURLCACHE_work_queue
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: EXC_I386_GPFLT
*Background*
My daemon processes url's and in one of the function I have to check
against server for evaluation. The crash is happening after url's are sent
to the server and getting the response successfully. After analysis of the
crash log I do see that CFRelease is called and is crashing after that. I
am trying to use GCD for the first time and any help will be appreciated.
Below is my code snippet,
*- (void)sendRequest: (NSString *) urlRequest*
{
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init]
autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"GET"];
NSHTTPURLResponse * response;
NSError * error = NULL;
NSData* data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response error:&error];
if ([data length] >0 && error == nil && [response statusCode] == 200)
{
NSError *error;
NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data
options:0 error:&error];
NSLog(@"New Verify.Json Dict: %@", jsonDict);
}
}
*-(void) process_URL_request()*
{
// do small process to get NSString* url and pass the URL to
sendRequest() fuction.
dispatch_queue_t queue = dispatch_get_global_queue(
DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
[self sendRequest:url];
});
}
int main()
{
for(;;) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
*process_URL_request();*
[pool release];
}
}
*Below is an excerpt from the crash log*
Thread 8 Crashed:: Dispatch queue: com.apple.CFURLCACHE_work_queue
0 libobjc.A.dylib 0x00007fff91bf9750 objc_msgSend_vtable14
+ 16
1 com.apple.CoreFoundation 0x00007fff917d728a CFRelease + 170
2 com.apple.CFNetwork 0x00007fff89dae766
__CFURLCacheNode::~__CFURLCacheNode() + 84
3 com.apple.CFNetwork 0x00007fff89dae703
__CFURLCacheNode::~__CFURLCacheNode() + 17
4 com.apple.CFNetwork 0x00007fff89dacd1e
ProcessCacheTasks(__CFURLCache*, bool) + 433
5 com.apple.CFNetwork 0x00007fff89dac69c
_CFURLCacheTimerCallback(void*) + 484
6 libdispatch.dylib 0x00007fff915700b6
_dispatch_client_callout + 8
7 libdispatch.dylib 0x00007fff9157229b
_dispatch_source_invoke + 691
8 libdispatch.dylib 0x00007fff91571305 _dispatch_queue_invoke
+ 72
9 libdispatch.dylib 0x00007fff91571448 _dispatch_queue_drain
+ 180
10 libdispatch.dylib 0x00007fff915712f1 _dispatch_queue_invoke
+ 52
11 libdispatch.dylib 0x00007fff915711c3
_dispatch_worker_thread2 + 249
12 libsystem_c.dylib 0x00007fff8bc05cdb _pthread_wqthread + 404
13 libsystem_c.dylib 0x00007fff8bbf0191 start_wqthread + 13
thanks,
~PR
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden