¿Cómo identificar un almacén de datos faltante para com.apple.securityd?

5

Mis fans están soplando constantemente, y algunas investigaciones de mi Consola muestran que este error se escupe a una velocidad fantástica

CSSM Exception: -2147413737 CSSMERR_DL_DATASTORE_DOESNOT_EXIST

y

dbBlobVersion() failed for a non-existent database

Las siguientes aplicaciones lo están produciendo, pero me parece recordar algunas más durante diferentes sesiones de observación de registros:

  • Twitter
  • com.apple.WebKit.Networking
  • 1Password
  • accountsd

He intentado lo siguiente para solucionar el problema:

  1. Algunas excavaciones mostró que este error podría estar relacionado con un problema de Llavero. Apagué completamente mi llavero en un intento de reconstruir lo que faltaba en vano.

    a. Tengo una referencia crlcache.db que parece muerta, pero ningún número de intentos de eliminación hace que desaparezca.

    b. Antes de desbaratar todo, intenté borrar los certificados muertos sin suerte.

  2. Un Instrumento ejecutado con Actividad de archivo mirando el proceso de Twitter con la esperanza de descubrir qué archivo cree que está buscando (demasiado ruidoso y no estoy seguro de lo que estoy buscando).

  3. Una sobrecarga completa de una nueva versión 10.12.4 de Sierra se quemó 30 minutos, pero no hizo nada más para remediar la situación.

  4. Una sesión de reparación de disco en modo de recuperación de primeros auxilios encontró un problema de catálogo con mi disco (SSD de 1tb de finales de 2013) y lo reparó con éxito. Es posible que esto esté relacionado con el archivo que falta, pero ningún registro o aviso me dice qué archivo está buscando.

¿Algún consejo para otras cosas para probar? Estoy ejecutando Sierra 10.12.4 en un MBP a finales de 2013 de 15 "con un SSD de 1 tb.

    
pregunta Howard Butler 11.04.2017 - 23:31

2 respuestas

3

Resolución

  

a. Tengo una referencia crlcache.db que parece muerta, pero ningún número de intentos de eliminación hace que desaparezca.

Este era el problema raíz, pero era difícil hacer que desapareciera con cualquiera de las herramientas existentes. La entrada crlcache.db se puso fantasma en mi aplicación Keychain Access, por lo que aún existía una entrada. Mientras había restablecido todas mis contraseñas, no había eliminado completamente el llavero. Todas las aplicaciones que enumeré usaban el Llavero para encontrar su información, presionando crlcache.db y luego volviendo a intentar o lanzando tuve que eliminar manualmente estos dos archivos (esencialmente un restablecimiento completo de todo el Llavero):

~/Library/Preferences/com.apple.security.plist
/Library/Preferences/com.apple.security.plist

Diagnóstico

Fue muy difícil diagnosticar el problema porque nada me diría qué archivo no existía. Este comentario , con su comando que se reunió información de error para Apple, fue la más útil. Esto produjo un tar.gz gigante con muchos diagnósticos que me dijeron mucho más sobre lo que estaba sucediendo. Asegúrese de ejecutar todas las aplicaciones que se estén comportando mal en ese momento.

sudo sysdiagnose securityd

Entre los muchos archivos de salida de depuración de texto simple que produjo, había uno grande llamado fs_usage.txt , y cuando lo abrí, pude ver miles de entradas familiares

08:01:11.999993  getattrlist                            /private/var                                                                                                                                                          0.000003   Twitter.3616
08:01:11.999996  getattrlist                            /private/var/db                                                                                                                                                       0.000003   Twitter.3616
08:01:11.999998  getattrlist                            /private/var/db/crls                                                                                                                                                  0.000003   Twitter.3616
08:01:12.000000  getattrlist            [  2]           /private/var/db/crls/crlcache.db                                                                                                                                      0.000002   Twitter.3616
08:01:12.000004  statfs64                               /private/var/db/crls      

Una vez que vi eso, quedó claro que Keychain seguía siendo el problema, y mi entrada fantasma tenía que desaparecer. Al carecer del conocimiento de cómo realizar la cirugía laparoscópica en los archivos plist, simplemente lo amputé y comencé de nuevo.

    
respondido por el Howard Butler 12.04.2017 - 16:13
1

En mi caso, después de eliminar el espionaje, dejó una referencia para su archivo .keychains en Keychain Access. Las entradas de registro eran como estas:

default 15:11:56.715938 +0200   com.apple.WebKit.Networking DbOpen of /Volumes/1Tb/Users/MyUser/Library/Application Support/Espionage/Espionage.keychain
default 15:11:56.716702 +0200   com.apple.WebKit.Networking open /Volumes/1Tb/Users/MyUser/Library/Application Support/Espionage/Espionage.keychain: No such file or directory
default 15:11:56.716765 +0200   com.apple.WebKit.Networking CSSM Exception: -2147413737 CSSMERR_DL_DATASTORE_DOESNOT_EXIST
default 15:11:56.716848 +0200   com.apple.WebKit.Networking CSSM Exception: -2147413737 CSSMERR_DL_DATASTORE_DOESNOT_EXIST
default 15:11:56.716910 +0200   com.apple.WebKit.Networking CSSM Exception: -2147413737 CSSMERR_DL_DATASTORE_DOESNOT_EXIST
default 15:11:56.716952 +0200   com.apple.WebKit.Networking dbBlobVersion() failed for a non-existent database

La resolución fue bastante simple: tuvo que eliminar la referencia de la base de datos en Keychain Access usando la entrada del menú en File llamada Delete Keychain Espionage . Debes intentar encontrar la referencia de archivo que falta en una línea DbOpen antes de las líneas CSSM Exception para ver qué falta.

    
respondido por el Balázs Bábos 02.08.2017 - 15:25

Lea otras preguntas en las etiquetas