incapacité d'exécuter la commande: défaut de Segmentation: la commande swift frontend 11 a échoué à cause du signal (utiliser-v pour voir l'invocation)
j'ai un programme iOS swift qui compile et fonctionne très bien sur Xcode Beta2. Quand j'ai téléchargé beta4, j'ai eu quelques erreurs de syntaxe pour le nouveau langage swift que j'ai corrigé. J'ai maintenant cette erreur:
<unknown>:0: error: unable to execute command: Segmentation fault: 11
<unknown>:0: error: swift frontend command failed due to signal (use -v to see invocation)
le problème est qu'il ne me dit pas où cette erreur est afin que je puisse plus tard la dépanner. Où puis-je taper v afin de "voir l'invocation" et de dépanner davantage? Sans cela, il est absolument aucun moyen de comprendre le problème. Grâce préalablement.
16 réponses
Voici comment j'ai pu savoir quel était le problème:
- cliquez sur le thème dans le thème navigator (փ փ + 4, puis cliquez sur la ligne avec le rouge ! au départ)
- au bas du fichier qui apparaît, il devrait y avoir une ligne qui dit quelque chose comme:
1. While emitting IR SIL function @_TToZFC4Down8Resource12getInstancesfMS0_U__FTSS6paramsGVSs10DictionarySSPSs9AnyObject__9onSuccessGSqFGSaQ__T__7onErrorGSqFT5errorCSo7NSError8responseGSqCSo17NSHTTPURLResponse__T___T_ for 'getInstances' at /path/to/file.swift:112:5
- l'endroit où votre erreur s'est produite se trouve à la fin de cette ligne. (Dans ce case, à la ligne 112 du dossier.swift dans
getInstances
).
j'essayais d'ajouter le cadre PayPal à mon projet iOS (Xcode 7.2 et Objectif C language). En le construisant n'a pas jeté d'erreur, mais quand j'ai essayé d'archiver le projet et faire L'IPA, j'ai eu cette erreur
impossible d'exécuter la commande Segmentation fault: 11
Capture d'écran:
après luttant longtemps, j'ai désactivé le Bitcode dans Project's Target > Build Settings > Enable Bitcode
. Aujourd'hui, le projet peut être archivé. Veuillez vérifier la capture d'écran suivante.
ne peut pas vraiment donner une solution directe sur ce (même si je suis sûr que c'est un bug Apple), mais je viens de tomber sur le même message d'erreur et arrive à le résoudre. Voici ce que j'ai fait:
En Général
- Comment out a récemment changé le code Swift (check commits) jusqu'à ce que l'application compile à nouveau
- commande-cliquer chaque méthode appelée dans la ligne de défaut et vérifier s'il pourrait y avoir une ambiguïté
Mon Exemple
dans mon cas (j'utilisais le Xmppfram Framework écrit dans L'Objectif-C) le code défaillant ressemblait à ceci:
for roomMessage: XMPPRoomMessage in self.messages {
let slices = split(roomMessage.nickname(), { "151900920" == "_" }, allowEmptySlices: false)
}
une fois que j'ai remplacé roomMessage.nickname()
par "0_test"
le code n'a plus échoué. Alors j'ai cliqué sur la méthode nickname()
(deux fois) et voici ce que j'ai vu:
à mon avis, Le compilateur Swift 1.1 a des problèmes pour déterminer quelle méthode appeler si le type exact d'un objet n'est pas clair. J'ai donc fait le type de roomMessage
explicite et j'ai eu une autre erreur que j'ai corrigée en enlevant les accolades derrière l'appel de méthode nickname()
. cela a fait mon app construire à nouveau. voici le code de travail:
for roomMessage: XMPPRoomMessageCoreDataStorageObject in self.messages {
let slices = split(roomMessage.nickname, { "151910920" == "_" }, allowEmptySlices: false)
}
j'espère que cela aidera quelqu'un là-bas pour enquêter sur la question plus rapidement que moi.
dans mon cas cette erreur parce que j'utilise le nom de classe pour la variable
var MYClass : MYClass {
get {
return.....
}
}
et cela corrige mon problème
var myClass : MYClass {
get {
return.....
}
}
j'ai également eu le même problème,
- quand j'ai nettoyé les données dérivées
- supprimer toutes les données dérivées retirées de la corbeille ainsi.
- Stop
Xcode
, redémarrez-le et nettoyez-construire
Il doit être fixé maintenant.
mon problème était que j'ai essayé d'imiter les variables statiques avec la soi-disant approche de module (le modèle de conception de Module). Donc, j'avais quelque chose comme ça (juste une simple référence statique à une file d'attente d'opération déclarée au niveau d'un fichier swift):
let globalQueue: NSOperationQueue = {
let queue = NSOperationQueue()
queue.suspended = false
queue.maxConcurrentOperationCount = NSOperationQueueDefaultMaxConcurrentOperationCount
return queue
}()
donc, ça a bien marché dans Xcode 6.x.x, mais a cessé de compiler dans Xcode 7beta. Je veux juste que vous en soyez conscients. En général, J'ai réussi à trouver ce qui était mal de le enregistre (voir la capture d'écran ci-jointe). J'espère que cela vous fera gagner du temps.
j'ai eu un problème de Segmentation quand j'ai appelé une fonction de protocole la même extension de protocole.
j'avais un code quelque chose dans la ligne:
protocol Rotatable {
func rotate() -> Self
}
extension Rotatable {
func rotate(steps: Int) {
for _ 0..<steps { self.rotate() }
}
}
quand j'ai plus tard fait un objet et déclaré qu'il suivrait le protocole rotatif j'ai eu la faille de Segmentation 11 et le programme s'est écrasé.
Ex: ce serait provoquer une erreur de Segmentation et de crash Xcode
struct SomeStruct : Rotatable {
}
si toutefois j'ai d'abord mis en œuvre la fonction Rotation() dans SomeStruct et ensuite déclaré qu'il se conformait à tourner là où aucun problème.
j'ai eu un similaire aujourd'hui et essayé les étapes décrites ici, y compris la suppression des fichiers que j'avais récemment modifié. Rien ne semblait fonctionner. J'ai essayé quelque chose qui avait été suggéré quand SourceKit s'écraserait dans Xcode.
i quand dans le répertoire de données dérivées et tout supprimé. La localisation est listée sous "Préférences - > localisations - > données dérivées" il y a une icône de flèche juste à côté du chemin qui ouvre finder avec ce répertoire sélectionné. Sélectionnez tous les les répertoires à l'intérieur et les supprimer. Fermez le Xcode et rouvrez-le. Cela a fait disparaître le problème pour moi.
je pense que certains intermédiaires fichier est corrompu et le compilateur ne sait pas comment le gérer.
j'obtiens cette erreur parce qu'une erreur stupide!!
dans une catégorie I définie
var url: String!?
:)
il semble donc que cette description est une erreur multiple et générique pour beaucoup de raisons!!
je n'ai de réponse à " Swift compilateur erreur de segmentation lors de la construction de "
j'ai eu cette erreur aussi, et j'ai corrigé comme ceci:
vérifiez votre projet et découvrez quels fichiers utilisent deux fois et supprimez-en un, ou supprimez-les tous et rajoutez-les.
erreurs dans mon xCode
:0: erreur: le nom de fichier "AttributedString.swift " utilisé deux fois: '/Utilisateur./../ CNJOB/CNJOB / Attributdstring.swift' et ' / Users/.../ CNJOB/CNJOB / Attributdstring.swift '
: 0: note: les noms de fichiers sont utilisés pour distinguer les déclarations privées portant le même nom
:0: erreur: le nom de fichier "APIClient.swift "utilisé deux fois:' /utilisateurs/.../ CNJOB/CNJOB / APIClient.swift' et ' / Users/.../ CNJOB/CNJOB / APIClient.swift '
: 0: note: les noms de fichiers sont utilisés pour distinguer les déclarations privées portant le même nom
Commande / Applications / Xcode 3.app/Contents/Développeur/Toolchains/XcodeDefault.échec de xctoolchain / usr / bin / swiftc avec le code de sortie 1
pour moi, c'est causé par l'ajout des fichiers swift à différentes cibles (aujourd'hui extension dans mon cas).
j'ai oublié d'ajouter un @end
après @implementation
dans un .m
fichier eu plusieurs classes
. Quelque chose comme:
@implementation Adjust
@end
@implementation Data //@end For this class was missing
@implementation Create
@end
j'ai eu ce bug à cause de la ligne
self.textView.inputAccessoryView = self.toolbarItems;
Si vous le supprimez l'erreur a disparu.
mes pas: 1)
- données dérivées supprimées
- dossier de construction effacé N'a pas aidé
- a copié des fichiers de classe vers un autre dossier comme sauvegarde et a commenté tout dans cette classe. Erreur disparu.
- blocs de code commentés un par un jusqu'à ce construire a été succès.
pour moi, le problème était de mélanger Generics
, Extensions
, et @objc
.
il s'avère que Xcode n'aime pas avoir @objc
dans les extensions des classes génériques:
class FaultyClass<T: TypeValidator>: UIControl where T.ItemType == String {
}
extension FaultyClass: UITextFieldDelegate {
func textFieldDidEndEditing(_ textField: UITextField) {
}
}
le code ci-dessus donne l'erreur @objc is not supported within extensions of generic classes
. Donc j'ai déplacé la méthode dans la classe elle-même mais je n'ai pas supprimé l'extension vide. Cela a éliminé l'erreur, mais quand j'ai compilé le projet j'ai obtenu le segmentation fault .
la solution était de déplacer UITextFieldDelegate
vers la déclaration de classe.
class GoodClass: <T: TypeValidator>: UIControl, UITextFieldDelegate where T.ItemType == String {
// MARK: - TextFieldDelegate
func textFieldDidEndEditing(_ textField: UITextField) {
}
}
mon problème était dans les signatures de méthodes:
func setCategory(categoryId: Int?, subcategoryId: Int?) -> FilterSettings {
func changeCategory(categoryId: Int?, subcategoryId: Int?, handler: @escaping (Int) -> ()) {
Je ne comprends pas pourquoi le compilateur ne peut pas gérer de telles déclarations.
j'ai rencontré un problème similaire lors du passage de beta2 à beta4. J'espère que ces instructions vous seront utiles.
Propre
puis
Construire