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.

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.


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.


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.

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.