Possibly do not install macOS 26.4b1 if you use DT4

Hi all,

I know, I know, don’t use beta on production systems - but, installed 26.4b1 without thinking about it on my Mac and DT4 will not open any databases. Or, it doesn’t appear to; I’m still diagnosing, but, what worked yesterday does not work today (simply opening DT4, opening a database, doing work).

I’ll update this post if I work out what the issue is, but, right now I’m dead in the proverbial water.

Just wanted to share this in case others were thinking of installing the beta. It may be Just Me, but, I thought I’d do the public service announcement just in case.

No errors come up that I’ve seen so far, it simply doesn’t do anything when a database is selected to be opened. Stay tuned!

Since you self-scolded, we’ll let you off the hook :wink:

Double-clicking a .dtBase2 file does nothing?

1 Like

They are all .dtSparse (encrypted databases, should have mentioned, sorry). Double clicking will launch DT4 if it is not already running, but, the database never actually appears. I’ve tried creating a New Window (as I recall that was an issue once upon a time, perhaps during a DT4 beta), I tried Open Recent, I have checked the logs, and Activity, nothing at all report anything related to the database that I tried to open.

About to try to launching DT4 from the command line to see if that does anything.

I also made sure the Privacy and Security permissions were correct for DT4 - I did notice that with this beta, you’re being asked to re-validate things like “Local Network Access” - which I granted, and have restarted the DT4 application a few times, just in case.

Dumb move on my part. I know.

Edit: Ran DT4 from command line, no output at all. Same behaviour.

Looking at the console logs, but focussing on things that are obvious warnings/alerts, the only things that pop are:

error 07:58:53.227099+1100 diagnostics_agent Failed to parse receipt at /Applications/DEVONthink.app/Contents/_MASReceipt/receipt: Error Domain=NSCocoaErrorDomain Code=260 “The file “receipt” couldn’t be opened because there is no such file.” UserInfo={NSFilePath=/Applications/DEVONthink.app/Contents/_MASReceipt/receipt, NSURL=file:///Applications/DEVONthink.app/Contents/_MASReceipt/receipt, NSUnderlyingError=0xbdade1200 {Error Domain=NSPOSIXErrorDomain Code=2 “No such file or directory”}}

fault 07:58:57.468327+1100 DEVONthink delegate_identifier:Performance Diagnostics__:::__message:This method should not be called on the main thread as it may lead to UI unresponsiveness.
error 07:59:04.506680+1100 DEVONthink AFIsDeviceGreymatterEligible Missing entitlements for os_eligibility lookup
error 07:59:06.234507+1100 DEVONthink Unable to obtain a task name port right for pid 633: (os/kern) failure (0x5)

Are the databases stored in the Databases folder in your home directory?

Yes, all databases are stored in /Users/myname/Databases - one of the first things I double checked in case it was the macOS permissions around “Documents” or so blocking it.

All files are correctly in the Databases folder, and the files appear to be fully intact, no modification times that don’t make sense, sizes look right, and so on.

I store the database passwords in the Keychain Manager, and I’ve verified that the correct password is still within the Keychain as well.

Thanks for the follow-ups!
Unfortunately, I don’t know of a graceful way to back out of the situation.

Just out of curiosity, if you download a new installer and overwrite the current version, does it behave any differently?

I just tried that and it failed, but, this may be an interesting clue.

After downloading the .zip file from your website, and then opening the .dmg, and then agreeing to the terms of use that is displayed, I get an error:

The disk image couldn’t be opened

There are no mountable file systems in the disk image

So this may point to something more low level with this beta of macOS if that’s indeed the case.

Edit: I used Disk Utility to open the .dmg file, which worked fine, which allowed me to drag over DEVONthink 4. On launch, it says ““DEVONthink” is an app created by the app (null). Are you sure you want to open it?”

But, same result in terms of my databases.

BUT, knowing that Disk Utility could open the .dmg files from your installer gave me a clue, and I have now mounted a .dtSparse file using DiskUtility and opened the .dbbase2 file and my data is there. Now trying that for other databases.

Very interesting and we appreciate the diligence.
Out of curiosity, do unencrypted databases work as expected?

PS: Looking at the release notes for 24.6b1…

Encrypted databases are indeed HFS (MacOS Extended Journaled).

1 Like

Yes, and that is precisely what I was just testing now - so, I was able to open the encrypted databases, but they were all read-only. So I created a new, unencrypted database, and copied the contents from one to the other. That new database works as expected, but as I have a fair amount of automation involving UUID in DT4, I fear I’m going to have a long and painful morning ahead of me.

My penance for running a beta.

TL;DR: Encrypted databases in DT4 seem impacted by a macOS filesystem issue when they are opened. Opening the encrypted database in Disk Utility provides read-only access to the data. That may at least allow for access to important information short-term.

I also tried the diskutil mount on both the .dtSparse file, but, also by renaming it to .sparseimage and that doesn’t seem to work - says “Failed to find disk mydb.sparseimage” - but I’m focussed on trying to get things working and likely missing the obvious one there.

I thought you may try that.
Leave it as a .dtSparse file.
Try hdiutil attach then drop the file in the Terminal window.

Note: Unlike the normal behavior with our encrypted databases, this shows the volume in the Finder’s sidebar and desktop. Not ideal but it may get you back up and running.

Read this…

Ugh! It’s read-only in this state… but… if you manually change the extension to .sparseimage and use hdiutil mount, you can open the database from the exposed volume. This is definitely less than ideal but it may let you limp along a bit.

PS: After closing the database, you’ll have to manually unmount it as well.

Yeah, I’ve been trying to get around the read-only issue, and I’m not really sure I can. At least, not whilst the data is in the image. I will try making a copy of one of the .dtbase2 files to my Databases directory and see what happens. I also already found the “diskutil image attach” option, but, same result, read only.

Did I learn a lesson about running a beta? Probably not. But if my pain helps others, hooray!

Edit: Okay, this worked - copying the .dtbase2 file out of the mounted disk image to Databases. Obviously, DT4 whines if I have two databases open with the same UUID, but, close the read-only, and things seem fine.

You should be able to use the databases unencrypted if you extract them from the volume, so yeah, another possible option.

And while we do not advocate people mess about in the shell, for completeness (and logically you’d need to enter your own directory and database name):

cd ~/databases/test\ databases; mv encrypted.dtSparse encrypted.sparseimage; hdiutil attach encrypted.sparseimage
1 Like

ACK. Thankfully, I live in the shell for $dayjob so already did something very similar to what you suggested. Definitely agree Thar Be Dragons for most, however.

Thank, as always, for your patience and feedback Bluefrog - and hopefully others are aware of the risks of encrypted disk images for 26.4b1!

3 Likes

You’re welcome and thanks for the heads-up!