• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Async NSURLConnection - Crashes - Call Stacks
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Async NSURLConnection - Crashes - Call Stacks


  • Subject: Re: Async NSURLConnection - Crashes - Call Stacks
  • From: Jeff Johnson <email@hidden>
  • Date: Mon, 19 Apr 2010 23:55:48 -0500

Hi Jerry.

I don't know about the FTP crash, but I believe that the other two crashes are due to a 10.6.3 regression. I've filed <rdar://problem/7816615> "10.6.3 Regression? Reproducible NSURLConnection crash with 301 redirects".

For more information and a sample Xcode project demonstrating the crash, see this ClickToFlash ticket:

https://rentzsch.lighthouseapp.com/projects/24342/tickets/615-crash-at-httpwwwpingreehousegovlegisappropriations

-Jeff


On Apr 19, 2010, at 11:33 PM, Jerry Krinock wrote:

> I can find in the list archives for 2005-2007 quite a few mentions of crashes when using asynchronous NSURLConnection, and in 2005 I myself reported Problem ID 4347324.  The crashes seemed to stop without a definitive resolution, possibly with Mac OS 10.5, but have reappeared in my apps recently.  A crash is likeliest when the app is rapidly creating, reading the first packet, cancelling, and releasing NSURLConnections at a rate of 20 per second, has 10-20 such connections open simultaneously, and may be more likely on multi-processor/multi-core Mac Pro systems with high-speed network access.
>
> So on Wednesday I've scheduled time at an ADC lab to beat on this.  Below, I've pasted in call stacks for the three crash reports I've collected; one from my testing and two from users.  The first two are somewhat similar, involving +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] on a secondary thread.  I suppose this is a callback when data arrives.  But the third one is quite different, and is on the main thread.
>
> I'd appreciate any suggestions of what to look for, or any better explanation of what's going on in those call stacks.  I know memory management is a possible issue, although I've been there many times, I'm looking again.
>
> Thank you,
>
> Jerry Krinock
>
> *** Jerry's Crash ***
> Thread 7 crashed:
> #0	0x92b37120 in CFReadStreamCopyError
> #1	0x913af407 in FTPProtocol::ftpReadStreamEvent
> #2	0x92afedd3 in _signalEventSync
> #3	0x92aff7be in _cfstream_solo_signalEventSync
> #4	0x92afea88 in _CFStreamSignalEvent
> #5	0x92aff707 in CFReadStreamSignalEvent
> #6	0x9136ffcd in _DataStreamCallBack
> #7	0x92afedd3 in _signalEventSync
> #8	0x92afed58 in _cfstream_shared_signalEventSync
> #9	0x92a7515b in __CFRunLoopDoSources0
> #10	0x92a72c1f in __CFRunLoopRun
> #11	0x92a720f4 in CFRunLoopRunSpecific
> #12	0x92a71f21 in CFRunLoopRunInMode
> #13	0x93dc6434 in +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:]
> #14	0x93d8d8dc in -[NSThread main]
> #15	0x93d8d88c in __NSThread__main__
> #16	0x914c2a19 in _pthread_start
> #17	0x914c289e in thread_start
>
>
> *** Jon's Crash ***
> Thread 3 Crashed:
> 0   com.apple.CoreFoundation          0x91a2926e CFHash + 174
> 1   com.apple.CoreFoundation          0x91a2906c ___CFBasicHashFindBucket1 + 444
> 2   com.apple.CoreFoundation          0x91a3125c CFBasicHashFindBucket + 252
> 3   com.apple.CoreFoundation          0x91a31123 CFDictionaryGetValue + 131
> 4   com.apple.CoreFoundation          0x91b17a95 _CFStreamDetachSource + 405
> 5   com.apple.CoreFoundation          0x91a4edeb _CFStreamClose + 75
> 6   com.apple.CFNetwork               0x97fec8e1 HTTPProtocol::destroyReadStream() + 173
> 7   com.apple.CFNetwork               0x97fec7b1 HTTPProtocol::cleanupStreams() + 93
> 8   com.apple.CFNetwork               0x97feb221 HTTPProtocol::httpReadStreamEvent(unsigned long) + 365
> 9   com.apple.CoreFoundation          0x91adfdd3 _signalEventSync + 99
> 10  com.apple.CoreFoundation          0x91adfd58 _cfstream_shared_signalEventSync + 664
> 11  com.apple.CoreFoundation          0x91a5615b __CFRunLoopDoSources0 + 1563
> 12  com.apple.CoreFoundation          0x91a53c1f __CFRunLoopRun + 1071
> 13  com.apple.CoreFoundation          0x91a530f4 CFRunLoopRunSpecific + 452
> 14  com.apple.CoreFoundation          0x91a52f21 CFRunLoopRunInMode + 97
> 15  com.apple.Foundation              0x9689d434 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 329
> 16  com.apple.Foundation              0x968648dc -[NSThread main] + 45
> 17  com.apple.Foundation              0x9686488c __NSThread__main__ + 1499
> 18  libSystem.B.dylib                 0x90567a19 _pthread_start + 345
> 19  libSystem.B.dylib                 0x9056789e thread_start + 34
>
> *** Tony's Crash ***
> Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
> 0   com.apple.CoreFoundation      	0x99138d04 CFRelease + 196
> 1   com.apple.CFNetwork           	0x905e58ec HTTPProtocol::destroyReadStream() + 184
> 2   com.apple.CFNetwork           	0x905e57b1 HTTPProtocol::cleanupStreams() + 93
> 3   com.apple.CFNetwork           	0x905e5acb HTTPProtocol::~HTTPProtocol() + 155
> 4   com.apple.CoreFoundation      	0x99138ea1 _CFRelease + 353
> 5   com.apple.CFNetwork           	0x905e554c URLConnectionLoader::reallyCleanUpProtocol(unsigned char) + 240
> 6   com.apple.CFNetwork           	0x90640249 URLConnectionLoader::cleanupProtocolFromClientThread() + 25
> 7   com.apple.CFNetwork           	0x905bb2c8 URLConnectionClient::getRequestForTransmission(_CFURLResponse*, _CFURLRequest const*, __CFError**) + 574
> 8   com.apple.CFNetwork           	0x905bacaf URLConnectionClient::_clientWillSendRequest(_CFURLRequest const*, _CFURLResponse*, URLConnectionClient::ClientConnectionEventQueue*) + 223
> 9   com.apple.CFNetwork           	0x9063f54a URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 148
> 10  com.apple.CFNetwork           	0x905baace URLConnectionClient::processEvents() + 94
> 11  com.apple.CFNetwork           	0x905ba96f MultiplexerSource::perform() + 183
> 12  com.apple.CoreFoundation      	0x9916b15b __CFRunLoopDoSources0 + 1563
> 13  com.apple.CoreFoundation      	0x99168c1f __CFRunLoopRun + 1071
> 14  com.apple.CoreFoundation      	0x991680f4 CFRunLoopRunSpecific + 452
> 15  com.apple.CoreFoundation      	0x99167f21 CFRunLoopRunInMode + 97
> 16  com.apple.HIToolbox           	0x9827b0fc RunCurrentEventLoopInMode + 392
> 17  com.apple.HIToolbox           	0x9827aeb1 ReceiveNextEventCommon + 354
> 18  com.apple.HIToolbox           	0x9827ad36 BlockUntilNextEventMatchingListInMode + 81
> 19  com.apple.AppKit              	0x979ae135 _DPSNextEvent + 847
> 20  com.apple.AppKit              	0x979ad976 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 156
> 21  com.apple.AppKit              	0x9796fbef -[NSApplication run] + 821
> 22  com.apple.AppKit              	0x97967c85 NSApplicationMain + 574

_______________________________________________

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

  • Follow-Ups:
    • NSURLConnection Crashes : Mac OS 10.6.3 Edition! (Was: Async NSURLConnection...)
      • From: Jerry Krinock <email@hidden>
References: 
 >Async NSURLConnection - Crashes - Call Stacks (From: Jerry Krinock <email@hidden>)

  • Prev by Date: Async NSURLConnection - Crashes - Call Stacks
  • Next by Date: Re: where is the basic NSString literal escape documentation?
  • Previous by thread: Async NSURLConnection - Crashes - Call Stacks
  • Next by thread: NSURLConnection Crashes : Mac OS 10.6.3 Edition! (Was: Async NSURLConnection...)
  • Index(es):
    • Date
    • Thread