LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist

I get a lot of those entries in the console: lsd[364]: LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist


I have updated to El Cap from Mavericks. I have checked the disk with DiskUtility and DiskWarrior. All OK.


Checking this folder /private/var/db/lsd/ I found that it didn't exist. Created.

The file com.apple.lsdschemes.plist was created in this folder but I still get those messages in the Console!?

MacBook Air (13-inch, Early 2014), OS X El Capitan (10.11)

Posted on Oct 8, 2015 2:20 AM

Reply
Question marked as Top-ranking reply

Posted on Mar 13, 2016 2:38 PM

After struggling with this for longer than reasonable before realizing it was a red herring entirely unrelated to my actual issue (which, unfortunately, I would strongly suggest is the case for everyone), I'm posting the comprehensive collection of steps necessary to fully resolve this. All of the responses so far contain partial solutions with assumptions about existing permissions, being logged in as root, rebooting afterwards, etc. The below solution is less invasive than doing Linc's full ownership/permissions resets, as suggested by a couple replies.

INSTRUCTIONS

Run ALL of the commands below, even if you think they're redundant to steps you've previously taken -- and especially since there may be other permissions issues at play. None of them are destructive.

Create the folder

sudo mkdir /private/var/db/lsd

Create the file

sudo touch /private/var/db/lsd/com.apple.lsdschemes.plist

Set ownership

Note: It should already be set to this if created by the above command, but running this command ensures that if the file or folder already existed (or if you have weird group assignments), the ownership is corrected.

sudo chown -R root:wheel /private/var/db/lsd

Set permissions

Warning: While unlikely, this could potentially allow someone to achieve escalated permissions on your device, but only if they've already hacked into a user account... at which point, you're probably already screwed.

sudo chmod -R 777 /private/var/db/lsd

Set extended attributes (optional?)

Note: Probably unnecessary, but also totally harmless. And if you want to be sure it matches what others have reported from working installs...

xattr -wr com.apple.finder.copy.source.checksum#N 4 /private/var/db/lsd

xattr -wr com.apple.metadata:_kTimeMachineNewestSnapshot 50 /private/var/db/lsd

xattr -wr com.apple.metadata:_kTimeMachineOldestSnapshot 50 /private/var/db/lsd


Restart Launch Services Dameon

Note: This is something unmentioned in other posts and can cause a lot of grief in troubleshooting. If things were significantly messed up to start with, the service needs to be restarted in order for the change to be picked up by the process.

sudo killall -9 lsd


Wait up to 60 seconds for the service to restart


(Final note: lsd is NOT Little Snitch Daemon. The similarities in naming are a coincidence. Don't try to uninstall or disable lsd.)

46 replies

Jul 10, 2017 9:56 AM in response to -__

Reasons to NOT use those commands:

  1. That 'chmod' makes the lsd directory and anything inside of it changeable by ANY process on the machine. That doesn't mean someone needs to hack into your system and target Launch Services intentionally. It means that a mostly-benign application written by a developer who ignores Apple's warnings not to rely on undocumented internal details (like how lsd works) could screw it up or a bug in a program that thinks it is doing something else can mangle or delete anything in the directory. There is almost never any problem on MacOS or any other Unix-like OS for which "chmod 777" is a reasonable solution.
  2. Simply using 'touch' to create the file creates a zero-byte (totally empty) file. A valid plist file cannot *EVER* be a zero-byte file. In the binary plist format, it will be 42 bytes. In the looser XML & NeXT (pre-XML) text formats, it will be longer. So that 'touch' command essentially creates a file that any code trying to parse a plist (in most cases that means OS functions) will see as corrupt.


I have 5 operational Macs which have run 10.11, all of which have logged this message in that part of their lives. It stopped with 10.12. The 3 that still run 10.11.6 all still intermittently log the message at irregular frequencies, mostly from the unprivileged instance of lsd. The 2 which have a /private/var/db/lsd/ directory complain the most, and on both the plist file exists in that directory but is a logically empty binary plist.


Most importantly, in the 18 months that I've run El Cap on one or more machines and seen this message repeatedly, I have never been able to correlate the message to any concrete failure. Everything Launch Services is supposed to do, it does correctly. Dumping the LS database yields a huge and seemingly complete set of registration data. In short: nothing is wrong except the logging.

Jan 6, 2017 9:23 AM in response to Francoisk

Older thread, so replying here, as it's one of the latest, but anyone involved please feel free to reply. The different solutions proposed in this thread vary considerably, and appear to work or not depending on the particular user configuration.


Recently upgraded to 10.11.6 on two machines and seeing these console messages. Created lsd directory and its plist--and done a number of other things, won't go into all the details--but still no joy. What puzzles me is that I have two machines, an iMac and Mini. The iMac, where I have not tried creating the directory and associated plist, gets maybe two or three of these logs per day, which I have no problem living with. The Mini, where I have created that directory and associated plist, gets spammed by this message almost every minute (the same amount of log spamming was occurring even before I created the directory and plist, so doing that didn't make anything worse.)


So question, does anyone know where and what is generating this lsd-identifiers file that need to be stored? Using FindAnyFile (as root), nothing comes up when I do a search for lsd-identifiers. Think this is a bug that Apple never resolved, but perhaps if I could harmlessly remove or disable whatever is generating them, I could at least reduce the amount of log spamming.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.