Les applications commencent parfois à afficher les boîtes de dialogue «Le document n'a pas pu être enregistré automatiquement»

8

De temps en temps, certaines applications (généralement TextEdit) commencent à afficher des boîtes de dialogue comme celle-ci lorsque j'essaie de fermer ou d'enregistrer un document:

Le document «2.txt» n'a pas pu être enregistré automatiquement.

Vos modifications ne seront pas enregistrées tant que le problème ne sera pas résolu. Vous pouvez également dupliquer le document ou annuler vos modifications pour le fermer.

Je vais devoir quitter et rouvrir l'application afin de sauvegarder à nouveau quoi que ce soit.

  • J'ai désactivé à la fois la reprise et le verrouillage des fichiers dans les Préférences Système
  • Les fichiers ont généralement été dans des dossiers normaux sous mon dossier d'accueil et il n'y a rien de spécial à leur sujet pour autant que je sache
  • J'ai essayé de réparer les autorisations
  • La signature de code de TextEdit est valide

system.log contient généralement des messages comme celui-ci:

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)? Est-ce que quelqu'un sait ce qui se passe ici?

Edit: Je n'ai pas vu ces erreurs après avoir remplacé TextEdit par TextEditPlus . Il est basé sur le code source de TextEdit, mais il désactive le sandboxing et apporte quelques autres modifications.

Lri
la source

Réponses:

4

Il semble que ce soit en fait un bogue dans l'implémentation de sandboxing d'Apple. Cela signifie qu'aucune des étapes ci-dessus ne devrait vous aider. Nous avions la même sortie de console dans l'une de nos applications (y compris l'impossibilité d'enregistrer du texte) et avons passé pas mal de temps à trouver la cause du bug (voir ce radar ). D'après ce que nous avons découvert, il semble qu'après avoir récupéré les documents récemment ouverts un certain nombre de fois, l'application ne peut plus enregistrer de fichiers car elle ne reçoit pas l'autorisation de le faire. Vous pouvez essayer d'effacer le menu des documents récemment utilisés, cela peut être utile.

goetz
la source
Le menu "Ouvrir récent" de Clearing Pages a corrigé ce problème pour les pages 8.1 sous macOS 10.14.6
Seth Noble
1

Il y a, dans Lion, une façon cachée de réparer les autorisations, qui semble encore plus efficace:

  1. Redémarrez Lion et Avant d'entendre le carillon , maintenez la touche Cmd+ enfoncée Rpour accéder à Lion Recovery .
  2. Cliquez sur l'élément Utilitaires dans la barre de menus, puis sur Terminal.
  3. Dans la fenêtre Terminal, tapez resetpassword et appuyez sur Retour.
  4. La fenêtre de l'utilitaire de réinitialisation du mot de passe démarre, mais vous n'allez pas réinitialiser le mot de passe. Au lieu de cela, cliquez sur l'icône du disque dur de votre Mac en haut. Dans la liste déroulante en dessous, sélectionnez le compte d'utilisateur où vous rencontrez des problèmes.
  5. Au bas de la fenêtre, vous verrez une zone intitulée Réinitialiser les autorisations du répertoire personnel et les ACL. Cliquez ici sur le bouton Réinitialiser.

Il semble que cette fonctionnalité ait résolu le même problème pour Dwight Silverman . Je suppose que ça vaut la peine d'essayer.

Apparemment, la réparation des autorisations avec l'Utilitaire de disque, comme d'habitude, ne répare pas les autorisations de fichiers des utilisateurs.

Thecafremo
la source
Je l'ai essayé, même si les autorisations et les propriétaires des fichiers étaient tout à fait normaux. J'accepterai cette réponse si je ne rencontre pas ces dialogues dans une semaine environ.
Lri
TextEdit a montré à nouveau l'erreur maintenant (avec la même sortie de console). Je suppose donc que la réinitialisation des autorisations n'a pas aidé ...
Lri
Travaillez-vous avec un fichier qui ne se trouve pas sur votre machine locale? Un fichier dans iDisk ou un dossier partagé, peut-être?
Thecafremo
Non. Les journaux affichent simplement les chemins locaux sous forme d' file://localhostURL pour une raison quelconque.
Lri
1
  1. Sélectionnez tout le texte du document dans le presse-papiers ( Command+A
  2. Quittez et choisissez d'annuler les modifications apportées au document.
  3. Rouvrez le document.
  4. Sélectionnez tout ce qui est dans le document (maintenant une ancienne copie).
  5. Collez le matériau précédemment copié.
  6. Enregistrez maintenant le nouveau document complet.
decklan
la source
0

Copiez le contenu et collez-le dans un autre document du même type.

Dans Keynote, sélectionnez toutes les diapositives en mode Navigateur et faites-les glisser dans le même volet d'un nouveau document.

user200384
la source