Ocasionalmente, os aplicativos começam a exibir as caixas de diálogo "O documento não pôde ser salvo automaticamente"

8

De vez em quando, algum aplicativo (geralmente o TextEdit) começa a exibir caixas de diálogo como essa quando tento fechar ou salvar qualquer documento:

O documento "2.txt" não pôde ser salvo automaticamente.

Suas alterações não serão salvas até que o problema seja resolvido. Você também pode duplicar o documento ou descartar as alterações para fechá-lo.

Vou ter que sair e reabrir o aplicativo para salvar qualquer coisa novamente.

  • Desativei o resumo e o bloqueio de arquivos automaticamente nas Preferências do Sistema
  • Os arquivos geralmente estão em pastas normais na minha pasta pessoal e não há nada de especial neles, até onde eu sei
  • Eu tentei reparar permissões
  • A assinatura de código do TextEdit é válida

O system.log geralmente contém mensagens como esta:

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)? Alguém sabe o que está acontecendo aqui?

Edit: Eu não vi esses erros depois que substituí o TextEdit pelo TextEditPlus . É baseado no código-fonte do TextEdit, mas desativa o sandbox e faz algumas outras alterações.

Lri
fonte

Respostas:

4

Parece que isso é realmente um bug na implementação do sandbox da Apple. Isso significa que nenhuma das etapas acima deve ajudar. Tivemos a mesma saída do console em um de nossos aplicativos (incluindo a incapacidade de salvar texto) e gastamos bastante tempo encontrando a causa do bug (veja este radar ). Pelo que descobrimos, parece que depois de recuperar os documentos abertos recentemente várias vezes, o aplicativo não pode mais salvar arquivos porque não recebe permissão para fazê-lo. Você pode tentar limpar o menu de documentos usados ​​recentemente, talvez isso ajude.

goetz
fonte
Páginas de Compensação 'Abrir recente' menu fixo este problema para Pages 8.1 no MacOS 10.14.6
Seth Noble
1

Existe no Lion uma maneira oculta de reparar permissões, que parece ser ainda mais eficaz:

  1. Reinicie o Lion e, antes de ouvir o sinal sonoro , mantenha pressionado Cmd+ R, para acessar o Lion Recovery .
  2. Clique no item Utilitários na barra de menus e clique em Terminal.
  3. Na janela Terminal, digite resetpassword e pressione Return.
  4. A janela do utilitário de redefinição de senha é iniciada, mas você não redefinirá a senha. Em vez disso, clique no ícone do disco rígido do seu Mac na parte superior. No menu suspenso abaixo, selecione a conta de usuário em que você está tendo problemas.
  5. Na parte inferior da janela, você verá uma área chamada Redefinir permissões do diretório inicial e ACLs. Clique no botão Redefinir lá.

Parece que esse recurso corrigiu o mesmo problema para Dwight Silverman . Acho que vale a pena tentar.

Aparentemente, o reparo de permissões com o Disk Utility, como de costume, não repara as permissões de arquivo dos Usuários.

Thecafremo
fonte
Eu tentei, mesmo que as permissões e os proprietários dos arquivos fossem completamente normais. Aceitarei esta resposta se não encontrar essas caixas de diálogo dentro de uma semana.
Lri
O TextEdit mostrou o erro novamente agora (com a mesma saída do console). Então, eu estou supondo que redefinir as permissões não ajudou ...
Lri
Você está trabalhando com um arquivo que não está na sua máquina local? Um arquivo no iDisk ou em uma pasta compartilhada, talvez?
Thecafremo
Não. Os logs mostram apenas os caminhos locais como file://localhostURLs por algum motivo.
Lri
1
  1. Selecione todo o texto do documento para a área de transferência ( Command+A
  2. Saia e escolha descartar as alterações no documento.
  3. Reabra o documento.
  4. Selecione tudo o que está no documento (agora uma cópia antiga).
  5. Cole o material que foi copiado anteriormente.
  6. Agora salve o documento novo e completo.
decklan
fonte
0

Copie o conteúdo e cole-o em outro documento do mesmo tipo.

No Keynote, selecione todos os slides na visualização Navegador e arraste-os para o mesmo painel de um novo documento.

user200384
fonte