En ocasiones, las aplicaciones comienzan a mostrar cuadros de diálogo "El documento no se pudo guardar automáticamente"


8

De vez en cuando, alguna aplicación (generalmente TextEdit) comienza a mostrar diálogos como este cuando intento cerrar o guardar cualquier documento:

El documento "2.txt" no se pudo guardar automáticamente.

Sus cambios no se guardarán hasta que se resuelva el problema. También puede duplicar el documento o descartar los cambios para cerrarlo.

Tendré que cerrar y volver a abrir la aplicación para poder guardar cualquier cosa nuevamente.

  • He desactivado tanto Reanudar como bloquear archivos automáticamente en Preferencias del Sistema
  • Los archivos generalmente han estado en carpetas normales debajo de mi carpeta de inicio y, por lo que puedo decir, no ha habido nada especial en ellos.
  • He intentado reparar permisos
  • La firma del código de TextEdit es válida

system.log generalmente ha contenido mensajes como este:

5/8/12 9:04:01.358 PM [0x0-0x17b17b].com.apple.TextEdit: [ERROR] GSLibrary.c:_AddGenerationInternal:393  Failed to consume sandbox extension; error 12 (Cannot allocate memory)
5/8/12 9:04:01.361 PM TextEdit: NSFileVersion tried to tried to add a new generation and failed. Versioned file URL: file://localhost/Users/lauri/Notes/2.txt, contents URL: file://localhost/Users/lauri/Notes/2.txt, error: Error Domain=GSLibraryErrorDomain Code=1 "The operation couldn’t be completed. (GSLibraryErrorDomain error 1.)" UserInfo=0x10b24d070 {}
5/8/12 9:04:01.362 PM TextEdit: NSDocument failed to preserve the old version of a document. Here's the error:
Error Domain=GSLibraryErrorDomain Code=1 "The operation couldn’t be completed. (GSLibraryErrorDomain error 1.)" UserInfo=0x10b24d070 {}

Failed to consume sandbox extension; error 12 (Cannot allocate memory)? ¿Alguien sabe lo que está pasando aquí?

Editar: no he visto esos errores después de reemplazar TextEdit con TextEditPlus . Se basa en el código fuente de TextEdit, pero deshabilita el sandboxing y realiza algunos otros cambios.

Respuestas:


3

Parece que esto es realmente un error en la implementación de sandboxing de Apple. Esto significa que ninguno de los pasos anteriores debería ayudar. Tuvimos la misma salida de consola en una de nuestras aplicaciones (incluida la imposibilidad de guardar texto) y pasamos bastante tiempo buscando la causa del error (vea este radar ). Por lo que descubrimos, parece que después de recuperar los documentos abiertos recientemente varias veces, la aplicación ya no puede guardar archivos porque no obtiene el permiso para hacerlo. Puede intentar borrar el menú de documentos usados ​​recientemente, tal vez esto ayude.


1

Hay, en Lion, una forma oculta de reparar los permisos, que parece ser aún más eficaz:

  1. Reinicie Lion y, antes de escuchar el timbre , mantenga presionado Cmd+ Rpara acceder a Lion Recovery .
  2. Haga clic en el elemento Utilidades en la barra de menú, luego haga clic en Terminal.
  3. En la ventana Terminal, escriba resetpassword y presione Retorno.
  4. Se inicia la ventana de la utilidad de restablecimiento de contraseña, pero no va a restablecer la contraseña. En su lugar, haga clic en el icono del disco duro de su Mac en la parte superior. En el menú desplegable debajo de este, seleccione la cuenta de usuario donde tiene problemas.
  5. En la parte inferior de la ventana, verá un área llamada Restablecer permisos de directorio de inicio y ACL. Haga clic en el botón Restablecer allí.

Parece que esta característica solucionó el mismo problema para Dwight Silverman . Supongo que vale la pena intentarlo.

Aparentemente, reparar los permisos con la Utilidad de Discos, como de costumbre, no repara los permisos de los archivos de los Usuarios.


Lo intenté, a pesar de que los permisos y los propietarios de los archivos eran completamente normales. Aceptaré esta respuesta si no me encuentro con esos diálogos en una semana más o menos.
Lri

TextEdit mostró el error nuevamente ahora (con la misma salida de consola). Así que supongo que restablecer los permisos no ayudó ...
Lri

¿Está trabajando con un archivo que no está en su máquina local? ¿Un archivo en iDisk o una carpeta compartida, tal vez?
Thecafremo

No. Los registros solo muestran rutas locales como file://localhostURL por algún motivo.
Lri

1
  1. Seleccione todo el texto del documento en el portapapeles ( Command+A
  2. Salga y elija descartar los cambios en el documento.
  3. Vuelva a abrir el documento.
  4. Seleccione todo lo que está en el documento (ahora una copia antigua).
  5. Pegue el material que se copió previamente.
  6. Ahora guarde el documento nuevo y completo.

0

Copie el contenido y péguelo en otro documento del mismo tipo.

En Keynote, seleccione todas las diapositivas en la vista Navegador y arrástrelas al mismo panel de un nuevo documento.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.