Occasionalmente le applicazioni iniziano a mostrare le finestre di dialogo "Impossibile salvare automaticamente il documento"


8

Di tanto in tanto, alcune applicazioni (di solito TextEdit) iniziano a mostrare finestre di dialogo come questa quando provo a chiudere o salvare qualsiasi documento:

Il documento "2.txt" non può essere salvato automaticamente.

Le modifiche non verranno salvate fino alla risoluzione del problema. Puoi anche duplicare il documento o scartare le modifiche per chiuderlo.

Dovrò chiudere e riaprire l'applicazione per salvare di nuovo qualsiasi cosa.

  • Ho disabilitato Riprendi e blocca automaticamente i file nelle Preferenze di Sistema
  • I file di solito si trovano in cartelle normali sotto la mia cartella home e non c'è stato nulla di speciale su di loro per quanto ne so
  • Ho provato a riparare i permessi
  • La firma del codice di TextEdit è valida

system.log di solito ha contenuto messaggi come questo:

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)? Qualcuno sa cosa sta succedendo qui?

Modifica: non ho visto quegli errori dopo aver sostituito TextEdit con TextEditPlus . È basato sul codice sorgente di TextEdit ma disabilita il sandboxing e apporta alcune altre modifiche.

Risposte:


4

Sembra che questo sia in realtà un bug nell'implementazione sandbox di Apple. Ciò significa che nessuno dei passaggi precedenti dovrebbe aiutare. Avevamo lo stesso output della console in una delle nostre applicazioni (inclusa l'incapacità di salvare il testo) e abbiamo impiegato parecchio tempo a trovare la causa del bug (vedi questo radar ). Da quello che abbiamo scoperto, sembra che dopo aver recuperato i documenti aperti di recente per un certo numero di volte, l'applicazione non può più salvare i file perché non ha l'autorizzazione per farlo. Potresti provare a cancellare il menu dei documenti utilizzati di recente, forse questo aiuta.


La cancellazione del menu "Apri recenti" di Pages ha risolto questo problema per Pages 8.1 in macOS 10.14.6
Seth Noble

1

C'è, in Lion, un modo nascosto di riparare i permessi, che sembra essere ancora più efficace:

  1. Riavvia Lion e prima di ascoltare il segnale acustico , tieni premuto Cmd+ Rper accedere a Lion Recovery .
  2. Fai clic sulla voce Utilità nella barra dei menu, quindi fai clic su Terminale.
  3. Nella finestra Terminale, digita resetpassword e premi Invio.
  4. Viene visualizzata la finestra dell'utilità di reimpostazione della password, ma non si reimposterà la password. Invece, fai clic sull'icona per il disco rigido del tuo Mac in alto. Dal menu a discesa sottostante, seleziona l'account utente in cui riscontri problemi.
  5. Nella parte inferiore della finestra, vedrai un'area etichettata Ripristina autorizzazioni e ACL della directory principale . Fai clic sul pulsante Reimposta lì.

Sembra che questa funzionalità abbia risolto lo stesso problema con Dwight Silverman . Immagino valga la pena provare.

Apparentemente, riparare le autorizzazioni con Utility Disco, come al solito, non ripara le autorizzazioni dei file degli utenti.


L'ho provato, anche se le autorizzazioni e i proprietari dei file erano completamente normali. Accetterò questa risposta se non incontro queste finestre di dialogo tra una settimana circa.
Lri,

TextEdit ha mostrato di nuovo l'errore ora (con lo stesso output della console). Quindi presumo che il ripristino delle autorizzazioni non abbia aiutato ...
Lri,

Stai lavorando con un file che non si trova nel tuo computer locale? Un file in iDisk o in una cartella condivisa, forse?
Thecafremo

No. I registri mostrano solo i percorsi locali come file://localhostURL per qualche motivo.
Lri,

1
  1. Seleziona tutto il testo nel documento negli Appunti ( Command+A
  2. Esci e scegli di annullare le modifiche al documento.
  3. Riapri il documento.
  4. Seleziona tutto ciò che è nel documento (ora una vecchia copia).
  5. Incolla il materiale precedentemente copiato.
  6. Ora salva il documento nuovo e completo.

0

Copia il contenuto e incollalo in un altro documento dello stesso tipo.

In Keynote, selezionare tutte le diapositive nella vista Navigator e trascinarle nello stesso riquadro di un nuovo documento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.