• 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
Beware: trivially reproducible NSPersistentDocument crash when saving
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Beware: trivially reproducible NSPersistentDocument crash when saving


  • Subject: Beware: trivially reproducible NSPersistentDocument crash when saving
  • From: "Sean McBride" <email@hidden>
  • Date: Tue, 25 Aug 2009 17:37:19 -0400
  • Organization: Rogue Research Inc.

Hi all,

A warning to NSPersistentDocument users....

Let's say you have an NSPersistentDocument-based app-- you do some work
and you save successfully.  Now let's say the app has a bug where its UI
allows the user to set a value outside the allowable range of one of
your NSManagedObjects.  When you try to save, the OS will give a message like:

"The document "Untitled" could not be saved as "Untitled". attribute is
too large."

The user is confused and panics.  He tries to "Save As" under a
different name instead.  Similar error message.  He messes around in the
UI but cannot make the document 'conform'.  He then tries "Save" again.
Poof, it crashes!

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

Thread 0 Crashed:
0   libobjc.A.dylib               	0x9240e688 objc_msgSend + 24
1   com.apple.AppKit              	0x96ba8070 -[NSDocument
_willPresentSavingError:forOperation:url:] + 88
2   com.apple.AppKit              	0x96a759f2 -[NSDocument
_saveToURL:ofType:forSaveOperation:de
legate:didSaveSelector:contextInfo:] + 611
3   com.apple.AppKit              	0x96a75787 -[NSDocument
saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo:] + 860
4   com.apple.AppKit              	0x96aab8a1 -[NSDocument
_saveDocumentWithDelegate:didSaveSelector:contextInfo:] + 810
5   com.apple.AppKit              	0x96aab56f -[NSDocument
saveDocumentWithDelegate:didSaveSelector:contextInfo:] + 366
6   com.apple.AppKit              	0x96aab3f8 -[NSDocument saveDocument:] + 58

This repros with a trivial test app in both 10.5.8 and, um, newer.

<http://www.rogue-research.com/EpicSaveFail7169032.zip>
<rdar://problem/7169032>

So be sure to fix all your validation errors, because the frameworks are
not forgiving! :(

--
____________________________________________________________
Sean McBride, B. Eng                 email@hidden
Rogue Research                        www.rogue-research.com
Mac Software Developer              Montréal, Québec, Canada


_______________________________________________

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:
    • Re: Beware: trivially reproducible NSPersistentDocument crash when saving
      • From: Kyle Sluder <email@hidden>
  • Prev by Date: Re: CoreData / SQL hang on save
  • Next by Date: Re: Beware: trivially reproducible NSPersistentDocument crash when saving
  • Previous by thread: Re: Selection highlight in NSTextFieldCell
  • Next by thread: Re: Beware: trivially reproducible NSPersistentDocument crash when saving
  • Index(es):
    • Date
    • Thread