Gros problème.
Je reprends un peu de programmation avec un MBP 2017, MacOS Mojave et Xcode 10.1.
La compilation passe bien, mais à l'exécution j'obtiens sans arrêt des erreurs EXEC_BAD_ACCESS ... qui apparaissent n'importe ou dans le code et change de ligne régulièrement ! Grrrrrrrrr !
Je change de projet et le phénomène persiste. Le debugger me donne par exemple:
objc[864]: Class FIFinderSyncExtensionHost is implemented in both /System/Library/PrivateFrameworks/FinderKit.framework/Versions/A/FinderKit (0x7fff9f0251d0) and /System/Library/PrivateFrameworks/FileProvider.framework/OverrideBundles/FinderSyncCollaborationFileProviderOverride.bundle/Contents/MacOS/FinderSyncCollaborationFileProviderOverride (0x10a51adc8). One of the two will be used. Which one is undefined.
J'ai réinstallé Xcode, ça ne change rien !! A part tout réinstallé (Mojave+Appli+données) et vérifier la machine (avec quel appli?) je ne vois pas quoi faire !
Qui à une idée ou un (bon) conseil ?
Réponses
As tu toujours le problème ? L'erreur affiché n'en ai pas réellement une, un warning système mais. Le problème doit, j'imagine, venir du code. Il faut arrivé à isolé le soucis. Voir ou cela plante exactement, vérifier la pile d'appel et voir les params passés aux/à la fonction(s)...
(réponse avec un peut de retard)
https://stackoverflow.com/questions/46999695/class-fifindersyncextensionhost-is-implemented-in-both-warning-in-xcode-si
En bref, vu qu'on voit "PrivateFrameworks", Apple a implémenter (ou linker deux fois)
FIFinderSyncExtensionHost
dansFinderKit
&FileProvider
. Si ce sont réellement deux fois les mêmes, pas de soucis.J'ai toujours le soucis. J'ai remis à plus tard car je travaille sur une projet comportant 1 PIC16F886 et 2 PIC16F884 et je suis tombé sur un BUS I2C que je ne connaissais pas.
je peux décrire mon soucis comme cela: J'ai aléatoirement des EXEC_BAD_ACCESS ainsi que des sorties intempestives du programme qui se déplacent sur n'importe quel ligne du code sous debugger. Les deux, avec avec ou sans warning et parfois totalement silencieusement !!!! ça s'arrête et il ne se passe plus rien, si je relance l'exécution reprend et s'arrête Ailleurs dans le code ! AH oui, j'ai eu 2 ou 3 plantage de Xcode
Question subsidiare:
Je réinstallerais bien un Mojave totalement clean mais je n'ai pas de partition de récupération. Est-ce normal ?
À mon avis tu appelle ou fais référence à un objet dé-initialisé quelque part dans ton code. Un IBOutlet qui est weak sur un contrôleur (Xcode aime bien faire ça) ou autre. Ça va effectivement planter à différents endroits.
J'y ai pensé que ce pouvait être mon code qui m...de ! dès que j'ai un moment je reprendrai ça !
Est-ce que tu as essayé d'ajouter un breakpoint exception ?
et non, je vais essayer. J'ai modifié mon code et j'ai ajouté ARC en supprimant les realize(s) j'ai toujours des problèmes mais un peu différents avec des arrêts dans le code en assembleur avec l'information SIG.... et si je clic "continue" l'exécution continue et les résultats sont bons !!!
TERMINÉ !! C'est une assez mauvaise idée de modifier un projet de plus de 10 ans !! ça marche et à mon avis Pyroh avait raison, c'était un problème de retain/realize. En passant à ARC ça m'a permis de trouver qu'en plus j'avais une erreur dans le code.
Merci à vous
Il n'est jamais trop tard pour adopter la gestion mémoire automatisé ..
J'ai encore un peu de temps, je n'ai que 75 ans !