{"id":3702,"date":"2021-07-23T20:34:14","date_gmt":"2021-07-24T01:34:14","guid":{"rendered":"https:\/\/www.splasmata.com\/?p=3702"},"modified":"2021-09-13T18:02:11","modified_gmt":"2021-09-13T23:02:11","slug":"critical-alert-for-all-checkbook-and-checkbook-pro-users","status":"publish","type":"post","link":"https:\/\/www.splasmata.com\/?p=3702","title":{"rendered":"Critical Alert for users of CheckBook, CheckBook Pro, and other applications saving to FAT volumes"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em><strong>This issue<\/strong> affects a small number of our users, but we need you to read through just to be sure you&#8217;re not in that group.  Thank you!<\/em><\/p>\n\n\n\n<span>&nbsp;<\/span>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Update 9\/13\/2021:<\/strong>  <strong>Great news!  macOS 11.6<\/strong>, released earlier today, seems to have addressed the fundamental issue with <strong>FAT<\/strong>, <strong>ExFAT<\/strong>, and some <strong>SMB<\/strong> volumes.  We&#8217;re testing each application in the list below to be sure, but our own applications, <strong>Apple Preview<\/strong>, and <strong>Tumult Hype<\/strong> all appear to be working as designed, so we think we&#8217;re out of the woods.  Thank you all for hanging in there!<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Even though Apple seems to have resolved the issue and we&#8217;re breathing easier over here, we want to leave a note for the record:  The vast majority of Apple developers have used <strong>NSFileManager<\/strong> or <strong>copyfile()<\/strong>.  Copying files to or saving files on <strong>FAT<\/strong>, <strong>ExFAT<\/strong>, and <strong>SMB<\/strong> volumes is not uncommon, especially since almost every external drive comes pre-formatted for <strong>Windows<\/strong>.  However this thing slipped through the cracks, it took Apple <strong>7.5 weeks<\/strong> to move on it with two minor macOS updates in the meantime.  In the <strong>1.75 months<\/strong> since we told Apple about it, something close to a hundred of our users &#8211; that we know of &#8211; lost data and needed help restoring a backup while we spent an insane amount of time we didn&#8217;t have (and our families didn&#8217;t want to give us) testing and coding around the issue.  Apple never owned up to the issue.  There&#8217;s no mention of it in the macOS 11.6 release notes.  No one from Apple ever communicated with us about our bug reports &#8211; and there&#8217;s no sign any engineer even read them.  If we caused an issue like this, then handled it as Apple has, we wouldn&#8217;t be able to live with ourselves &#8211; and we&#8217;d be out of the Splasm business, to boot.  So our faith in Apple&#8217;s support for anything besides <strong>APFS <\/strong>or <strong>Mac OS Extended<\/strong>, or <strong>SMB<\/strong> to those on recent macOS hosts, got taken to the woodshed, you might say, and we just won&#8217;t rely on them anymore.  In the near future, all our applications will warn you when you try to use other formats or flavors of <strong>SMB<\/strong> until you tell us not to.  <strong>We value everyone&#8217;s data and <\/strong><\/em><strong><em>time that much.<\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Update 8\/24\/2021 (Further updated 9\/13\/2021):<\/strong>  <\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>The applications (and known actions) affected by this issue are now:<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><em><s><strong>Audiobook Builder 2.1.4<\/strong> (new\/save) &#8211; Workaround coming in 2.1.5<\/s><\/em> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><em><s><strong>CheckBook 2.6.20 and earlier<\/strong> (save\/backup\/move) &#8211; <a href=\"https:\/\/splasm.com\/checkbook\/update.html\">Update to 2.6.21 now<\/a><\/s><\/em> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><s><em><strong>CheckBook Pro 2.6.20 and earlier<\/strong> <em>(save\/backup\/move)<\/em><\/em> <em>&#8211; <a href=\"https:\/\/splasm.com\/checkbookpro\/update.html\">Update to 2.6.21 now<\/a><\/em><\/s> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><em><s><strong>Apple Books 3.2<\/strong> (drag audiobook to volume)<\/s><\/em> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><em><s><strong>Apple Calendar<\/strong> <strong>11.0<\/strong> (export calendar archive)<\/s><\/em> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><em><s><strong>Apple Configurator 2.14<\/strong> (move)<\/s><\/em> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><em><s><strong>Apple Contacts<\/strong> <strong>13.0<\/strong> (export contacts archive)<\/s><\/em> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><em><s><strong>Apple Photos<\/strong> <strong>6.0<\/strong> (export unmodified originals)<\/s><\/em> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><s><strong><em>Apple Preview 11.0<\/em><\/strong> <em>(move)<\/em><\/s> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><s><strong><em>Apple QuickTime Player 10.5<\/em><\/strong> <em>(move)<\/em><\/s> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><em><strong>Apple TextEdit 1.16<\/strong> (save to existing file)<\/em> <strong><em>Sorta fixed in macOS 11.6 (temporary files aren&#8217;t removed, document may save but eventually can&#8217;t be because it&#8217;s &#8220;locked&#8221;)<\/em><\/strong><\/li><li><s><strong><em>OmniOutliner 5.8.5<\/em><\/strong> <em>(move)<\/em><\/s> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><s><strong><em>OmniGraffle 6.6.2<\/em><\/strong> <em>(move)<\/em><\/s> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><strong><s><em>Pixelmator 3.9.8<\/em> <\/s><\/strong><em><s>(export &#8211; except for PDF)<\/s><\/em> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><em><s><strong>Pixelmator Pro 2.1.3<\/strong> (new\/save\/move\/export)<\/s><\/em> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><li><em><s><strong>Tumult Hype 4.1.7<\/strong> (save\/move)<\/s><\/em> <em><strong>Fixed in macOS 11.6<\/strong><\/em><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Update 8\/16\/2021:  <\/strong>This issue also affects <strong>QuickTime Player <\/strong>on macOS 11.5 and later.  <strong>Duplicate<\/strong> a video or audio file, open it with <strong>QuickTime Player<\/strong>, use the <strong>File<\/strong> menu&#8217;s <strong>Move To&#8230;<\/strong> option to move the document to a <strong>FAT<\/strong> volume, then check the size of the file on the FAT volume and it should be <strong>zero<\/strong> bytes.<\/em>  <em>The same move operation to an <strong>APFS<\/strong> or <strong>Mac OS Extended<\/strong> volume works as expected.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Update 8\/13\/2021:<\/strong>  <a href=\"https:\/\/splasm.com\/checkbook\/update.html\">CheckBook<\/a> and <a href=\"https:\/\/splasm.com\/checkbookpro\/update.html\">CheckBook Pro<\/a> 2.6.21, now available, work around <strong>NSFileManager<\/strong> and <strong>copyfile()<\/strong> on <strong>macOS 11.5 and later<\/strong> to preserve your data in all known situations where these methods can fail.  Thank you all for hanging in there!  We strongly recommend you store your documents on either <strong>APFS<\/strong> or <strong>Mac OS Extended<\/strong> volumes, or access them over a network with <strong>SMB<\/strong> or <strong>AFP<\/strong> (though there&#8217;s only a whiff of <strong>AFP<\/strong> left in Big Sur so <strong>SMB<\/strong> it is).<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Update 8\/11\/2021:<\/strong>  macOS 11.5.2 hasn&#8217;t addressed this issue.  Stay tuned.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Update 7\/30\/2021:<\/strong>  We&#8217;ve developed a workaround that&#8217;ll do for now.  It\u00e2\u20ac\u2122s in testing now and will be out during the week of August 8th.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Update 7\/27\/2021:<\/strong>  Though release notes didn&#8217;t mention the issue, we installed macOS 11.5.1 anyway to see if Apple slipped in a fix under the radar (that&#8217;s an old-time Apple developer pun).  No change.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Update 7\/26\/2021:<\/strong>  One user reports this issue may also occur on <strong>ext4<\/strong> and <strong>XFS<\/strong> volumes over <strong>NFS<\/strong>.  We haven&#8217;t tested these filesystems or <strong>NFS<\/strong> but the symptoms appear the same<\/em>.  <em>It could be that any volume or share mounted over <strong>NFS <\/strong>will exhibit the issue, so our advice is to stay away from <strong>NFS<\/strong> altogether until a fix is in place.<\/em><\/p>\n\n\n\n<span>&nbsp;<\/span>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Original post from 7\/23\/2021:<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>macOS 11 Big Sur<\/strong> made it to version <strong>11.5<\/strong> this week and, along for the ride, comes a few showstoppers for a relatively small group of our <a href=\"https:\/\/splasm.com\/checkbook\">CheckBook<\/a> and <a href=\"https:\/\/splasm.com\/checkbookpro\">CheckBook Pro<\/a> users:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>If you&#8217;ve installed the <strong>macOS 11.5<\/strong> update <span style=\"text-decoration: underline;\"><strong>and<\/strong><\/span> your regular CheckBook document lives on a volume formatted as <strong>FAT16<\/strong>, <strong>FAT32<\/strong>, or <strong>ExFAT<\/strong>, <strong><span style=\"text-decoration: underline;\">DO NOT open that document<\/span><\/strong> or <strong>your data may be wiped<\/strong> from that particular copy of your document.<\/li><li>Using the <strong>File<\/strong> menu&#8217;s <strong>Backup<\/strong> command and saving to a <strong>FAT16<\/strong>, <strong>FAT32<\/strong>, or <strong>ExFAT<\/strong> volume on <strong>macOS 11.5<\/strong> will create an empty backup.<\/li><li>Using the <strong>File<\/strong> menu&#8217;s <strong>Move To&#8230;<\/strong> command and moving the open document to a <strong>FAT16<\/strong>, <strong>FAT32<\/strong>, or <strong>ExFAT<\/strong> volume on <strong>macOS 11.5<\/strong> will erase the data in the document.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>These issues have the same root cause,<\/strong> what appears to be a bug in the most common method macOS developers use to copy files.  This method reports success for each copy while, in fact, the final result is a completely empty file that lacks the data, attributes, and extended metadata of the original.  Because macOS tells CheckBook the file copy succeeded, there&#8217;s no way for the application to know it failed &#8211; so there&#8217;s no way for you to know, either.  We believe this bug also affects a number of other applications, such as Apple&#8217;s own <strong>Preview<\/strong>.  If you&#8217;d like to see it in action, <strong>duplicate<\/strong> an image file on your Mac so you don&#8217;t lose the original, open the duplicate with <strong>Preview<\/strong>, go to the <strong>File<\/strong> menu, click the <strong>Move To&#8230;<\/strong> menu item, then select a destination on a <strong>FAT16<\/strong>, <strong>FAT32<\/strong>, or <strong>ExFAT<\/strong> volume.  The moved file will end up zero bytes in length.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;ve sent a bug report to Apple and reached out to another major developer to let them know this affects their applications, hopefully giving us an additional vector to an Apple engineer.  In the meantime, <strong>let&#8217;s protect your CheckBook data:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>As we said, if your document lives on a <strong>FAT16<\/strong>, <strong>FAT32<\/strong>, or <strong>ExFAT<\/strong> volume, <strong>do not open it<\/strong> or you could lose your data in that copy of your document.  Instead, copy the document to your <strong>Documents<\/strong> folder and double-click the copy in <strong>Documents<\/strong>.  We&#8217;d recommend staying away from storing your CheckBook documents anywhere but the <strong>Documents<\/strong> folder, but we are particularly down on using USB thumb drives for long-term storage.  They tend to not hold up as well as any internal storage device and we&#8217;ve seen too many fail over the years to not send out a warning like this every now and then.<\/li><li>Do not use the <strong>File<\/strong> menu&#8217;s <strong>Backup<\/strong> or <strong>Move To&#8230;<\/strong> commands with a <strong>FAT16<\/strong>, <strong>FAT32<\/strong>, or <strong>ExFAT<\/strong> volume as the destination.  While you could copy your document in the <strong>Finder<\/strong>, opening the copy from there would lead to data loss in that copy of the document.  If you need to backup your document, select a folder in <strong>iCloud Drive<\/strong> or another cloud storage location.  If you need to move your document to another storage device, or you need to keep a local backup, but don&#8217;t have anything but a drive with <strong>FAT16<\/strong>, <strong>FAT32<\/strong>, or <strong>ExFAT<\/strong> volumes, you can copy any files you need to save to another volume, then reformat a volume as <strong>APFS<\/strong> or <strong>Mac OS Extended<\/strong>.  Remember to <strong>copy the files you need to save first<\/strong>.  <a href=\"https:\/\/support.apple.com\/guide\/disk-utility\/erase-and-reformat-a-storage-device-dskutl14079\/mac\">Read up on how to erase or reformat a volume here<\/a> &#8211; and please, <strong>please<\/strong> pay attention to that first step.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;re now looking for a way around this because a fix from Apple could take a while.  The worst option is to simply forbid interacting with <strong>FAT16<\/strong>, <strong>FAT32<\/strong>, or <strong>ExFAT<\/strong> volumes.  Much as we&#8217;d like to not worry about this kind of thing in the future &#8211; this isn&#8217;t the first or second or third quirk that&#8217;s popped up with <strong>FAT<\/strong> volumes and these days they&#8217;re feeling more and more like stowaways in the mothership&#8217;s steerage &#8211; completely nixing support for them is a bit more nuclear than we&#8217;d like.  <strong>We&#8217;ll find a solution soon and let you know when we do.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You might not know if your document is on a <strong>FAT16<\/strong>, <strong>FAT32<\/strong>, or <strong>ExFAT<\/strong> volume to begin with, so here&#8217;s how to tell:  Locate your document in the <strong>Finder<\/strong>, <strong>Command<\/strong>-click the name of the window to reveal a menu, click the second-to-last item in that menu, go to the <strong>File<\/strong> menu near the top left of your screen, click the <strong>Get Info<\/strong> menu item to reveal a window with a lot of details about the file, and look for the <strong>Format<\/strong> in the <strong>General<\/strong> section near the top of the window.  If <strong>Format<\/strong> reads &#8220;<strong>MS-DOS (FAT16)<\/strong>&#8220;, &#8220;<strong>MS-DOS (FAT32)<\/strong>&#8220;, or \u00e2\u20ac\u0153<strong>ExFAT<\/strong>\u00e2\u20ac\u009d you know for sure your document lives on a volume with the issue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Why is your volume formatted as FAT16, FAT32<\/strong>, or <strong>ExFAT<\/strong> when these are usually something you&#8217;d see on a Windows machine?  The Mac&#8217;s come a long way from the nightmare of the mid 90&#8217;s, and the iPhone and iPad have done their part to make Apple a household name, but the desktop is still a Windows world and almost every drive out there comes set up for that reality.  macOS makes it easy with basic support for these formats, but you really, really, <strong>really<\/strong> need to reformat to <strong>APFS<\/strong> or <strong>Mac OS Extended<\/strong> whenever possible.  <a href=\"https:\/\/support.apple.com\/guide\/disk-utility\/erase-and-reformat-a-storage-device-dskutl14079\/mac\">Read up on how to erase or reformat a volume here<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, if you&#8217;re wondering why this affects some applications but not others, it&#8217;ll help to understand every developer does things a little differently.  Data can be read and written a number of ways, and the techniques a developer uses can vary depending on the application and the type of data.  For example, you&#8217;ll see the issue with the <strong>Move To&#8230;<\/strong> command in Apple&#8217;s <strong>Preview<\/strong> but not in Apple&#8217;s <strong>Numbers<\/strong>.  From what we saw while playing around with Numbers today, we believe it&#8217;s set up to do a full save on the destination volume, instead of a copy, when moving a document from one volume to another.  That likely involves creating files from scratch, then saving data into each file, as needed, rather than a straight copy from one volume to another &#8211; and that route doesn&#8217;t appear to present any issues.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Please let us know at <a href=\"mailto:support@splasm.com\">support@splasm.com<\/a> if you get to this article after a mishap and you need help restoring a backup.  If you don&#8217;t have a recent backup, CheckBook&#8217;s automatic backups, created about once every seven days, will save the day.  Here&#8217;s how to find and restore these automatic backups:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Open <strong>CheckBook<\/strong> or <strong>CheckBook Pro<\/strong>.<\/li><li>Go to the <strong>Help<\/strong> menu while holding down the <strong>Option<\/strong> key on your keyboard and click the <strong>Go to CheckBook 2 Folder<\/strong> menu item.<\/li><li>Inside the <strong>CheckBook 2<\/strong> folder, open the <strong>Backups<\/strong> folder.<\/li><li>You may see several items inside the <strong>Backups<\/strong> folder.&nbsp; Open the folder whose name matches your <strong>CheckBook <\/strong>document\u00e2\u20ac\u2122s name.&nbsp; You&#8217;ll see a list of compressed backups.<\/li><li>Each compressed backup file includes the date it was created in its name.&nbsp; Look for the <strong>most recently dated<\/strong> file and double-click it.&nbsp; A file with the same name as the compressed backup but an icon of a sheet of paper and a tiny <strong>CheckBook<\/strong> icon will appear.&nbsp; This is the actual backup file.<\/li><li><strong>Move<\/strong> the backup file to your <strong>Documents<\/strong> folder (or wherever you\u00e2\u20ac\u2122d like to keep your document going forward &#8211; as long as it&#8217;s not on a <strong>FAT<\/strong> volume) and <strong>double-click it<\/strong>.<\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>This issue affects a small number of our users, but we need you to read through just to be sure you&#8217;re not in that group. Thank you! Update 9\/13\/2021: Great news! macOS 11.6, released earlier today, seems to have addressed &hellip; <a href=\"https:\/\/www.splasmata.com\/?p=3702\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[12],"class_list":["post-3702","post","type-post","status-publish","format-standard","hentry","category-checkbook","tag-support"],"_links":{"self":[{"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/posts\/3702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3702"}],"version-history":[{"count":56,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/posts\/3702\/revisions"}],"predecessor-version":[{"id":3883,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=\/wp\/v2\/posts\/3702\/revisions\/3883"}],"wp:attachment":[{"href":"https:\/\/www.splasmata.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.splasmata.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}